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/userguide/access-points.html) 69// in the Amazon Simple Storage Service User Guide. 70// 71// S3 on Outposts only supports VPC-style Access Points. 72// 73// For more information, see Accessing Amazon S3 on Outposts using virtual private 74// cloud (VPC) only Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) 75// in the Amazon Simple Storage Service User Guide. 76// 77// All Amazon S3 on Outposts REST API requests for this action require an additional 78// parameter of x-amz-outpost-id to be passed with the request and an S3 on 79// Outposts endpoint hostname prefix instead of s3-control. For an example of 80// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 81// endpoint hostname prefix and the x-amz-outpost-id derived using the access 82// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPoint.html#API_control_CreateAccessPoint_Examples) 83// section. 84// 85// The following actions are related to CreateAccessPoint: 86// 87// * GetAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html) 88// 89// * DeleteAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPoint.html) 90// 91// * ListAccessPoints (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessPoints.html) 92// 93// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 94// with awserr.Error's Code and Message methods to get detailed information about 95// the error. 96// 97// See the AWS API reference guide for AWS S3 Control's 98// API operation CreateAccessPoint for usage and error information. 99// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateAccessPoint 100func (c *S3Control) CreateAccessPoint(input *CreateAccessPointInput) (*CreateAccessPointOutput, error) { 101 req, out := c.CreateAccessPointRequest(input) 102 return out, req.Send() 103} 104 105// CreateAccessPointWithContext is the same as CreateAccessPoint with the addition of 106// the ability to pass a context and additional request options. 107// 108// See CreateAccessPoint for details on how to use this API operation. 109// 110// The context must be non-nil and will be used for request cancellation. If 111// the context is nil a panic will occur. In the future the SDK may create 112// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 113// for more information on using Contexts. 114func (c *S3Control) CreateAccessPointWithContext(ctx aws.Context, input *CreateAccessPointInput, opts ...request.Option) (*CreateAccessPointOutput, error) { 115 req, out := c.CreateAccessPointRequest(input) 116 req.SetContext(ctx) 117 req.ApplyOptions(opts...) 118 return out, req.Send() 119} 120 121const opCreateAccessPointForObjectLambda = "CreateAccessPointForObjectLambda" 122 123// CreateAccessPointForObjectLambdaRequest generates a "aws/request.Request" representing the 124// client's request for the CreateAccessPointForObjectLambda operation. The "output" return 125// value will be populated with the request's response once the request completes 126// successfully. 127// 128// Use "Send" method on the returned Request to send the API call to the service. 129// the "output" return value is not valid until after Send returns without error. 130// 131// See CreateAccessPointForObjectLambda for more information on using the CreateAccessPointForObjectLambda 132// API call, and error handling. 133// 134// This method is useful when you want to inject custom logic or configuration 135// into the SDK's request lifecycle. Such as custom headers, or retry logic. 136// 137// 138// // Example sending a request using the CreateAccessPointForObjectLambdaRequest method. 139// req, resp := client.CreateAccessPointForObjectLambdaRequest(params) 140// 141// err := req.Send() 142// if err == nil { // resp is now filled 143// fmt.Println(resp) 144// } 145// 146// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateAccessPointForObjectLambda 147func (c *S3Control) CreateAccessPointForObjectLambdaRequest(input *CreateAccessPointForObjectLambdaInput) (req *request.Request, output *CreateAccessPointForObjectLambdaOutput) { 148 op := &request.Operation{ 149 Name: opCreateAccessPointForObjectLambda, 150 HTTPMethod: "PUT", 151 HTTPPath: "/v20180820/accesspointforobjectlambda/{name}", 152 } 153 154 if input == nil { 155 input = &CreateAccessPointForObjectLambdaInput{} 156 } 157 158 output = &CreateAccessPointForObjectLambdaOutput{} 159 req = c.newRequest(op, input, output) 160 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 161 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 162 return 163} 164 165// CreateAccessPointForObjectLambda API operation for AWS S3 Control. 166// 167// Creates an Object Lambda Access Point. For more information, see Transforming 168// objects with Object Lambda Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/transforming-objects.html) 169// in the Amazon Simple Storage Service User Guide. 170// 171// The following actions are related to CreateAccessPointForObjectLambda: 172// 173// * DeleteAccessPointForObjectLambda (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointForObjectLambda.html) 174// 175// * GetAccessPointForObjectLambda (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointForObjectLambda.html) 176// 177// * ListAccessPointsForObjectLambda (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessPointsForObjectLambda.html) 178// 179// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 180// with awserr.Error's Code and Message methods to get detailed information about 181// the error. 182// 183// See the AWS API reference guide for AWS S3 Control's 184// API operation CreateAccessPointForObjectLambda for usage and error information. 185// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateAccessPointForObjectLambda 186func (c *S3Control) CreateAccessPointForObjectLambda(input *CreateAccessPointForObjectLambdaInput) (*CreateAccessPointForObjectLambdaOutput, error) { 187 req, out := c.CreateAccessPointForObjectLambdaRequest(input) 188 return out, req.Send() 189} 190 191// CreateAccessPointForObjectLambdaWithContext is the same as CreateAccessPointForObjectLambda with the addition of 192// the ability to pass a context and additional request options. 193// 194// See CreateAccessPointForObjectLambda for details on how to use this API operation. 195// 196// The context must be non-nil and will be used for request cancellation. If 197// the context is nil a panic will occur. In the future the SDK may create 198// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 199// for more information on using Contexts. 200func (c *S3Control) CreateAccessPointForObjectLambdaWithContext(ctx aws.Context, input *CreateAccessPointForObjectLambdaInput, opts ...request.Option) (*CreateAccessPointForObjectLambdaOutput, error) { 201 req, out := c.CreateAccessPointForObjectLambdaRequest(input) 202 req.SetContext(ctx) 203 req.ApplyOptions(opts...) 204 return out, req.Send() 205} 206 207const opCreateBucket = "CreateBucket" 208 209// CreateBucketRequest generates a "aws/request.Request" representing the 210// client's request for the CreateBucket operation. The "output" return 211// value will be populated with the request's response once the request completes 212// successfully. 213// 214// Use "Send" method on the returned Request to send the API call to the service. 215// the "output" return value is not valid until after Send returns without error. 216// 217// See CreateBucket for more information on using the CreateBucket 218// API call, and error handling. 219// 220// This method is useful when you want to inject custom logic or configuration 221// into the SDK's request lifecycle. Such as custom headers, or retry logic. 222// 223// 224// // Example sending a request using the CreateBucketRequest method. 225// req, resp := client.CreateBucketRequest(params) 226// 227// err := req.Send() 228// if err == nil { // resp is now filled 229// fmt.Println(resp) 230// } 231// 232// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateBucket 233func (c *S3Control) CreateBucketRequest(input *CreateBucketInput) (req *request.Request, output *CreateBucketOutput) { 234 op := &request.Operation{ 235 Name: opCreateBucket, 236 HTTPMethod: "PUT", 237 HTTPPath: "/v20180820/bucket/{name}", 238 } 239 240 if input == nil { 241 input = &CreateBucketInput{} 242 } 243 244 output = &CreateBucketOutput{} 245 req = c.newRequest(op, input, output) 246 req.Handlers.Build.PushBackNamed(request.NamedHandler{ 247 Name: "contentMd5Handler", 248 Fn: checksum.AddBodyContentMD5Handler, 249 }) 250 return 251} 252 253// CreateBucket API operation for AWS S3 Control. 254// 255// 256// This action creates an Amazon S3 on Outposts bucket. To create an S3 bucket, 257// see Create Bucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) 258// in the Amazon Simple Storage Service API. 259// 260// Creates a new Outposts bucket. By creating the bucket, you become the bucket 261// owner. To create an Outposts bucket, you must have S3 on Outposts. For more 262// information, see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) 263// in Amazon Simple Storage Service User Guide. 264// 265// Not every string is an acceptable bucket name. For information on bucket 266// naming restrictions, see Working with Amazon S3 Buckets (https://docs.aws.amazon.com/AmazonS3/latest/userguide/BucketRestrictions.html#bucketnamingrules). 267// 268// S3 on Outposts buckets support: 269// 270// * Tags 271// 272// * LifecycleConfigurations for deleting expired objects 273// 274// For a complete list of restrictions and Amazon S3 feature limitations on 275// S3 on Outposts, see Amazon S3 on Outposts Restrictions and Limitations (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3OnOutpostsRestrictionsLimitations.html). 276// 277// For an example of the request syntax for Amazon S3 on Outposts that uses 278// the S3 on Outposts endpoint hostname prefix and x-amz-outpost-id in your 279// API request, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html#API_control_CreateBucket_Examples) 280// section. 281// 282// The following actions are related to CreateBucket for Amazon S3 on Outposts: 283// 284// * PutObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) 285// 286// * GetBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucket.html) 287// 288// * DeleteBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucket.html) 289// 290// * CreateAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPoint.html) 291// 292// * PutAccessPointPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessPointPolicy.html) 293// 294// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 295// with awserr.Error's Code and Message methods to get detailed information about 296// the error. 297// 298// See the AWS API reference guide for AWS S3 Control's 299// API operation CreateBucket for usage and error information. 300// 301// Returned Error Codes: 302// * ErrCodeBucketAlreadyExists "BucketAlreadyExists" 303// The requested Outposts bucket name is not available. The bucket namespace 304// is shared by all users of the AWS Outposts in this Region. Select a different 305// name and try again. 306// 307// * ErrCodeBucketAlreadyOwnedByYou "BucketAlreadyOwnedByYou" 308// The Outposts bucket you tried to create already exists, and you own it. 309// 310// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateBucket 311func (c *S3Control) CreateBucket(input *CreateBucketInput) (*CreateBucketOutput, error) { 312 req, out := c.CreateBucketRequest(input) 313 return out, req.Send() 314} 315 316// CreateBucketWithContext is the same as CreateBucket with the addition of 317// the ability to pass a context and additional request options. 318// 319// See CreateBucket for details on how to use this API operation. 320// 321// The context must be non-nil and will be used for request cancellation. If 322// the context is nil a panic will occur. In the future the SDK may create 323// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 324// for more information on using Contexts. 325func (c *S3Control) CreateBucketWithContext(ctx aws.Context, input *CreateBucketInput, opts ...request.Option) (*CreateBucketOutput, error) { 326 req, out := c.CreateBucketRequest(input) 327 req.SetContext(ctx) 328 req.ApplyOptions(opts...) 329 return out, req.Send() 330} 331 332const opCreateJob = "CreateJob" 333 334// CreateJobRequest generates a "aws/request.Request" representing the 335// client's request for the CreateJob operation. The "output" return 336// value will be populated with the request's response once the request completes 337// successfully. 338// 339// Use "Send" method on the returned Request to send the API call to the service. 340// the "output" return value is not valid until after Send returns without error. 341// 342// See CreateJob for more information on using the CreateJob 343// API call, and error handling. 344// 345// This method is useful when you want to inject custom logic or configuration 346// into the SDK's request lifecycle. Such as custom headers, or retry logic. 347// 348// 349// // Example sending a request using the CreateJobRequest method. 350// req, resp := client.CreateJobRequest(params) 351// 352// err := req.Send() 353// if err == nil { // resp is now filled 354// fmt.Println(resp) 355// } 356// 357// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateJob 358func (c *S3Control) CreateJobRequest(input *CreateJobInput) (req *request.Request, output *CreateJobOutput) { 359 op := &request.Operation{ 360 Name: opCreateJob, 361 HTTPMethod: "POST", 362 HTTPPath: "/v20180820/jobs", 363 } 364 365 if input == nil { 366 input = &CreateJobInput{} 367 } 368 369 output = &CreateJobOutput{} 370 req = c.newRequest(op, input, output) 371 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 372 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 373 return 374} 375 376// CreateJob API operation for AWS S3 Control. 377// 378// You can use S3 Batch Operations to perform large-scale batch actions on Amazon 379// S3 objects. Batch Operations can run a single action on lists of Amazon S3 380// objects that you specify. For more information, see S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html) 381// in the Amazon Simple Storage Service User Guide. 382// 383// This action creates a S3 Batch Operations job. 384// 385// Related actions include: 386// 387// * DescribeJob (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeJob.html) 388// 389// * ListJobs (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListJobs.html) 390// 391// * UpdateJobPriority (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobPriority.html) 392// 393// * UpdateJobStatus (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobStatus.html) 394// 395// * JobOperation (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_JobOperation.html) 396// 397// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 398// with awserr.Error's Code and Message methods to get detailed information about 399// the error. 400// 401// See the AWS API reference guide for AWS S3 Control's 402// API operation CreateJob for usage and error information. 403// 404// Returned Error Codes: 405// * ErrCodeTooManyRequestsException "TooManyRequestsException" 406// 407// * ErrCodeBadRequestException "BadRequestException" 408// 409// * ErrCodeIdempotencyException "IdempotencyException" 410// 411// * ErrCodeInternalServiceException "InternalServiceException" 412// 413// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateJob 414func (c *S3Control) CreateJob(input *CreateJobInput) (*CreateJobOutput, error) { 415 req, out := c.CreateJobRequest(input) 416 return out, req.Send() 417} 418 419// CreateJobWithContext is the same as CreateJob with the addition of 420// the ability to pass a context and additional request options. 421// 422// See CreateJob for details on how to use this API operation. 423// 424// The context must be non-nil and will be used for request cancellation. If 425// the context is nil a panic will occur. In the future the SDK may create 426// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 427// for more information on using Contexts. 428func (c *S3Control) CreateJobWithContext(ctx aws.Context, input *CreateJobInput, opts ...request.Option) (*CreateJobOutput, error) { 429 req, out := c.CreateJobRequest(input) 430 req.SetContext(ctx) 431 req.ApplyOptions(opts...) 432 return out, req.Send() 433} 434 435const opDeleteAccessPoint = "DeleteAccessPoint" 436 437// DeleteAccessPointRequest generates a "aws/request.Request" representing the 438// client's request for the DeleteAccessPoint operation. The "output" return 439// value will be populated with the request's response once the request completes 440// successfully. 441// 442// Use "Send" method on the returned Request to send the API call to the service. 443// the "output" return value is not valid until after Send returns without error. 444// 445// See DeleteAccessPoint for more information on using the DeleteAccessPoint 446// API call, and error handling. 447// 448// This method is useful when you want to inject custom logic or configuration 449// into the SDK's request lifecycle. Such as custom headers, or retry logic. 450// 451// 452// // Example sending a request using the DeleteAccessPointRequest method. 453// req, resp := client.DeleteAccessPointRequest(params) 454// 455// err := req.Send() 456// if err == nil { // resp is now filled 457// fmt.Println(resp) 458// } 459// 460// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessPoint 461func (c *S3Control) DeleteAccessPointRequest(input *DeleteAccessPointInput) (req *request.Request, output *DeleteAccessPointOutput) { 462 op := &request.Operation{ 463 Name: opDeleteAccessPoint, 464 HTTPMethod: "DELETE", 465 HTTPPath: "/v20180820/accesspoint/{name}", 466 } 467 468 if input == nil { 469 input = &DeleteAccessPointInput{} 470 } 471 472 output = &DeleteAccessPointOutput{} 473 req = c.newRequest(op, input, output) 474 // update account id or check if provided input for account id member matches 475 // the account id present in ARN 476 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 477 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 478 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 479 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 480 return 481} 482 483// DeleteAccessPoint API operation for AWS S3 Control. 484// 485// Deletes the specified access point. 486// 487// All Amazon S3 on Outposts REST API requests for this action require an additional 488// parameter of x-amz-outpost-id to be passed with the request and an S3 on 489// Outposts endpoint hostname prefix instead of s3-control. For an example of 490// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 491// endpoint hostname prefix and the x-amz-outpost-id derived using the access 492// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPoint.html#API_control_DeleteAccessPoint_Examples) 493// section. 494// 495// The following actions are related to DeleteAccessPoint: 496// 497// * CreateAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPoint.html) 498// 499// * GetAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html) 500// 501// * ListAccessPoints (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessPoints.html) 502// 503// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 504// with awserr.Error's Code and Message methods to get detailed information about 505// the error. 506// 507// See the AWS API reference guide for AWS S3 Control's 508// API operation DeleteAccessPoint for usage and error information. 509// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessPoint 510func (c *S3Control) DeleteAccessPoint(input *DeleteAccessPointInput) (*DeleteAccessPointOutput, error) { 511 req, out := c.DeleteAccessPointRequest(input) 512 return out, req.Send() 513} 514 515// DeleteAccessPointWithContext is the same as DeleteAccessPoint with the addition of 516// the ability to pass a context and additional request options. 517// 518// See DeleteAccessPoint for details on how to use this API operation. 519// 520// The context must be non-nil and will be used for request cancellation. If 521// the context is nil a panic will occur. In the future the SDK may create 522// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 523// for more information on using Contexts. 524func (c *S3Control) DeleteAccessPointWithContext(ctx aws.Context, input *DeleteAccessPointInput, opts ...request.Option) (*DeleteAccessPointOutput, error) { 525 req, out := c.DeleteAccessPointRequest(input) 526 req.SetContext(ctx) 527 req.ApplyOptions(opts...) 528 return out, req.Send() 529} 530 531const opDeleteAccessPointForObjectLambda = "DeleteAccessPointForObjectLambda" 532 533// DeleteAccessPointForObjectLambdaRequest generates a "aws/request.Request" representing the 534// client's request for the DeleteAccessPointForObjectLambda operation. The "output" return 535// value will be populated with the request's response once the request completes 536// successfully. 537// 538// Use "Send" method on the returned Request to send the API call to the service. 539// the "output" return value is not valid until after Send returns without error. 540// 541// See DeleteAccessPointForObjectLambda for more information on using the DeleteAccessPointForObjectLambda 542// API call, and error handling. 543// 544// This method is useful when you want to inject custom logic or configuration 545// into the SDK's request lifecycle. Such as custom headers, or retry logic. 546// 547// 548// // Example sending a request using the DeleteAccessPointForObjectLambdaRequest method. 549// req, resp := client.DeleteAccessPointForObjectLambdaRequest(params) 550// 551// err := req.Send() 552// if err == nil { // resp is now filled 553// fmt.Println(resp) 554// } 555// 556// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessPointForObjectLambda 557func (c *S3Control) DeleteAccessPointForObjectLambdaRequest(input *DeleteAccessPointForObjectLambdaInput) (req *request.Request, output *DeleteAccessPointForObjectLambdaOutput) { 558 op := &request.Operation{ 559 Name: opDeleteAccessPointForObjectLambda, 560 HTTPMethod: "DELETE", 561 HTTPPath: "/v20180820/accesspointforobjectlambda/{name}", 562 } 563 564 if input == nil { 565 input = &DeleteAccessPointForObjectLambdaInput{} 566 } 567 568 output = &DeleteAccessPointForObjectLambdaOutput{} 569 req = c.newRequest(op, input, output) 570 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 571 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 572 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 573 return 574} 575 576// DeleteAccessPointForObjectLambda API operation for AWS S3 Control. 577// 578// Deletes the specified Object Lambda Access Point. 579// 580// The following actions are related to DeleteAccessPointForObjectLambda: 581// 582// * CreateAccessPointForObjectLambda (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPointForObjectLambda.html) 583// 584// * GetAccessPointForObjectLambda (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointForObjectLambda.html) 585// 586// * ListAccessPointsForObjectLambda (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessPointsForObjectLambda.html) 587// 588// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 589// with awserr.Error's Code and Message methods to get detailed information about 590// the error. 591// 592// See the AWS API reference guide for AWS S3 Control's 593// API operation DeleteAccessPointForObjectLambda for usage and error information. 594// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessPointForObjectLambda 595func (c *S3Control) DeleteAccessPointForObjectLambda(input *DeleteAccessPointForObjectLambdaInput) (*DeleteAccessPointForObjectLambdaOutput, error) { 596 req, out := c.DeleteAccessPointForObjectLambdaRequest(input) 597 return out, req.Send() 598} 599 600// DeleteAccessPointForObjectLambdaWithContext is the same as DeleteAccessPointForObjectLambda with the addition of 601// the ability to pass a context and additional request options. 602// 603// See DeleteAccessPointForObjectLambda for details on how to use this API operation. 604// 605// The context must be non-nil and will be used for request cancellation. If 606// the context is nil a panic will occur. In the future the SDK may create 607// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 608// for more information on using Contexts. 609func (c *S3Control) DeleteAccessPointForObjectLambdaWithContext(ctx aws.Context, input *DeleteAccessPointForObjectLambdaInput, opts ...request.Option) (*DeleteAccessPointForObjectLambdaOutput, error) { 610 req, out := c.DeleteAccessPointForObjectLambdaRequest(input) 611 req.SetContext(ctx) 612 req.ApplyOptions(opts...) 613 return out, req.Send() 614} 615 616const opDeleteAccessPointPolicy = "DeleteAccessPointPolicy" 617 618// DeleteAccessPointPolicyRequest generates a "aws/request.Request" representing the 619// client's request for the DeleteAccessPointPolicy operation. The "output" return 620// value will be populated with the request's response once the request completes 621// successfully. 622// 623// Use "Send" method on the returned Request to send the API call to the service. 624// the "output" return value is not valid until after Send returns without error. 625// 626// See DeleteAccessPointPolicy for more information on using the DeleteAccessPointPolicy 627// API call, and error handling. 628// 629// This method is useful when you want to inject custom logic or configuration 630// into the SDK's request lifecycle. Such as custom headers, or retry logic. 631// 632// 633// // Example sending a request using the DeleteAccessPointPolicyRequest method. 634// req, resp := client.DeleteAccessPointPolicyRequest(params) 635// 636// err := req.Send() 637// if err == nil { // resp is now filled 638// fmt.Println(resp) 639// } 640// 641// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessPointPolicy 642func (c *S3Control) DeleteAccessPointPolicyRequest(input *DeleteAccessPointPolicyInput) (req *request.Request, output *DeleteAccessPointPolicyOutput) { 643 op := &request.Operation{ 644 Name: opDeleteAccessPointPolicy, 645 HTTPMethod: "DELETE", 646 HTTPPath: "/v20180820/accesspoint/{name}/policy", 647 } 648 649 if input == nil { 650 input = &DeleteAccessPointPolicyInput{} 651 } 652 653 output = &DeleteAccessPointPolicyOutput{} 654 req = c.newRequest(op, input, output) 655 // update account id or check if provided input for account id member matches 656 // the account id present in ARN 657 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 658 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 659 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 660 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 661 return 662} 663 664// DeleteAccessPointPolicy API operation for AWS S3 Control. 665// 666// Deletes the access point policy for the specified access point. 667// 668// All Amazon S3 on Outposts REST API requests for this action require an additional 669// parameter of x-amz-outpost-id to be passed with the request and an S3 on 670// Outposts endpoint hostname prefix instead of s3-control. For an example of 671// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 672// endpoint hostname prefix and the x-amz-outpost-id derived using the access 673// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointPolicy.html#API_control_DeleteAccessPointPolicy_Examples) 674// section. 675// 676// The following actions are related to DeleteAccessPointPolicy: 677// 678// * PutAccessPointPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessPointPolicy.html) 679// 680// * GetAccessPointPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointPolicy.html) 681// 682// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 683// with awserr.Error's Code and Message methods to get detailed information about 684// the error. 685// 686// See the AWS API reference guide for AWS S3 Control's 687// API operation DeleteAccessPointPolicy for usage and error information. 688// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessPointPolicy 689func (c *S3Control) DeleteAccessPointPolicy(input *DeleteAccessPointPolicyInput) (*DeleteAccessPointPolicyOutput, error) { 690 req, out := c.DeleteAccessPointPolicyRequest(input) 691 return out, req.Send() 692} 693 694// DeleteAccessPointPolicyWithContext is the same as DeleteAccessPointPolicy with the addition of 695// the ability to pass a context and additional request options. 696// 697// See DeleteAccessPointPolicy for details on how to use this API operation. 698// 699// The context must be non-nil and will be used for request cancellation. If 700// the context is nil a panic will occur. In the future the SDK may create 701// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 702// for more information on using Contexts. 703func (c *S3Control) DeleteAccessPointPolicyWithContext(ctx aws.Context, input *DeleteAccessPointPolicyInput, opts ...request.Option) (*DeleteAccessPointPolicyOutput, error) { 704 req, out := c.DeleteAccessPointPolicyRequest(input) 705 req.SetContext(ctx) 706 req.ApplyOptions(opts...) 707 return out, req.Send() 708} 709 710const opDeleteAccessPointPolicyForObjectLambda = "DeleteAccessPointPolicyForObjectLambda" 711 712// DeleteAccessPointPolicyForObjectLambdaRequest generates a "aws/request.Request" representing the 713// client's request for the DeleteAccessPointPolicyForObjectLambda operation. The "output" return 714// value will be populated with the request's response once the request completes 715// successfully. 716// 717// Use "Send" method on the returned Request to send the API call to the service. 718// the "output" return value is not valid until after Send returns without error. 719// 720// See DeleteAccessPointPolicyForObjectLambda for more information on using the DeleteAccessPointPolicyForObjectLambda 721// API call, and error handling. 722// 723// This method is useful when you want to inject custom logic or configuration 724// into the SDK's request lifecycle. Such as custom headers, or retry logic. 725// 726// 727// // Example sending a request using the DeleteAccessPointPolicyForObjectLambdaRequest method. 728// req, resp := client.DeleteAccessPointPolicyForObjectLambdaRequest(params) 729// 730// err := req.Send() 731// if err == nil { // resp is now filled 732// fmt.Println(resp) 733// } 734// 735// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessPointPolicyForObjectLambda 736func (c *S3Control) DeleteAccessPointPolicyForObjectLambdaRequest(input *DeleteAccessPointPolicyForObjectLambdaInput) (req *request.Request, output *DeleteAccessPointPolicyForObjectLambdaOutput) { 737 op := &request.Operation{ 738 Name: opDeleteAccessPointPolicyForObjectLambda, 739 HTTPMethod: "DELETE", 740 HTTPPath: "/v20180820/accesspointforobjectlambda/{name}/policy", 741 } 742 743 if input == nil { 744 input = &DeleteAccessPointPolicyForObjectLambdaInput{} 745 } 746 747 output = &DeleteAccessPointPolicyForObjectLambdaOutput{} 748 req = c.newRequest(op, input, output) 749 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 750 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 751 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 752 return 753} 754 755// DeleteAccessPointPolicyForObjectLambda API operation for AWS S3 Control. 756// 757// Removes the resource policy for an Object Lambda Access Point. 758// 759// The following actions are related to DeleteAccessPointPolicyForObjectLambda: 760// 761// * GetAccessPointPolicyForObjectLambda (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointPolicyForObjectLambda.html) 762// 763// * PutAccessPointPolicyForObjectLambda (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessPointPolicyForObjectLambda.html) 764// 765// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 766// with awserr.Error's Code and Message methods to get detailed information about 767// the error. 768// 769// See the AWS API reference guide for AWS S3 Control's 770// API operation DeleteAccessPointPolicyForObjectLambda for usage and error information. 771// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessPointPolicyForObjectLambda 772func (c *S3Control) DeleteAccessPointPolicyForObjectLambda(input *DeleteAccessPointPolicyForObjectLambdaInput) (*DeleteAccessPointPolicyForObjectLambdaOutput, error) { 773 req, out := c.DeleteAccessPointPolicyForObjectLambdaRequest(input) 774 return out, req.Send() 775} 776 777// DeleteAccessPointPolicyForObjectLambdaWithContext is the same as DeleteAccessPointPolicyForObjectLambda with the addition of 778// the ability to pass a context and additional request options. 779// 780// See DeleteAccessPointPolicyForObjectLambda for details on how to use this API operation. 781// 782// The context must be non-nil and will be used for request cancellation. If 783// the context is nil a panic will occur. In the future the SDK may create 784// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 785// for more information on using Contexts. 786func (c *S3Control) DeleteAccessPointPolicyForObjectLambdaWithContext(ctx aws.Context, input *DeleteAccessPointPolicyForObjectLambdaInput, opts ...request.Option) (*DeleteAccessPointPolicyForObjectLambdaOutput, error) { 787 req, out := c.DeleteAccessPointPolicyForObjectLambdaRequest(input) 788 req.SetContext(ctx) 789 req.ApplyOptions(opts...) 790 return out, req.Send() 791} 792 793const opDeleteBucket = "DeleteBucket" 794 795// DeleteBucketRequest generates a "aws/request.Request" representing the 796// client's request for the DeleteBucket operation. The "output" return 797// value will be populated with the request's response once the request completes 798// successfully. 799// 800// Use "Send" method on the returned Request to send the API call to the service. 801// the "output" return value is not valid until after Send returns without error. 802// 803// See DeleteBucket for more information on using the DeleteBucket 804// API call, and error handling. 805// 806// This method is useful when you want to inject custom logic or configuration 807// into the SDK's request lifecycle. Such as custom headers, or retry logic. 808// 809// 810// // Example sending a request using the DeleteBucketRequest method. 811// req, resp := client.DeleteBucketRequest(params) 812// 813// err := req.Send() 814// if err == nil { // resp is now filled 815// fmt.Println(resp) 816// } 817// 818// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucket 819func (c *S3Control) DeleteBucketRequest(input *DeleteBucketInput) (req *request.Request, output *DeleteBucketOutput) { 820 op := &request.Operation{ 821 Name: opDeleteBucket, 822 HTTPMethod: "DELETE", 823 HTTPPath: "/v20180820/bucket/{name}", 824 } 825 826 if input == nil { 827 input = &DeleteBucketInput{} 828 } 829 830 output = &DeleteBucketOutput{} 831 req = c.newRequest(op, input, output) 832 // update account id or check if provided input for account id member matches 833 // the account id present in ARN 834 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 835 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 836 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 837 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 838 return 839} 840 841// DeleteBucket API operation for AWS S3 Control. 842// 843// 844// This action deletes an Amazon S3 on Outposts bucket. To delete an S3 bucket, 845// see DeleteBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html) 846// in the Amazon Simple Storage Service API. 847// 848// Deletes the Amazon S3 on Outposts bucket. All objects (including all object 849// versions and delete markers) in the bucket must be deleted before the bucket 850// itself can be deleted. For more information, see Using Amazon S3 on Outposts 851// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) 852// in Amazon Simple Storage Service User Guide. 853// 854// All Amazon S3 on Outposts REST API requests for this action require an additional 855// parameter of x-amz-outpost-id to be passed with the request and an S3 on 856// Outposts endpoint hostname prefix instead of s3-control. For an example of 857// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 858// endpoint hostname prefix and the x-amz-outpost-id derived using the access 859// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucket.html#API_control_DeleteBucket_Examples) 860// section. 861// 862// Related Resources 863// 864// * CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html) 865// 866// * GetBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucket.html) 867// 868// * DeleteObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html) 869// 870// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 871// with awserr.Error's Code and Message methods to get detailed information about 872// the error. 873// 874// See the AWS API reference guide for AWS S3 Control's 875// API operation DeleteBucket for usage and error information. 876// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucket 877func (c *S3Control) DeleteBucket(input *DeleteBucketInput) (*DeleteBucketOutput, error) { 878 req, out := c.DeleteBucketRequest(input) 879 return out, req.Send() 880} 881 882// DeleteBucketWithContext is the same as DeleteBucket with the addition of 883// the ability to pass a context and additional request options. 884// 885// See DeleteBucket for details on how to use this API operation. 886// 887// The context must be non-nil and will be used for request cancellation. If 888// the context is nil a panic will occur. In the future the SDK may create 889// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 890// for more information on using Contexts. 891func (c *S3Control) DeleteBucketWithContext(ctx aws.Context, input *DeleteBucketInput, opts ...request.Option) (*DeleteBucketOutput, error) { 892 req, out := c.DeleteBucketRequest(input) 893 req.SetContext(ctx) 894 req.ApplyOptions(opts...) 895 return out, req.Send() 896} 897 898const opDeleteBucketLifecycleConfiguration = "DeleteBucketLifecycleConfiguration" 899 900// DeleteBucketLifecycleConfigurationRequest generates a "aws/request.Request" representing the 901// client's request for the DeleteBucketLifecycleConfiguration operation. The "output" return 902// value will be populated with the request's response once the request completes 903// successfully. 904// 905// Use "Send" method on the returned Request to send the API call to the service. 906// the "output" return value is not valid until after Send returns without error. 907// 908// See DeleteBucketLifecycleConfiguration for more information on using the DeleteBucketLifecycleConfiguration 909// API call, and error handling. 910// 911// This method is useful when you want to inject custom logic or configuration 912// into the SDK's request lifecycle. Such as custom headers, or retry logic. 913// 914// 915// // Example sending a request using the DeleteBucketLifecycleConfigurationRequest method. 916// req, resp := client.DeleteBucketLifecycleConfigurationRequest(params) 917// 918// err := req.Send() 919// if err == nil { // resp is now filled 920// fmt.Println(resp) 921// } 922// 923// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketLifecycleConfiguration 924func (c *S3Control) DeleteBucketLifecycleConfigurationRequest(input *DeleteBucketLifecycleConfigurationInput) (req *request.Request, output *DeleteBucketLifecycleConfigurationOutput) { 925 op := &request.Operation{ 926 Name: opDeleteBucketLifecycleConfiguration, 927 HTTPMethod: "DELETE", 928 HTTPPath: "/v20180820/bucket/{name}/lifecycleconfiguration", 929 } 930 931 if input == nil { 932 input = &DeleteBucketLifecycleConfigurationInput{} 933 } 934 935 output = &DeleteBucketLifecycleConfigurationOutput{} 936 req = c.newRequest(op, input, output) 937 // update account id or check if provided input for account id member matches 938 // the account id present in ARN 939 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 940 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 941 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 942 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 943 return 944} 945 946// DeleteBucketLifecycleConfiguration API operation for AWS S3 Control. 947// 948// 949// This action deletes an Amazon S3 on Outposts bucket's lifecycle configuration. 950// To delete an S3 bucket's lifecycle configuration, see DeleteBucketLifecycle 951// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html) 952// in the Amazon Simple Storage Service API. 953// 954// Deletes the lifecycle configuration from the specified Outposts bucket. Amazon 955// S3 on Outposts removes all the lifecycle configuration rules in the lifecycle 956// subresource associated with the bucket. Your objects never expire, and Amazon 957// S3 on Outposts no longer automatically deletes any objects on the basis of 958// rules contained in the deleted lifecycle configuration. For more information, 959// see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) 960// in Amazon Simple Storage Service User Guide. 961// 962// To use this action, you must have permission to perform the s3-outposts:DeleteLifecycleConfiguration 963// action. By default, the bucket owner has this permission and the Outposts 964// bucket owner can grant this permission to others. 965// 966// All Amazon S3 on Outposts REST API requests for this action require an additional 967// parameter of x-amz-outpost-id to be passed with the request and an S3 on 968// Outposts endpoint hostname prefix instead of s3-control. For an example of 969// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 970// endpoint hostname prefix and the x-amz-outpost-id derived using the access 971// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketLifecycleConfiguration.html#API_control_DeleteBucketLifecycleConfiguration_Examples) 972// section. 973// 974// For more information about object expiration, see Elements to Describe Lifecycle 975// Actions (https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#intro-lifecycle-rules-actions). 976// 977// Related actions include: 978// 979// * PutBucketLifecycleConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketLifecycleConfiguration.html) 980// 981// * GetBucketLifecycleConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketLifecycleConfiguration.html) 982// 983// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 984// with awserr.Error's Code and Message methods to get detailed information about 985// the error. 986// 987// See the AWS API reference guide for AWS S3 Control's 988// API operation DeleteBucketLifecycleConfiguration for usage and error information. 989// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketLifecycleConfiguration 990func (c *S3Control) DeleteBucketLifecycleConfiguration(input *DeleteBucketLifecycleConfigurationInput) (*DeleteBucketLifecycleConfigurationOutput, error) { 991 req, out := c.DeleteBucketLifecycleConfigurationRequest(input) 992 return out, req.Send() 993} 994 995// DeleteBucketLifecycleConfigurationWithContext is the same as DeleteBucketLifecycleConfiguration with the addition of 996// the ability to pass a context and additional request options. 997// 998// See DeleteBucketLifecycleConfiguration for details on how to use this API operation. 999// 1000// The context must be non-nil and will be used for request cancellation. If 1001// the context is nil a panic will occur. In the future the SDK may create 1002// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1003// for more information on using Contexts. 1004func (c *S3Control) DeleteBucketLifecycleConfigurationWithContext(ctx aws.Context, input *DeleteBucketLifecycleConfigurationInput, opts ...request.Option) (*DeleteBucketLifecycleConfigurationOutput, error) { 1005 req, out := c.DeleteBucketLifecycleConfigurationRequest(input) 1006 req.SetContext(ctx) 1007 req.ApplyOptions(opts...) 1008 return out, req.Send() 1009} 1010 1011const opDeleteBucketPolicy = "DeleteBucketPolicy" 1012 1013// DeleteBucketPolicyRequest generates a "aws/request.Request" representing the 1014// client's request for the DeleteBucketPolicy operation. The "output" return 1015// value will be populated with the request's response once the request completes 1016// successfully. 1017// 1018// Use "Send" method on the returned Request to send the API call to the service. 1019// the "output" return value is not valid until after Send returns without error. 1020// 1021// See DeleteBucketPolicy for more information on using the DeleteBucketPolicy 1022// API call, and error handling. 1023// 1024// This method is useful when you want to inject custom logic or configuration 1025// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1026// 1027// 1028// // Example sending a request using the DeleteBucketPolicyRequest method. 1029// req, resp := client.DeleteBucketPolicyRequest(params) 1030// 1031// err := req.Send() 1032// if err == nil { // resp is now filled 1033// fmt.Println(resp) 1034// } 1035// 1036// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketPolicy 1037func (c *S3Control) DeleteBucketPolicyRequest(input *DeleteBucketPolicyInput) (req *request.Request, output *DeleteBucketPolicyOutput) { 1038 op := &request.Operation{ 1039 Name: opDeleteBucketPolicy, 1040 HTTPMethod: "DELETE", 1041 HTTPPath: "/v20180820/bucket/{name}/policy", 1042 } 1043 1044 if input == nil { 1045 input = &DeleteBucketPolicyInput{} 1046 } 1047 1048 output = &DeleteBucketPolicyOutput{} 1049 req = c.newRequest(op, input, output) 1050 // update account id or check if provided input for account id member matches 1051 // the account id present in ARN 1052 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 1053 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1054 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 1055 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 1056 return 1057} 1058 1059// DeleteBucketPolicy API operation for AWS S3 Control. 1060// 1061// 1062// This action deletes an Amazon S3 on Outposts bucket policy. To delete an 1063// S3 bucket policy, see DeleteBucketPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketPolicy.html) 1064// in the Amazon Simple Storage Service API. 1065// 1066// This implementation of the DELETE action uses the policy subresource to delete 1067// the policy of a specified Amazon S3 on Outposts bucket. If you are using 1068// an identity other than the root user of the AWS account that owns the bucket, 1069// the calling identity must have the s3-outposts:DeleteBucketPolicy permissions 1070// on the specified Outposts bucket and belong to the bucket owner's account 1071// to use this action. For more information, see Using Amazon S3 on Outposts 1072// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) 1073// in Amazon Simple Storage Service User Guide. 1074// 1075// If you don't have DeleteBucketPolicy permissions, Amazon S3 returns a 403 1076// Access Denied error. If you have the correct permissions, but you're not 1077// using an identity that belongs to the bucket owner's account, Amazon S3 returns 1078// a 405 Method Not Allowed error. 1079// 1080// As a security precaution, the root user of the AWS account that owns a bucket 1081// can always use this action, even if the policy explicitly denies the root 1082// user the ability to perform this action. 1083// 1084// For more information about bucket policies, see Using Bucket Policies and 1085// User Policies (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html). 1086// 1087// All Amazon S3 on Outposts REST API requests for this action require an additional 1088// parameter of x-amz-outpost-id to be passed with the request and an S3 on 1089// Outposts endpoint hostname prefix instead of s3-control. For an example of 1090// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 1091// endpoint hostname prefix and the x-amz-outpost-id derived using the access 1092// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketPolicy.html#API_control_DeleteBucketPolicy_Examples) 1093// section. 1094// 1095// The following actions are related to DeleteBucketPolicy: 1096// 1097// * GetBucketPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketPolicy.html) 1098// 1099// * PutBucketPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketPolicy.html) 1100// 1101// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1102// with awserr.Error's Code and Message methods to get detailed information about 1103// the error. 1104// 1105// See the AWS API reference guide for AWS S3 Control's 1106// API operation DeleteBucketPolicy for usage and error information. 1107// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketPolicy 1108func (c *S3Control) DeleteBucketPolicy(input *DeleteBucketPolicyInput) (*DeleteBucketPolicyOutput, error) { 1109 req, out := c.DeleteBucketPolicyRequest(input) 1110 return out, req.Send() 1111} 1112 1113// DeleteBucketPolicyWithContext is the same as DeleteBucketPolicy with the addition of 1114// the ability to pass a context and additional request options. 1115// 1116// See DeleteBucketPolicy for details on how to use this API operation. 1117// 1118// The context must be non-nil and will be used for request cancellation. If 1119// the context is nil a panic will occur. In the future the SDK may create 1120// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1121// for more information on using Contexts. 1122func (c *S3Control) DeleteBucketPolicyWithContext(ctx aws.Context, input *DeleteBucketPolicyInput, opts ...request.Option) (*DeleteBucketPolicyOutput, error) { 1123 req, out := c.DeleteBucketPolicyRequest(input) 1124 req.SetContext(ctx) 1125 req.ApplyOptions(opts...) 1126 return out, req.Send() 1127} 1128 1129const opDeleteBucketTagging = "DeleteBucketTagging" 1130 1131// DeleteBucketTaggingRequest generates a "aws/request.Request" representing the 1132// client's request for the DeleteBucketTagging operation. The "output" return 1133// value will be populated with the request's response once the request completes 1134// successfully. 1135// 1136// Use "Send" method on the returned Request to send the API call to the service. 1137// the "output" return value is not valid until after Send returns without error. 1138// 1139// See DeleteBucketTagging for more information on using the DeleteBucketTagging 1140// API call, and error handling. 1141// 1142// This method is useful when you want to inject custom logic or configuration 1143// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1144// 1145// 1146// // Example sending a request using the DeleteBucketTaggingRequest method. 1147// req, resp := client.DeleteBucketTaggingRequest(params) 1148// 1149// err := req.Send() 1150// if err == nil { // resp is now filled 1151// fmt.Println(resp) 1152// } 1153// 1154// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketTagging 1155func (c *S3Control) DeleteBucketTaggingRequest(input *DeleteBucketTaggingInput) (req *request.Request, output *DeleteBucketTaggingOutput) { 1156 op := &request.Operation{ 1157 Name: opDeleteBucketTagging, 1158 HTTPMethod: "DELETE", 1159 HTTPPath: "/v20180820/bucket/{name}/tagging", 1160 } 1161 1162 if input == nil { 1163 input = &DeleteBucketTaggingInput{} 1164 } 1165 1166 output = &DeleteBucketTaggingOutput{} 1167 req = c.newRequest(op, input, output) 1168 // update account id or check if provided input for account id member matches 1169 // the account id present in ARN 1170 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 1171 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1172 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 1173 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 1174 return 1175} 1176 1177// DeleteBucketTagging API operation for AWS S3 Control. 1178// 1179// 1180// This action deletes an Amazon S3 on Outposts bucket's tags. To delete an 1181// S3 bucket tags, see DeleteBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html) 1182// in the Amazon Simple Storage Service API. 1183// 1184// Deletes the tags from the Outposts bucket. For more information, see Using 1185// Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) 1186// in Amazon Simple Storage Service User Guide. 1187// 1188// To use this action, you must have permission to perform the PutBucketTagging 1189// action. By default, the bucket owner has this permission and can grant this 1190// permission to others. 1191// 1192// All Amazon S3 on Outposts REST API requests for this action require an additional 1193// parameter of x-amz-outpost-id to be passed with the request and an S3 on 1194// Outposts endpoint hostname prefix instead of s3-control. For an example of 1195// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 1196// endpoint hostname prefix and the x-amz-outpost-id derived using the access 1197// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketTagging.html#API_control_DeleteBucketTagging_Examples) 1198// section. 1199// 1200// The following actions are related to DeleteBucketTagging: 1201// 1202// * GetBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketTagging.html) 1203// 1204// * PutBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketTagging.html) 1205// 1206// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1207// with awserr.Error's Code and Message methods to get detailed information about 1208// the error. 1209// 1210// See the AWS API reference guide for AWS S3 Control's 1211// API operation DeleteBucketTagging for usage and error information. 1212// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketTagging 1213func (c *S3Control) DeleteBucketTagging(input *DeleteBucketTaggingInput) (*DeleteBucketTaggingOutput, error) { 1214 req, out := c.DeleteBucketTaggingRequest(input) 1215 return out, req.Send() 1216} 1217 1218// DeleteBucketTaggingWithContext is the same as DeleteBucketTagging with the addition of 1219// the ability to pass a context and additional request options. 1220// 1221// See DeleteBucketTagging for details on how to use this API operation. 1222// 1223// The context must be non-nil and will be used for request cancellation. If 1224// the context is nil a panic will occur. In the future the SDK may create 1225// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1226// for more information on using Contexts. 1227func (c *S3Control) DeleteBucketTaggingWithContext(ctx aws.Context, input *DeleteBucketTaggingInput, opts ...request.Option) (*DeleteBucketTaggingOutput, error) { 1228 req, out := c.DeleteBucketTaggingRequest(input) 1229 req.SetContext(ctx) 1230 req.ApplyOptions(opts...) 1231 return out, req.Send() 1232} 1233 1234const opDeleteJobTagging = "DeleteJobTagging" 1235 1236// DeleteJobTaggingRequest generates a "aws/request.Request" representing the 1237// client's request for the DeleteJobTagging operation. The "output" return 1238// value will be populated with the request's response once the request completes 1239// successfully. 1240// 1241// Use "Send" method on the returned Request to send the API call to the service. 1242// the "output" return value is not valid until after Send returns without error. 1243// 1244// See DeleteJobTagging for more information on using the DeleteJobTagging 1245// API call, and error handling. 1246// 1247// This method is useful when you want to inject custom logic or configuration 1248// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1249// 1250// 1251// // Example sending a request using the DeleteJobTaggingRequest method. 1252// req, resp := client.DeleteJobTaggingRequest(params) 1253// 1254// err := req.Send() 1255// if err == nil { // resp is now filled 1256// fmt.Println(resp) 1257// } 1258// 1259// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteJobTagging 1260func (c *S3Control) DeleteJobTaggingRequest(input *DeleteJobTaggingInput) (req *request.Request, output *DeleteJobTaggingOutput) { 1261 op := &request.Operation{ 1262 Name: opDeleteJobTagging, 1263 HTTPMethod: "DELETE", 1264 HTTPPath: "/v20180820/jobs/{id}/tagging", 1265 } 1266 1267 if input == nil { 1268 input = &DeleteJobTaggingInput{} 1269 } 1270 1271 output = &DeleteJobTaggingOutput{} 1272 req = c.newRequest(op, input, output) 1273 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1274 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 1275 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 1276 return 1277} 1278 1279// DeleteJobTagging API operation for AWS S3 Control. 1280// 1281// Removes the entire tag set from the specified S3 Batch Operations job. To 1282// use this operation, you must have permission to perform the s3:DeleteJobTagging 1283// action. For more information, see Controlling access and labeling jobs using 1284// tags (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-managing-jobs.html#batch-ops-job-tags) 1285// in the Amazon Simple Storage Service User Guide. 1286// 1287// Related actions include: 1288// 1289// * CreateJob (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html) 1290// 1291// * GetJobTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetJobTagging.html) 1292// 1293// * PutJobTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutJobTagging.html) 1294// 1295// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1296// with awserr.Error's Code and Message methods to get detailed information about 1297// the error. 1298// 1299// See the AWS API reference guide for AWS S3 Control's 1300// API operation DeleteJobTagging for usage and error information. 1301// 1302// Returned Error Codes: 1303// * ErrCodeInternalServiceException "InternalServiceException" 1304// 1305// * ErrCodeTooManyRequestsException "TooManyRequestsException" 1306// 1307// * ErrCodeNotFoundException "NotFoundException" 1308// 1309// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteJobTagging 1310func (c *S3Control) DeleteJobTagging(input *DeleteJobTaggingInput) (*DeleteJobTaggingOutput, error) { 1311 req, out := c.DeleteJobTaggingRequest(input) 1312 return out, req.Send() 1313} 1314 1315// DeleteJobTaggingWithContext is the same as DeleteJobTagging with the addition of 1316// the ability to pass a context and additional request options. 1317// 1318// See DeleteJobTagging for details on how to use this API operation. 1319// 1320// The context must be non-nil and will be used for request cancellation. If 1321// the context is nil a panic will occur. In the future the SDK may create 1322// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1323// for more information on using Contexts. 1324func (c *S3Control) DeleteJobTaggingWithContext(ctx aws.Context, input *DeleteJobTaggingInput, opts ...request.Option) (*DeleteJobTaggingOutput, error) { 1325 req, out := c.DeleteJobTaggingRequest(input) 1326 req.SetContext(ctx) 1327 req.ApplyOptions(opts...) 1328 return out, req.Send() 1329} 1330 1331const opDeletePublicAccessBlock = "DeletePublicAccessBlock" 1332 1333// DeletePublicAccessBlockRequest generates a "aws/request.Request" representing the 1334// client's request for the DeletePublicAccessBlock operation. The "output" return 1335// value will be populated with the request's response once the request completes 1336// successfully. 1337// 1338// Use "Send" method on the returned Request to send the API call to the service. 1339// the "output" return value is not valid until after Send returns without error. 1340// 1341// See DeletePublicAccessBlock for more information on using the DeletePublicAccessBlock 1342// API call, and error handling. 1343// 1344// This method is useful when you want to inject custom logic or configuration 1345// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1346// 1347// 1348// // Example sending a request using the DeletePublicAccessBlockRequest method. 1349// req, resp := client.DeletePublicAccessBlockRequest(params) 1350// 1351// err := req.Send() 1352// if err == nil { // resp is now filled 1353// fmt.Println(resp) 1354// } 1355// 1356// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeletePublicAccessBlock 1357func (c *S3Control) DeletePublicAccessBlockRequest(input *DeletePublicAccessBlockInput) (req *request.Request, output *DeletePublicAccessBlockOutput) { 1358 op := &request.Operation{ 1359 Name: opDeletePublicAccessBlock, 1360 HTTPMethod: "DELETE", 1361 HTTPPath: "/v20180820/configuration/publicAccessBlock", 1362 } 1363 1364 if input == nil { 1365 input = &DeletePublicAccessBlockInput{} 1366 } 1367 1368 output = &DeletePublicAccessBlockOutput{} 1369 req = c.newRequest(op, input, output) 1370 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1371 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 1372 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 1373 return 1374} 1375 1376// DeletePublicAccessBlock API operation for AWS S3 Control. 1377// 1378// Removes the PublicAccessBlock configuration for an AWS account. For more 1379// information, see Using Amazon S3 block public access (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html). 1380// 1381// Related actions include: 1382// 1383// * GetPublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetPublicAccessBlock.html) 1384// 1385// * PutPublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutPublicAccessBlock.html) 1386// 1387// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1388// with awserr.Error's Code and Message methods to get detailed information about 1389// the error. 1390// 1391// See the AWS API reference guide for AWS S3 Control's 1392// API operation DeletePublicAccessBlock for usage and error information. 1393// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeletePublicAccessBlock 1394func (c *S3Control) DeletePublicAccessBlock(input *DeletePublicAccessBlockInput) (*DeletePublicAccessBlockOutput, error) { 1395 req, out := c.DeletePublicAccessBlockRequest(input) 1396 return out, req.Send() 1397} 1398 1399// DeletePublicAccessBlockWithContext is the same as DeletePublicAccessBlock with the addition of 1400// the ability to pass a context and additional request options. 1401// 1402// See DeletePublicAccessBlock for details on how to use this API operation. 1403// 1404// The context must be non-nil and will be used for request cancellation. If 1405// the context is nil a panic will occur. In the future the SDK may create 1406// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1407// for more information on using Contexts. 1408func (c *S3Control) DeletePublicAccessBlockWithContext(ctx aws.Context, input *DeletePublicAccessBlockInput, opts ...request.Option) (*DeletePublicAccessBlockOutput, error) { 1409 req, out := c.DeletePublicAccessBlockRequest(input) 1410 req.SetContext(ctx) 1411 req.ApplyOptions(opts...) 1412 return out, req.Send() 1413} 1414 1415const opDeleteStorageLensConfiguration = "DeleteStorageLensConfiguration" 1416 1417// DeleteStorageLensConfigurationRequest generates a "aws/request.Request" representing the 1418// client's request for the DeleteStorageLensConfiguration operation. The "output" return 1419// value will be populated with the request's response once the request completes 1420// successfully. 1421// 1422// Use "Send" method on the returned Request to send the API call to the service. 1423// the "output" return value is not valid until after Send returns without error. 1424// 1425// See DeleteStorageLensConfiguration for more information on using the DeleteStorageLensConfiguration 1426// API call, and error handling. 1427// 1428// This method is useful when you want to inject custom logic or configuration 1429// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1430// 1431// 1432// // Example sending a request using the DeleteStorageLensConfigurationRequest method. 1433// req, resp := client.DeleteStorageLensConfigurationRequest(params) 1434// 1435// err := req.Send() 1436// if err == nil { // resp is now filled 1437// fmt.Println(resp) 1438// } 1439// 1440// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteStorageLensConfiguration 1441func (c *S3Control) DeleteStorageLensConfigurationRequest(input *DeleteStorageLensConfigurationInput) (req *request.Request, output *DeleteStorageLensConfigurationOutput) { 1442 op := &request.Operation{ 1443 Name: opDeleteStorageLensConfiguration, 1444 HTTPMethod: "DELETE", 1445 HTTPPath: "/v20180820/storagelens/{storagelensid}", 1446 } 1447 1448 if input == nil { 1449 input = &DeleteStorageLensConfigurationInput{} 1450 } 1451 1452 output = &DeleteStorageLensConfigurationOutput{} 1453 req = c.newRequest(op, input, output) 1454 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1455 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 1456 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 1457 return 1458} 1459 1460// DeleteStorageLensConfiguration API operation for AWS S3 Control. 1461// 1462// Deletes the Amazon S3 Storage Lens configuration. For more information about 1463// S3 Storage Lens, see Assessing your storage activity and usage with Amazon 1464// S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html) 1465// in the Amazon Simple Storage Service User Guide. 1466// 1467// To use this action, you must have permission to perform the s3:DeleteStorageLensConfiguration 1468// action. For more information, see Setting permissions to use Amazon S3 Storage 1469// Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html) 1470// in the Amazon Simple Storage Service User Guide. 1471// 1472// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1473// with awserr.Error's Code and Message methods to get detailed information about 1474// the error. 1475// 1476// See the AWS API reference guide for AWS S3 Control's 1477// API operation DeleteStorageLensConfiguration for usage and error information. 1478// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteStorageLensConfiguration 1479func (c *S3Control) DeleteStorageLensConfiguration(input *DeleteStorageLensConfigurationInput) (*DeleteStorageLensConfigurationOutput, error) { 1480 req, out := c.DeleteStorageLensConfigurationRequest(input) 1481 return out, req.Send() 1482} 1483 1484// DeleteStorageLensConfigurationWithContext is the same as DeleteStorageLensConfiguration with the addition of 1485// the ability to pass a context and additional request options. 1486// 1487// See DeleteStorageLensConfiguration for details on how to use this API operation. 1488// 1489// The context must be non-nil and will be used for request cancellation. If 1490// the context is nil a panic will occur. In the future the SDK may create 1491// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1492// for more information on using Contexts. 1493func (c *S3Control) DeleteStorageLensConfigurationWithContext(ctx aws.Context, input *DeleteStorageLensConfigurationInput, opts ...request.Option) (*DeleteStorageLensConfigurationOutput, error) { 1494 req, out := c.DeleteStorageLensConfigurationRequest(input) 1495 req.SetContext(ctx) 1496 req.ApplyOptions(opts...) 1497 return out, req.Send() 1498} 1499 1500const opDeleteStorageLensConfigurationTagging = "DeleteStorageLensConfigurationTagging" 1501 1502// DeleteStorageLensConfigurationTaggingRequest generates a "aws/request.Request" representing the 1503// client's request for the DeleteStorageLensConfigurationTagging operation. The "output" return 1504// value will be populated with the request's response once the request completes 1505// successfully. 1506// 1507// Use "Send" method on the returned Request to send the API call to the service. 1508// the "output" return value is not valid until after Send returns without error. 1509// 1510// See DeleteStorageLensConfigurationTagging for more information on using the DeleteStorageLensConfigurationTagging 1511// API call, and error handling. 1512// 1513// This method is useful when you want to inject custom logic or configuration 1514// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1515// 1516// 1517// // Example sending a request using the DeleteStorageLensConfigurationTaggingRequest method. 1518// req, resp := client.DeleteStorageLensConfigurationTaggingRequest(params) 1519// 1520// err := req.Send() 1521// if err == nil { // resp is now filled 1522// fmt.Println(resp) 1523// } 1524// 1525// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteStorageLensConfigurationTagging 1526func (c *S3Control) DeleteStorageLensConfigurationTaggingRequest(input *DeleteStorageLensConfigurationTaggingInput) (req *request.Request, output *DeleteStorageLensConfigurationTaggingOutput) { 1527 op := &request.Operation{ 1528 Name: opDeleteStorageLensConfigurationTagging, 1529 HTTPMethod: "DELETE", 1530 HTTPPath: "/v20180820/storagelens/{storagelensid}/tagging", 1531 } 1532 1533 if input == nil { 1534 input = &DeleteStorageLensConfigurationTaggingInput{} 1535 } 1536 1537 output = &DeleteStorageLensConfigurationTaggingOutput{} 1538 req = c.newRequest(op, input, output) 1539 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1540 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 1541 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 1542 return 1543} 1544 1545// DeleteStorageLensConfigurationTagging API operation for AWS S3 Control. 1546// 1547// Deletes the Amazon S3 Storage Lens configuration tags. For more information 1548// about S3 Storage Lens, see Assessing your storage activity and usage with 1549// Amazon S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html) 1550// in the Amazon Simple Storage Service User Guide. 1551// 1552// To use this action, you must have permission to perform the s3:DeleteStorageLensConfigurationTagging 1553// action. For more information, see Setting permissions to use Amazon S3 Storage 1554// Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html) 1555// in the Amazon Simple Storage Service User Guide. 1556// 1557// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1558// with awserr.Error's Code and Message methods to get detailed information about 1559// the error. 1560// 1561// See the AWS API reference guide for AWS S3 Control's 1562// API operation DeleteStorageLensConfigurationTagging for usage and error information. 1563// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteStorageLensConfigurationTagging 1564func (c *S3Control) DeleteStorageLensConfigurationTagging(input *DeleteStorageLensConfigurationTaggingInput) (*DeleteStorageLensConfigurationTaggingOutput, error) { 1565 req, out := c.DeleteStorageLensConfigurationTaggingRequest(input) 1566 return out, req.Send() 1567} 1568 1569// DeleteStorageLensConfigurationTaggingWithContext is the same as DeleteStorageLensConfigurationTagging with the addition of 1570// the ability to pass a context and additional request options. 1571// 1572// See DeleteStorageLensConfigurationTagging for details on how to use this API operation. 1573// 1574// The context must be non-nil and will be used for request cancellation. If 1575// the context is nil a panic will occur. In the future the SDK may create 1576// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1577// for more information on using Contexts. 1578func (c *S3Control) DeleteStorageLensConfigurationTaggingWithContext(ctx aws.Context, input *DeleteStorageLensConfigurationTaggingInput, opts ...request.Option) (*DeleteStorageLensConfigurationTaggingOutput, error) { 1579 req, out := c.DeleteStorageLensConfigurationTaggingRequest(input) 1580 req.SetContext(ctx) 1581 req.ApplyOptions(opts...) 1582 return out, req.Send() 1583} 1584 1585const opDescribeJob = "DescribeJob" 1586 1587// DescribeJobRequest generates a "aws/request.Request" representing the 1588// client's request for the DescribeJob operation. The "output" return 1589// value will be populated with the request's response once the request completes 1590// successfully. 1591// 1592// Use "Send" method on the returned Request to send the API call to the service. 1593// the "output" return value is not valid until after Send returns without error. 1594// 1595// See DescribeJob for more information on using the DescribeJob 1596// API call, and error handling. 1597// 1598// This method is useful when you want to inject custom logic or configuration 1599// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1600// 1601// 1602// // Example sending a request using the DescribeJobRequest method. 1603// req, resp := client.DescribeJobRequest(params) 1604// 1605// err := req.Send() 1606// if err == nil { // resp is now filled 1607// fmt.Println(resp) 1608// } 1609// 1610// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DescribeJob 1611func (c *S3Control) DescribeJobRequest(input *DescribeJobInput) (req *request.Request, output *DescribeJobOutput) { 1612 op := &request.Operation{ 1613 Name: opDescribeJob, 1614 HTTPMethod: "GET", 1615 HTTPPath: "/v20180820/jobs/{id}", 1616 } 1617 1618 if input == nil { 1619 input = &DescribeJobInput{} 1620 } 1621 1622 output = &DescribeJobOutput{} 1623 req = c.newRequest(op, input, output) 1624 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 1625 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 1626 return 1627} 1628 1629// DescribeJob API operation for AWS S3 Control. 1630// 1631// Retrieves the configuration parameters and status for a Batch Operations 1632// job. For more information, see S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html) 1633// in the Amazon Simple Storage Service User Guide. 1634// 1635// Related actions include: 1636// 1637// * CreateJob (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html) 1638// 1639// * ListJobs (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListJobs.html) 1640// 1641// * UpdateJobPriority (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobPriority.html) 1642// 1643// * UpdateJobStatus (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobStatus.html) 1644// 1645// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1646// with awserr.Error's Code and Message methods to get detailed information about 1647// the error. 1648// 1649// See the AWS API reference guide for AWS S3 Control's 1650// API operation DescribeJob for usage and error information. 1651// 1652// Returned Error Codes: 1653// * ErrCodeBadRequestException "BadRequestException" 1654// 1655// * ErrCodeTooManyRequestsException "TooManyRequestsException" 1656// 1657// * ErrCodeNotFoundException "NotFoundException" 1658// 1659// * ErrCodeInternalServiceException "InternalServiceException" 1660// 1661// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DescribeJob 1662func (c *S3Control) DescribeJob(input *DescribeJobInput) (*DescribeJobOutput, error) { 1663 req, out := c.DescribeJobRequest(input) 1664 return out, req.Send() 1665} 1666 1667// DescribeJobWithContext is the same as DescribeJob with the addition of 1668// the ability to pass a context and additional request options. 1669// 1670// See DescribeJob for details on how to use this API operation. 1671// 1672// The context must be non-nil and will be used for request cancellation. If 1673// the context is nil a panic will occur. In the future the SDK may create 1674// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1675// for more information on using Contexts. 1676func (c *S3Control) DescribeJobWithContext(ctx aws.Context, input *DescribeJobInput, opts ...request.Option) (*DescribeJobOutput, error) { 1677 req, out := c.DescribeJobRequest(input) 1678 req.SetContext(ctx) 1679 req.ApplyOptions(opts...) 1680 return out, req.Send() 1681} 1682 1683const opGetAccessPoint = "GetAccessPoint" 1684 1685// GetAccessPointRequest generates a "aws/request.Request" representing the 1686// client's request for the GetAccessPoint operation. The "output" return 1687// value will be populated with the request's response once the request completes 1688// successfully. 1689// 1690// Use "Send" method on the returned Request to send the API call to the service. 1691// the "output" return value is not valid until after Send returns without error. 1692// 1693// See GetAccessPoint for more information on using the GetAccessPoint 1694// API call, and error handling. 1695// 1696// This method is useful when you want to inject custom logic or configuration 1697// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1698// 1699// 1700// // Example sending a request using the GetAccessPointRequest method. 1701// req, resp := client.GetAccessPointRequest(params) 1702// 1703// err := req.Send() 1704// if err == nil { // resp is now filled 1705// fmt.Println(resp) 1706// } 1707// 1708// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPoint 1709func (c *S3Control) GetAccessPointRequest(input *GetAccessPointInput) (req *request.Request, output *GetAccessPointOutput) { 1710 op := &request.Operation{ 1711 Name: opGetAccessPoint, 1712 HTTPMethod: "GET", 1713 HTTPPath: "/v20180820/accesspoint/{name}", 1714 } 1715 1716 if input == nil { 1717 input = &GetAccessPointInput{} 1718 } 1719 1720 output = &GetAccessPointOutput{} 1721 req = c.newRequest(op, input, output) 1722 // update account id or check if provided input for account id member matches 1723 // the account id present in ARN 1724 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 1725 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 1726 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 1727 return 1728} 1729 1730// GetAccessPoint API operation for AWS S3 Control. 1731// 1732// Returns configuration information about the specified access point. 1733// 1734// All Amazon S3 on Outposts REST API requests for this action require an additional 1735// parameter of x-amz-outpost-id to be passed with the request and an S3 on 1736// Outposts endpoint hostname prefix instead of s3-control. For an example of 1737// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 1738// endpoint hostname prefix and the x-amz-outpost-id derived using the access 1739// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html#API_control_GetAccessPoint_Examples) 1740// section. 1741// 1742// The following actions are related to GetAccessPoint: 1743// 1744// * CreateAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPoint.html) 1745// 1746// * DeleteAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPoint.html) 1747// 1748// * ListAccessPoints (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessPoints.html) 1749// 1750// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1751// with awserr.Error's Code and Message methods to get detailed information about 1752// the error. 1753// 1754// See the AWS API reference guide for AWS S3 Control's 1755// API operation GetAccessPoint for usage and error information. 1756// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPoint 1757func (c *S3Control) GetAccessPoint(input *GetAccessPointInput) (*GetAccessPointOutput, error) { 1758 req, out := c.GetAccessPointRequest(input) 1759 return out, req.Send() 1760} 1761 1762// GetAccessPointWithContext is the same as GetAccessPoint with the addition of 1763// the ability to pass a context and additional request options. 1764// 1765// See GetAccessPoint for details on how to use this API operation. 1766// 1767// The context must be non-nil and will be used for request cancellation. If 1768// the context is nil a panic will occur. In the future the SDK may create 1769// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1770// for more information on using Contexts. 1771func (c *S3Control) GetAccessPointWithContext(ctx aws.Context, input *GetAccessPointInput, opts ...request.Option) (*GetAccessPointOutput, error) { 1772 req, out := c.GetAccessPointRequest(input) 1773 req.SetContext(ctx) 1774 req.ApplyOptions(opts...) 1775 return out, req.Send() 1776} 1777 1778const opGetAccessPointConfigurationForObjectLambda = "GetAccessPointConfigurationForObjectLambda" 1779 1780// GetAccessPointConfigurationForObjectLambdaRequest generates a "aws/request.Request" representing the 1781// client's request for the GetAccessPointConfigurationForObjectLambda operation. The "output" return 1782// value will be populated with the request's response once the request completes 1783// successfully. 1784// 1785// Use "Send" method on the returned Request to send the API call to the service. 1786// the "output" return value is not valid until after Send returns without error. 1787// 1788// See GetAccessPointConfigurationForObjectLambda for more information on using the GetAccessPointConfigurationForObjectLambda 1789// API call, and error handling. 1790// 1791// This method is useful when you want to inject custom logic or configuration 1792// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1793// 1794// 1795// // Example sending a request using the GetAccessPointConfigurationForObjectLambdaRequest method. 1796// req, resp := client.GetAccessPointConfigurationForObjectLambdaRequest(params) 1797// 1798// err := req.Send() 1799// if err == nil { // resp is now filled 1800// fmt.Println(resp) 1801// } 1802// 1803// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointConfigurationForObjectLambda 1804func (c *S3Control) GetAccessPointConfigurationForObjectLambdaRequest(input *GetAccessPointConfigurationForObjectLambdaInput) (req *request.Request, output *GetAccessPointConfigurationForObjectLambdaOutput) { 1805 op := &request.Operation{ 1806 Name: opGetAccessPointConfigurationForObjectLambda, 1807 HTTPMethod: "GET", 1808 HTTPPath: "/v20180820/accesspointforobjectlambda/{name}/configuration", 1809 } 1810 1811 if input == nil { 1812 input = &GetAccessPointConfigurationForObjectLambdaInput{} 1813 } 1814 1815 output = &GetAccessPointConfigurationForObjectLambdaOutput{} 1816 req = c.newRequest(op, input, output) 1817 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 1818 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 1819 return 1820} 1821 1822// GetAccessPointConfigurationForObjectLambda API operation for AWS S3 Control. 1823// 1824// Returns configuration for an Object Lambda Access Point. 1825// 1826// The following actions are related to GetAccessPointConfigurationForObjectLambda: 1827// 1828// * PutAccessPointConfigurationForObjectLambda (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessPointConfigurationForObjectLambda.html) 1829// 1830// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1831// with awserr.Error's Code and Message methods to get detailed information about 1832// the error. 1833// 1834// See the AWS API reference guide for AWS S3 Control's 1835// API operation GetAccessPointConfigurationForObjectLambda for usage and error information. 1836// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointConfigurationForObjectLambda 1837func (c *S3Control) GetAccessPointConfigurationForObjectLambda(input *GetAccessPointConfigurationForObjectLambdaInput) (*GetAccessPointConfigurationForObjectLambdaOutput, error) { 1838 req, out := c.GetAccessPointConfigurationForObjectLambdaRequest(input) 1839 return out, req.Send() 1840} 1841 1842// GetAccessPointConfigurationForObjectLambdaWithContext is the same as GetAccessPointConfigurationForObjectLambda with the addition of 1843// the ability to pass a context and additional request options. 1844// 1845// See GetAccessPointConfigurationForObjectLambda for details on how to use this API operation. 1846// 1847// The context must be non-nil and will be used for request cancellation. If 1848// the context is nil a panic will occur. In the future the SDK may create 1849// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1850// for more information on using Contexts. 1851func (c *S3Control) GetAccessPointConfigurationForObjectLambdaWithContext(ctx aws.Context, input *GetAccessPointConfigurationForObjectLambdaInput, opts ...request.Option) (*GetAccessPointConfigurationForObjectLambdaOutput, error) { 1852 req, out := c.GetAccessPointConfigurationForObjectLambdaRequest(input) 1853 req.SetContext(ctx) 1854 req.ApplyOptions(opts...) 1855 return out, req.Send() 1856} 1857 1858const opGetAccessPointForObjectLambda = "GetAccessPointForObjectLambda" 1859 1860// GetAccessPointForObjectLambdaRequest generates a "aws/request.Request" representing the 1861// client's request for the GetAccessPointForObjectLambda operation. The "output" return 1862// value will be populated with the request's response once the request completes 1863// successfully. 1864// 1865// Use "Send" method on the returned Request to send the API call to the service. 1866// the "output" return value is not valid until after Send returns without error. 1867// 1868// See GetAccessPointForObjectLambda for more information on using the GetAccessPointForObjectLambda 1869// API call, and error handling. 1870// 1871// This method is useful when you want to inject custom logic or configuration 1872// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1873// 1874// 1875// // Example sending a request using the GetAccessPointForObjectLambdaRequest method. 1876// req, resp := client.GetAccessPointForObjectLambdaRequest(params) 1877// 1878// err := req.Send() 1879// if err == nil { // resp is now filled 1880// fmt.Println(resp) 1881// } 1882// 1883// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointForObjectLambda 1884func (c *S3Control) GetAccessPointForObjectLambdaRequest(input *GetAccessPointForObjectLambdaInput) (req *request.Request, output *GetAccessPointForObjectLambdaOutput) { 1885 op := &request.Operation{ 1886 Name: opGetAccessPointForObjectLambda, 1887 HTTPMethod: "GET", 1888 HTTPPath: "/v20180820/accesspointforobjectlambda/{name}", 1889 } 1890 1891 if input == nil { 1892 input = &GetAccessPointForObjectLambdaInput{} 1893 } 1894 1895 output = &GetAccessPointForObjectLambdaOutput{} 1896 req = c.newRequest(op, input, output) 1897 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 1898 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 1899 return 1900} 1901 1902// GetAccessPointForObjectLambda API operation for AWS S3 Control. 1903// 1904// Returns configuration information about the specified Object Lambda Access 1905// Point 1906// 1907// The following actions are related to GetAccessPointForObjectLambda: 1908// 1909// * CreateAccessPointForObjectLambda (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPointForObjectLambda.html) 1910// 1911// * DeleteAccessPointForObjectLambda (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointForObjectLambda.html) 1912// 1913// * ListAccessPointsForObjectLambda (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessPointsForObjectLambda.html) 1914// 1915// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1916// with awserr.Error's Code and Message methods to get detailed information about 1917// the error. 1918// 1919// See the AWS API reference guide for AWS S3 Control's 1920// API operation GetAccessPointForObjectLambda for usage and error information. 1921// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointForObjectLambda 1922func (c *S3Control) GetAccessPointForObjectLambda(input *GetAccessPointForObjectLambdaInput) (*GetAccessPointForObjectLambdaOutput, error) { 1923 req, out := c.GetAccessPointForObjectLambdaRequest(input) 1924 return out, req.Send() 1925} 1926 1927// GetAccessPointForObjectLambdaWithContext is the same as GetAccessPointForObjectLambda with the addition of 1928// the ability to pass a context and additional request options. 1929// 1930// See GetAccessPointForObjectLambda for details on how to use this API operation. 1931// 1932// The context must be non-nil and will be used for request cancellation. If 1933// the context is nil a panic will occur. In the future the SDK may create 1934// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1935// for more information on using Contexts. 1936func (c *S3Control) GetAccessPointForObjectLambdaWithContext(ctx aws.Context, input *GetAccessPointForObjectLambdaInput, opts ...request.Option) (*GetAccessPointForObjectLambdaOutput, error) { 1937 req, out := c.GetAccessPointForObjectLambdaRequest(input) 1938 req.SetContext(ctx) 1939 req.ApplyOptions(opts...) 1940 return out, req.Send() 1941} 1942 1943const opGetAccessPointPolicy = "GetAccessPointPolicy" 1944 1945// GetAccessPointPolicyRequest generates a "aws/request.Request" representing the 1946// client's request for the GetAccessPointPolicy operation. The "output" return 1947// value will be populated with the request's response once the request completes 1948// successfully. 1949// 1950// Use "Send" method on the returned Request to send the API call to the service. 1951// the "output" return value is not valid until after Send returns without error. 1952// 1953// See GetAccessPointPolicy for more information on using the GetAccessPointPolicy 1954// API call, and error handling. 1955// 1956// This method is useful when you want to inject custom logic or configuration 1957// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1958// 1959// 1960// // Example sending a request using the GetAccessPointPolicyRequest method. 1961// req, resp := client.GetAccessPointPolicyRequest(params) 1962// 1963// err := req.Send() 1964// if err == nil { // resp is now filled 1965// fmt.Println(resp) 1966// } 1967// 1968// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicy 1969func (c *S3Control) GetAccessPointPolicyRequest(input *GetAccessPointPolicyInput) (req *request.Request, output *GetAccessPointPolicyOutput) { 1970 op := &request.Operation{ 1971 Name: opGetAccessPointPolicy, 1972 HTTPMethod: "GET", 1973 HTTPPath: "/v20180820/accesspoint/{name}/policy", 1974 } 1975 1976 if input == nil { 1977 input = &GetAccessPointPolicyInput{} 1978 } 1979 1980 output = &GetAccessPointPolicyOutput{} 1981 req = c.newRequest(op, input, output) 1982 // update account id or check if provided input for account id member matches 1983 // the account id present in ARN 1984 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 1985 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 1986 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 1987 return 1988} 1989 1990// GetAccessPointPolicy API operation for AWS S3 Control. 1991// 1992// Returns the access point policy associated with the specified access point. 1993// 1994// The following actions are related to GetAccessPointPolicy: 1995// 1996// * PutAccessPointPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessPointPolicy.html) 1997// 1998// * DeleteAccessPointPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointPolicy.html) 1999// 2000// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2001// with awserr.Error's Code and Message methods to get detailed information about 2002// the error. 2003// 2004// See the AWS API reference guide for AWS S3 Control's 2005// API operation GetAccessPointPolicy for usage and error information. 2006// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicy 2007func (c *S3Control) GetAccessPointPolicy(input *GetAccessPointPolicyInput) (*GetAccessPointPolicyOutput, error) { 2008 req, out := c.GetAccessPointPolicyRequest(input) 2009 return out, req.Send() 2010} 2011 2012// GetAccessPointPolicyWithContext is the same as GetAccessPointPolicy with the addition of 2013// the ability to pass a context and additional request options. 2014// 2015// See GetAccessPointPolicy for details on how to use this API operation. 2016// 2017// The context must be non-nil and will be used for request cancellation. If 2018// the context is nil a panic will occur. In the future the SDK may create 2019// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2020// for more information on using Contexts. 2021func (c *S3Control) GetAccessPointPolicyWithContext(ctx aws.Context, input *GetAccessPointPolicyInput, opts ...request.Option) (*GetAccessPointPolicyOutput, error) { 2022 req, out := c.GetAccessPointPolicyRequest(input) 2023 req.SetContext(ctx) 2024 req.ApplyOptions(opts...) 2025 return out, req.Send() 2026} 2027 2028const opGetAccessPointPolicyForObjectLambda = "GetAccessPointPolicyForObjectLambda" 2029 2030// GetAccessPointPolicyForObjectLambdaRequest generates a "aws/request.Request" representing the 2031// client's request for the GetAccessPointPolicyForObjectLambda operation. The "output" return 2032// value will be populated with the request's response once the request completes 2033// successfully. 2034// 2035// Use "Send" method on the returned Request to send the API call to the service. 2036// the "output" return value is not valid until after Send returns without error. 2037// 2038// See GetAccessPointPolicyForObjectLambda for more information on using the GetAccessPointPolicyForObjectLambda 2039// API call, and error handling. 2040// 2041// This method is useful when you want to inject custom logic or configuration 2042// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2043// 2044// 2045// // Example sending a request using the GetAccessPointPolicyForObjectLambdaRequest method. 2046// req, resp := client.GetAccessPointPolicyForObjectLambdaRequest(params) 2047// 2048// err := req.Send() 2049// if err == nil { // resp is now filled 2050// fmt.Println(resp) 2051// } 2052// 2053// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyForObjectLambda 2054func (c *S3Control) GetAccessPointPolicyForObjectLambdaRequest(input *GetAccessPointPolicyForObjectLambdaInput) (req *request.Request, output *GetAccessPointPolicyForObjectLambdaOutput) { 2055 op := &request.Operation{ 2056 Name: opGetAccessPointPolicyForObjectLambda, 2057 HTTPMethod: "GET", 2058 HTTPPath: "/v20180820/accesspointforobjectlambda/{name}/policy", 2059 } 2060 2061 if input == nil { 2062 input = &GetAccessPointPolicyForObjectLambdaInput{} 2063 } 2064 2065 output = &GetAccessPointPolicyForObjectLambdaOutput{} 2066 req = c.newRequest(op, input, output) 2067 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 2068 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 2069 return 2070} 2071 2072// GetAccessPointPolicyForObjectLambda API operation for AWS S3 Control. 2073// 2074// Returns the resource policy for an Object Lambda Access Point. 2075// 2076// The following actions are related to GetAccessPointPolicyForObjectLambda: 2077// 2078// * DeleteAccessPointPolicyForObjectLambda (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointPolicyForObjectLambda.html) 2079// 2080// * PutAccessPointPolicyForObjectLambda (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessPointPolicyForObjectLambda.html) 2081// 2082// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2083// with awserr.Error's Code and Message methods to get detailed information about 2084// the error. 2085// 2086// See the AWS API reference guide for AWS S3 Control's 2087// API operation GetAccessPointPolicyForObjectLambda for usage and error information. 2088// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyForObjectLambda 2089func (c *S3Control) GetAccessPointPolicyForObjectLambda(input *GetAccessPointPolicyForObjectLambdaInput) (*GetAccessPointPolicyForObjectLambdaOutput, error) { 2090 req, out := c.GetAccessPointPolicyForObjectLambdaRequest(input) 2091 return out, req.Send() 2092} 2093 2094// GetAccessPointPolicyForObjectLambdaWithContext is the same as GetAccessPointPolicyForObjectLambda with the addition of 2095// the ability to pass a context and additional request options. 2096// 2097// See GetAccessPointPolicyForObjectLambda for details on how to use this API operation. 2098// 2099// The context must be non-nil and will be used for request cancellation. If 2100// the context is nil a panic will occur. In the future the SDK may create 2101// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2102// for more information on using Contexts. 2103func (c *S3Control) GetAccessPointPolicyForObjectLambdaWithContext(ctx aws.Context, input *GetAccessPointPolicyForObjectLambdaInput, opts ...request.Option) (*GetAccessPointPolicyForObjectLambdaOutput, error) { 2104 req, out := c.GetAccessPointPolicyForObjectLambdaRequest(input) 2105 req.SetContext(ctx) 2106 req.ApplyOptions(opts...) 2107 return out, req.Send() 2108} 2109 2110const opGetAccessPointPolicyStatus = "GetAccessPointPolicyStatus" 2111 2112// GetAccessPointPolicyStatusRequest generates a "aws/request.Request" representing the 2113// client's request for the GetAccessPointPolicyStatus operation. The "output" return 2114// value will be populated with the request's response once the request completes 2115// successfully. 2116// 2117// Use "Send" method on the returned Request to send the API call to the service. 2118// the "output" return value is not valid until after Send returns without error. 2119// 2120// See GetAccessPointPolicyStatus for more information on using the GetAccessPointPolicyStatus 2121// API call, and error handling. 2122// 2123// This method is useful when you want to inject custom logic or configuration 2124// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2125// 2126// 2127// // Example sending a request using the GetAccessPointPolicyStatusRequest method. 2128// req, resp := client.GetAccessPointPolicyStatusRequest(params) 2129// 2130// err := req.Send() 2131// if err == nil { // resp is now filled 2132// fmt.Println(resp) 2133// } 2134// 2135// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyStatus 2136func (c *S3Control) GetAccessPointPolicyStatusRequest(input *GetAccessPointPolicyStatusInput) (req *request.Request, output *GetAccessPointPolicyStatusOutput) { 2137 op := &request.Operation{ 2138 Name: opGetAccessPointPolicyStatus, 2139 HTTPMethod: "GET", 2140 HTTPPath: "/v20180820/accesspoint/{name}/policyStatus", 2141 } 2142 2143 if input == nil { 2144 input = &GetAccessPointPolicyStatusInput{} 2145 } 2146 2147 output = &GetAccessPointPolicyStatusOutput{} 2148 req = c.newRequest(op, input, output) 2149 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 2150 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 2151 return 2152} 2153 2154// GetAccessPointPolicyStatus API operation for AWS S3 Control. 2155// 2156// Indicates whether the specified access point currently has a policy that 2157// allows public access. For more information about public access through access 2158// points, see Managing Data Access with Amazon S3 Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html) 2159// in the Amazon Simple Storage Service Developer Guide. 2160// 2161// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2162// with awserr.Error's Code and Message methods to get detailed information about 2163// the error. 2164// 2165// See the AWS API reference guide for AWS S3 Control's 2166// API operation GetAccessPointPolicyStatus for usage and error information. 2167// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyStatus 2168func (c *S3Control) GetAccessPointPolicyStatus(input *GetAccessPointPolicyStatusInput) (*GetAccessPointPolicyStatusOutput, error) { 2169 req, out := c.GetAccessPointPolicyStatusRequest(input) 2170 return out, req.Send() 2171} 2172 2173// GetAccessPointPolicyStatusWithContext is the same as GetAccessPointPolicyStatus with the addition of 2174// the ability to pass a context and additional request options. 2175// 2176// See GetAccessPointPolicyStatus for details on how to use this API operation. 2177// 2178// The context must be non-nil and will be used for request cancellation. If 2179// the context is nil a panic will occur. In the future the SDK may create 2180// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2181// for more information on using Contexts. 2182func (c *S3Control) GetAccessPointPolicyStatusWithContext(ctx aws.Context, input *GetAccessPointPolicyStatusInput, opts ...request.Option) (*GetAccessPointPolicyStatusOutput, error) { 2183 req, out := c.GetAccessPointPolicyStatusRequest(input) 2184 req.SetContext(ctx) 2185 req.ApplyOptions(opts...) 2186 return out, req.Send() 2187} 2188 2189const opGetAccessPointPolicyStatusForObjectLambda = "GetAccessPointPolicyStatusForObjectLambda" 2190 2191// GetAccessPointPolicyStatusForObjectLambdaRequest generates a "aws/request.Request" representing the 2192// client's request for the GetAccessPointPolicyStatusForObjectLambda operation. The "output" return 2193// value will be populated with the request's response once the request completes 2194// successfully. 2195// 2196// Use "Send" method on the returned Request to send the API call to the service. 2197// the "output" return value is not valid until after Send returns without error. 2198// 2199// See GetAccessPointPolicyStatusForObjectLambda for more information on using the GetAccessPointPolicyStatusForObjectLambda 2200// API call, and error handling. 2201// 2202// This method is useful when you want to inject custom logic or configuration 2203// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2204// 2205// 2206// // Example sending a request using the GetAccessPointPolicyStatusForObjectLambdaRequest method. 2207// req, resp := client.GetAccessPointPolicyStatusForObjectLambdaRequest(params) 2208// 2209// err := req.Send() 2210// if err == nil { // resp is now filled 2211// fmt.Println(resp) 2212// } 2213// 2214// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyStatusForObjectLambda 2215func (c *S3Control) GetAccessPointPolicyStatusForObjectLambdaRequest(input *GetAccessPointPolicyStatusForObjectLambdaInput) (req *request.Request, output *GetAccessPointPolicyStatusForObjectLambdaOutput) { 2216 op := &request.Operation{ 2217 Name: opGetAccessPointPolicyStatusForObjectLambda, 2218 HTTPMethod: "GET", 2219 HTTPPath: "/v20180820/accesspointforobjectlambda/{name}/policyStatus", 2220 } 2221 2222 if input == nil { 2223 input = &GetAccessPointPolicyStatusForObjectLambdaInput{} 2224 } 2225 2226 output = &GetAccessPointPolicyStatusForObjectLambdaOutput{} 2227 req = c.newRequest(op, input, output) 2228 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 2229 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 2230 return 2231} 2232 2233// GetAccessPointPolicyStatusForObjectLambda API operation for AWS S3 Control. 2234// 2235// Returns the status of the resource policy associated with an Object Lambda 2236// Access Point. 2237// 2238// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2239// with awserr.Error's Code and Message methods to get detailed information about 2240// the error. 2241// 2242// See the AWS API reference guide for AWS S3 Control's 2243// API operation GetAccessPointPolicyStatusForObjectLambda for usage and error information. 2244// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyStatusForObjectLambda 2245func (c *S3Control) GetAccessPointPolicyStatusForObjectLambda(input *GetAccessPointPolicyStatusForObjectLambdaInput) (*GetAccessPointPolicyStatusForObjectLambdaOutput, error) { 2246 req, out := c.GetAccessPointPolicyStatusForObjectLambdaRequest(input) 2247 return out, req.Send() 2248} 2249 2250// GetAccessPointPolicyStatusForObjectLambdaWithContext is the same as GetAccessPointPolicyStatusForObjectLambda with the addition of 2251// the ability to pass a context and additional request options. 2252// 2253// See GetAccessPointPolicyStatusForObjectLambda for details on how to use this API operation. 2254// 2255// The context must be non-nil and will be used for request cancellation. If 2256// the context is nil a panic will occur. In the future the SDK may create 2257// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2258// for more information on using Contexts. 2259func (c *S3Control) GetAccessPointPolicyStatusForObjectLambdaWithContext(ctx aws.Context, input *GetAccessPointPolicyStatusForObjectLambdaInput, opts ...request.Option) (*GetAccessPointPolicyStatusForObjectLambdaOutput, error) { 2260 req, out := c.GetAccessPointPolicyStatusForObjectLambdaRequest(input) 2261 req.SetContext(ctx) 2262 req.ApplyOptions(opts...) 2263 return out, req.Send() 2264} 2265 2266const opGetBucket = "GetBucket" 2267 2268// GetBucketRequest generates a "aws/request.Request" representing the 2269// client's request for the GetBucket operation. The "output" return 2270// value will be populated with the request's response once the request completes 2271// successfully. 2272// 2273// Use "Send" method on the returned Request to send the API call to the service. 2274// the "output" return value is not valid until after Send returns without error. 2275// 2276// See GetBucket for more information on using the GetBucket 2277// API call, and error handling. 2278// 2279// This method is useful when you want to inject custom logic or configuration 2280// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2281// 2282// 2283// // Example sending a request using the GetBucketRequest method. 2284// req, resp := client.GetBucketRequest(params) 2285// 2286// err := req.Send() 2287// if err == nil { // resp is now filled 2288// fmt.Println(resp) 2289// } 2290// 2291// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucket 2292func (c *S3Control) GetBucketRequest(input *GetBucketInput) (req *request.Request, output *GetBucketOutput) { 2293 op := &request.Operation{ 2294 Name: opGetBucket, 2295 HTTPMethod: "GET", 2296 HTTPPath: "/v20180820/bucket/{name}", 2297 } 2298 2299 if input == nil { 2300 input = &GetBucketInput{} 2301 } 2302 2303 output = &GetBucketOutput{} 2304 req = c.newRequest(op, input, output) 2305 // update account id or check if provided input for account id member matches 2306 // the account id present in ARN 2307 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 2308 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 2309 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 2310 return 2311} 2312 2313// GetBucket API operation for AWS S3 Control. 2314// 2315// Gets an Amazon S3 on Outposts bucket. For more information, see Using Amazon 2316// S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) 2317// in the Amazon Simple Storage Service User Guide. 2318// 2319// If you are using an identity other than the root user of the AWS account 2320// that owns the Outposts bucket, the calling identity must have the s3-outposts:GetBucket 2321// permissions on the specified Outposts bucket and belong to the Outposts bucket 2322// owner's account in order to use this action. Only users from Outposts bucket 2323// owner account with the right permissions can perform actions on an Outposts 2324// bucket. 2325// 2326// If you don't have s3-outposts:GetBucket permissions or you're not using an 2327// identity that belongs to the bucket owner's account, Amazon S3 returns a 2328// 403 Access Denied error. 2329// 2330// The following actions are related to GetBucket for Amazon S3 on Outposts: 2331// 2332// All Amazon S3 on Outposts REST API requests for this action require an additional 2333// parameter of x-amz-outpost-id to be passed with the request and an S3 on 2334// Outposts endpoint hostname prefix instead of s3-control. For an example of 2335// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 2336// endpoint hostname prefix and the x-amz-outpost-id derived using the access 2337// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucket.html#API_control_GetBucket_Examples) 2338// section. 2339// 2340// * PutObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) 2341// 2342// * CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html) 2343// 2344// * DeleteBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucket.html) 2345// 2346// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2347// with awserr.Error's Code and Message methods to get detailed information about 2348// the error. 2349// 2350// See the AWS API reference guide for AWS S3 Control's 2351// API operation GetBucket for usage and error information. 2352// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucket 2353func (c *S3Control) GetBucket(input *GetBucketInput) (*GetBucketOutput, error) { 2354 req, out := c.GetBucketRequest(input) 2355 return out, req.Send() 2356} 2357 2358// GetBucketWithContext is the same as GetBucket with the addition of 2359// the ability to pass a context and additional request options. 2360// 2361// See GetBucket for details on how to use this API operation. 2362// 2363// The context must be non-nil and will be used for request cancellation. If 2364// the context is nil a panic will occur. In the future the SDK may create 2365// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2366// for more information on using Contexts. 2367func (c *S3Control) GetBucketWithContext(ctx aws.Context, input *GetBucketInput, opts ...request.Option) (*GetBucketOutput, error) { 2368 req, out := c.GetBucketRequest(input) 2369 req.SetContext(ctx) 2370 req.ApplyOptions(opts...) 2371 return out, req.Send() 2372} 2373 2374const opGetBucketLifecycleConfiguration = "GetBucketLifecycleConfiguration" 2375 2376// GetBucketLifecycleConfigurationRequest generates a "aws/request.Request" representing the 2377// client's request for the GetBucketLifecycleConfiguration operation. The "output" return 2378// value will be populated with the request's response once the request completes 2379// successfully. 2380// 2381// Use "Send" method on the returned Request to send the API call to the service. 2382// the "output" return value is not valid until after Send returns without error. 2383// 2384// See GetBucketLifecycleConfiguration for more information on using the GetBucketLifecycleConfiguration 2385// API call, and error handling. 2386// 2387// This method is useful when you want to inject custom logic or configuration 2388// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2389// 2390// 2391// // Example sending a request using the GetBucketLifecycleConfigurationRequest method. 2392// req, resp := client.GetBucketLifecycleConfigurationRequest(params) 2393// 2394// err := req.Send() 2395// if err == nil { // resp is now filled 2396// fmt.Println(resp) 2397// } 2398// 2399// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketLifecycleConfiguration 2400func (c *S3Control) GetBucketLifecycleConfigurationRequest(input *GetBucketLifecycleConfigurationInput) (req *request.Request, output *GetBucketLifecycleConfigurationOutput) { 2401 op := &request.Operation{ 2402 Name: opGetBucketLifecycleConfiguration, 2403 HTTPMethod: "GET", 2404 HTTPPath: "/v20180820/bucket/{name}/lifecycleconfiguration", 2405 } 2406 2407 if input == nil { 2408 input = &GetBucketLifecycleConfigurationInput{} 2409 } 2410 2411 output = &GetBucketLifecycleConfigurationOutput{} 2412 req = c.newRequest(op, input, output) 2413 // update account id or check if provided input for account id member matches 2414 // the account id present in ARN 2415 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 2416 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 2417 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 2418 return 2419} 2420 2421// GetBucketLifecycleConfiguration API operation for AWS S3 Control. 2422// 2423// 2424// This action gets an Amazon S3 on Outposts bucket's lifecycle configuration. 2425// To get an S3 bucket's lifecycle configuration, see GetBucketLifecycleConfiguration 2426// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html) 2427// in the Amazon Simple Storage Service API. 2428// 2429// Returns the lifecycle configuration information set on the Outposts bucket. 2430// For more information, see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) 2431// and for information about lifecycle configuration, see Object Lifecycle Management 2432// (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) 2433// in Amazon Simple Storage Service User Guide. 2434// 2435// To use this action, you must have permission to perform the s3-outposts:GetLifecycleConfiguration 2436// action. The Outposts bucket owner has this permission, by default. The bucket 2437// owner can grant this permission to others. For more information about permissions, 2438// see Permissions Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) 2439// and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html). 2440// 2441// All Amazon S3 on Outposts REST API requests for this action require an additional 2442// parameter of x-amz-outpost-id to be passed with the request and an S3 on 2443// Outposts endpoint hostname prefix instead of s3-control. For an example of 2444// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 2445// endpoint hostname prefix and the x-amz-outpost-id derived using the access 2446// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketLifecycleConfiguration.html#API_control_GetBucketLifecycleConfiguration_Examples) 2447// section. 2448// 2449// GetBucketLifecycleConfiguration has the following special error: 2450// 2451// * Error code: NoSuchLifecycleConfiguration Description: The lifecycle 2452// configuration does not exist. HTTP Status Code: 404 Not Found SOAP Fault 2453// Code Prefix: Client 2454// 2455// The following actions are related to GetBucketLifecycleConfiguration: 2456// 2457// * PutBucketLifecycleConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketLifecycleConfiguration.html) 2458// 2459// * DeleteBucketLifecycleConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketLifecycleConfiguration.html) 2460// 2461// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2462// with awserr.Error's Code and Message methods to get detailed information about 2463// the error. 2464// 2465// See the AWS API reference guide for AWS S3 Control's 2466// API operation GetBucketLifecycleConfiguration for usage and error information. 2467// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketLifecycleConfiguration 2468func (c *S3Control) GetBucketLifecycleConfiguration(input *GetBucketLifecycleConfigurationInput) (*GetBucketLifecycleConfigurationOutput, error) { 2469 req, out := c.GetBucketLifecycleConfigurationRequest(input) 2470 return out, req.Send() 2471} 2472 2473// GetBucketLifecycleConfigurationWithContext is the same as GetBucketLifecycleConfiguration with the addition of 2474// the ability to pass a context and additional request options. 2475// 2476// See GetBucketLifecycleConfiguration for details on how to use this API operation. 2477// 2478// The context must be non-nil and will be used for request cancellation. If 2479// the context is nil a panic will occur. In the future the SDK may create 2480// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2481// for more information on using Contexts. 2482func (c *S3Control) GetBucketLifecycleConfigurationWithContext(ctx aws.Context, input *GetBucketLifecycleConfigurationInput, opts ...request.Option) (*GetBucketLifecycleConfigurationOutput, error) { 2483 req, out := c.GetBucketLifecycleConfigurationRequest(input) 2484 req.SetContext(ctx) 2485 req.ApplyOptions(opts...) 2486 return out, req.Send() 2487} 2488 2489const opGetBucketPolicy = "GetBucketPolicy" 2490 2491// GetBucketPolicyRequest generates a "aws/request.Request" representing the 2492// client's request for the GetBucketPolicy operation. The "output" return 2493// value will be populated with the request's response once the request completes 2494// successfully. 2495// 2496// Use "Send" method on the returned Request to send the API call to the service. 2497// the "output" return value is not valid until after Send returns without error. 2498// 2499// See GetBucketPolicy for more information on using the GetBucketPolicy 2500// API call, and error handling. 2501// 2502// This method is useful when you want to inject custom logic or configuration 2503// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2504// 2505// 2506// // Example sending a request using the GetBucketPolicyRequest method. 2507// req, resp := client.GetBucketPolicyRequest(params) 2508// 2509// err := req.Send() 2510// if err == nil { // resp is now filled 2511// fmt.Println(resp) 2512// } 2513// 2514// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketPolicy 2515func (c *S3Control) GetBucketPolicyRequest(input *GetBucketPolicyInput) (req *request.Request, output *GetBucketPolicyOutput) { 2516 op := &request.Operation{ 2517 Name: opGetBucketPolicy, 2518 HTTPMethod: "GET", 2519 HTTPPath: "/v20180820/bucket/{name}/policy", 2520 } 2521 2522 if input == nil { 2523 input = &GetBucketPolicyInput{} 2524 } 2525 2526 output = &GetBucketPolicyOutput{} 2527 req = c.newRequest(op, input, output) 2528 // update account id or check if provided input for account id member matches 2529 // the account id present in ARN 2530 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 2531 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 2532 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 2533 return 2534} 2535 2536// GetBucketPolicy API operation for AWS S3 Control. 2537// 2538// 2539// This action gets a bucket policy for an Amazon S3 on Outposts bucket. To 2540// get a policy for an S3 bucket, see GetBucketPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicy.html) 2541// in the Amazon Simple Storage Service API. 2542// 2543// Returns the policy of a specified Outposts bucket. For more information, 2544// see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) 2545// in the Amazon Simple Storage Service User Guide. 2546// 2547// If you are using an identity other than the root user of the AWS account 2548// that owns the bucket, the calling identity must have the GetBucketPolicy 2549// permissions on the specified bucket and belong to the bucket owner's account 2550// in order to use this action. 2551// 2552// Only users from Outposts bucket owner account with the right permissions 2553// can perform actions on an Outposts bucket. If you don't have s3-outposts:GetBucketPolicy 2554// permissions or you're not using an identity that belongs to the bucket owner's 2555// account, Amazon S3 returns a 403 Access Denied error. 2556// 2557// As a security precaution, the root user of the AWS account that owns a bucket 2558// can always use this action, even if the policy explicitly denies the root 2559// user the ability to perform this action. 2560// 2561// For more information about bucket policies, see Using Bucket Policies and 2562// User Policies (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html). 2563// 2564// All Amazon S3 on Outposts REST API requests for this action require an additional 2565// parameter of x-amz-outpost-id to be passed with the request and an S3 on 2566// Outposts endpoint hostname prefix instead of s3-control. For an example of 2567// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 2568// endpoint hostname prefix and the x-amz-outpost-id derived using the access 2569// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketPolicy.html#API_control_GetBucketPolicy_Examples) 2570// section. 2571// 2572// The following actions are related to GetBucketPolicy: 2573// 2574// * GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) 2575// 2576// * PutBucketPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketPolicy.html) 2577// 2578// * DeleteBucketPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketPolicy.html) 2579// 2580// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2581// with awserr.Error's Code and Message methods to get detailed information about 2582// the error. 2583// 2584// See the AWS API reference guide for AWS S3 Control's 2585// API operation GetBucketPolicy for usage and error information. 2586// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketPolicy 2587func (c *S3Control) GetBucketPolicy(input *GetBucketPolicyInput) (*GetBucketPolicyOutput, error) { 2588 req, out := c.GetBucketPolicyRequest(input) 2589 return out, req.Send() 2590} 2591 2592// GetBucketPolicyWithContext is the same as GetBucketPolicy with the addition of 2593// the ability to pass a context and additional request options. 2594// 2595// See GetBucketPolicy for details on how to use this API operation. 2596// 2597// The context must be non-nil and will be used for request cancellation. If 2598// the context is nil a panic will occur. In the future the SDK may create 2599// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2600// for more information on using Contexts. 2601func (c *S3Control) GetBucketPolicyWithContext(ctx aws.Context, input *GetBucketPolicyInput, opts ...request.Option) (*GetBucketPolicyOutput, error) { 2602 req, out := c.GetBucketPolicyRequest(input) 2603 req.SetContext(ctx) 2604 req.ApplyOptions(opts...) 2605 return out, req.Send() 2606} 2607 2608const opGetBucketTagging = "GetBucketTagging" 2609 2610// GetBucketTaggingRequest generates a "aws/request.Request" representing the 2611// client's request for the GetBucketTagging operation. The "output" return 2612// value will be populated with the request's response once the request completes 2613// successfully. 2614// 2615// Use "Send" method on the returned Request to send the API call to the service. 2616// the "output" return value is not valid until after Send returns without error. 2617// 2618// See GetBucketTagging for more information on using the GetBucketTagging 2619// API call, and error handling. 2620// 2621// This method is useful when you want to inject custom logic or configuration 2622// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2623// 2624// 2625// // Example sending a request using the GetBucketTaggingRequest method. 2626// req, resp := client.GetBucketTaggingRequest(params) 2627// 2628// err := req.Send() 2629// if err == nil { // resp is now filled 2630// fmt.Println(resp) 2631// } 2632// 2633// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketTagging 2634func (c *S3Control) GetBucketTaggingRequest(input *GetBucketTaggingInput) (req *request.Request, output *GetBucketTaggingOutput) { 2635 op := &request.Operation{ 2636 Name: opGetBucketTagging, 2637 HTTPMethod: "GET", 2638 HTTPPath: "/v20180820/bucket/{name}/tagging", 2639 } 2640 2641 if input == nil { 2642 input = &GetBucketTaggingInput{} 2643 } 2644 2645 output = &GetBucketTaggingOutput{} 2646 req = c.newRequest(op, input, output) 2647 // update account id or check if provided input for account id member matches 2648 // the account id present in ARN 2649 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 2650 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 2651 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 2652 return 2653} 2654 2655// GetBucketTagging API operation for AWS S3 Control. 2656// 2657// 2658// This action gets an Amazon S3 on Outposts bucket's tags. To get an S3 bucket 2659// tags, see GetBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html) 2660// in the Amazon Simple Storage Service API. 2661// 2662// Returns the tag set associated with the Outposts bucket. For more information, 2663// see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) 2664// in the Amazon Simple Storage Service User Guide. 2665// 2666// To use this action, you must have permission to perform the GetBucketTagging 2667// action. By default, the bucket owner has this permission and can grant this 2668// permission to others. 2669// 2670// GetBucketTagging has the following special error: 2671// 2672// * Error code: NoSuchTagSetError Description: There is no tag set associated 2673// with the bucket. 2674// 2675// All Amazon S3 on Outposts REST API requests for this action require an additional 2676// parameter of x-amz-outpost-id to be passed with the request and an S3 on 2677// Outposts endpoint hostname prefix instead of s3-control. For an example of 2678// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 2679// endpoint hostname prefix and the x-amz-outpost-id derived using the access 2680// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketTagging.html#API_control_GetBucketTagging_Examples) 2681// section. 2682// 2683// The following actions are related to GetBucketTagging: 2684// 2685// * PutBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketTagging.html) 2686// 2687// * DeleteBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketTagging.html) 2688// 2689// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2690// with awserr.Error's Code and Message methods to get detailed information about 2691// the error. 2692// 2693// See the AWS API reference guide for AWS S3 Control's 2694// API operation GetBucketTagging for usage and error information. 2695// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketTagging 2696func (c *S3Control) GetBucketTagging(input *GetBucketTaggingInput) (*GetBucketTaggingOutput, error) { 2697 req, out := c.GetBucketTaggingRequest(input) 2698 return out, req.Send() 2699} 2700 2701// GetBucketTaggingWithContext is the same as GetBucketTagging with the addition of 2702// the ability to pass a context and additional request options. 2703// 2704// See GetBucketTagging for details on how to use this API operation. 2705// 2706// The context must be non-nil and will be used for request cancellation. If 2707// the context is nil a panic will occur. In the future the SDK may create 2708// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2709// for more information on using Contexts. 2710func (c *S3Control) GetBucketTaggingWithContext(ctx aws.Context, input *GetBucketTaggingInput, opts ...request.Option) (*GetBucketTaggingOutput, error) { 2711 req, out := c.GetBucketTaggingRequest(input) 2712 req.SetContext(ctx) 2713 req.ApplyOptions(opts...) 2714 return out, req.Send() 2715} 2716 2717const opGetJobTagging = "GetJobTagging" 2718 2719// GetJobTaggingRequest generates a "aws/request.Request" representing the 2720// client's request for the GetJobTagging operation. The "output" return 2721// value will be populated with the request's response once the request completes 2722// successfully. 2723// 2724// Use "Send" method on the returned Request to send the API call to the service. 2725// the "output" return value is not valid until after Send returns without error. 2726// 2727// See GetJobTagging for more information on using the GetJobTagging 2728// API call, and error handling. 2729// 2730// This method is useful when you want to inject custom logic or configuration 2731// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2732// 2733// 2734// // Example sending a request using the GetJobTaggingRequest method. 2735// req, resp := client.GetJobTaggingRequest(params) 2736// 2737// err := req.Send() 2738// if err == nil { // resp is now filled 2739// fmt.Println(resp) 2740// } 2741// 2742// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetJobTagging 2743func (c *S3Control) GetJobTaggingRequest(input *GetJobTaggingInput) (req *request.Request, output *GetJobTaggingOutput) { 2744 op := &request.Operation{ 2745 Name: opGetJobTagging, 2746 HTTPMethod: "GET", 2747 HTTPPath: "/v20180820/jobs/{id}/tagging", 2748 } 2749 2750 if input == nil { 2751 input = &GetJobTaggingInput{} 2752 } 2753 2754 output = &GetJobTaggingOutput{} 2755 req = c.newRequest(op, input, output) 2756 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 2757 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 2758 return 2759} 2760 2761// GetJobTagging API operation for AWS S3 Control. 2762// 2763// Returns the tags on an S3 Batch Operations job. To use this operation, you 2764// must have permission to perform the s3:GetJobTagging action. For more information, 2765// 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) 2766// in the Amazon Simple Storage Service User Guide. 2767// 2768// Related actions include: 2769// 2770// * CreateJob (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html) 2771// 2772// * PutJobTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutJobTagging.html) 2773// 2774// * DeleteJobTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteJobTagging.html) 2775// 2776// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2777// with awserr.Error's Code and Message methods to get detailed information about 2778// the error. 2779// 2780// See the AWS API reference guide for AWS S3 Control's 2781// API operation GetJobTagging for usage and error information. 2782// 2783// Returned Error Codes: 2784// * ErrCodeInternalServiceException "InternalServiceException" 2785// 2786// * ErrCodeTooManyRequestsException "TooManyRequestsException" 2787// 2788// * ErrCodeNotFoundException "NotFoundException" 2789// 2790// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetJobTagging 2791func (c *S3Control) GetJobTagging(input *GetJobTaggingInput) (*GetJobTaggingOutput, error) { 2792 req, out := c.GetJobTaggingRequest(input) 2793 return out, req.Send() 2794} 2795 2796// GetJobTaggingWithContext is the same as GetJobTagging with the addition of 2797// the ability to pass a context and additional request options. 2798// 2799// See GetJobTagging for details on how to use this API operation. 2800// 2801// The context must be non-nil and will be used for request cancellation. If 2802// the context is nil a panic will occur. In the future the SDK may create 2803// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2804// for more information on using Contexts. 2805func (c *S3Control) GetJobTaggingWithContext(ctx aws.Context, input *GetJobTaggingInput, opts ...request.Option) (*GetJobTaggingOutput, error) { 2806 req, out := c.GetJobTaggingRequest(input) 2807 req.SetContext(ctx) 2808 req.ApplyOptions(opts...) 2809 return out, req.Send() 2810} 2811 2812const opGetPublicAccessBlock = "GetPublicAccessBlock" 2813 2814// GetPublicAccessBlockRequest generates a "aws/request.Request" representing the 2815// client's request for the GetPublicAccessBlock operation. The "output" return 2816// value will be populated with the request's response once the request completes 2817// successfully. 2818// 2819// Use "Send" method on the returned Request to send the API call to the service. 2820// the "output" return value is not valid until after Send returns without error. 2821// 2822// See GetPublicAccessBlock for more information on using the GetPublicAccessBlock 2823// API call, and error handling. 2824// 2825// This method is useful when you want to inject custom logic or configuration 2826// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2827// 2828// 2829// // Example sending a request using the GetPublicAccessBlockRequest method. 2830// req, resp := client.GetPublicAccessBlockRequest(params) 2831// 2832// err := req.Send() 2833// if err == nil { // resp is now filled 2834// fmt.Println(resp) 2835// } 2836// 2837// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetPublicAccessBlock 2838func (c *S3Control) GetPublicAccessBlockRequest(input *GetPublicAccessBlockInput) (req *request.Request, output *GetPublicAccessBlockOutput) { 2839 op := &request.Operation{ 2840 Name: opGetPublicAccessBlock, 2841 HTTPMethod: "GET", 2842 HTTPPath: "/v20180820/configuration/publicAccessBlock", 2843 } 2844 2845 if input == nil { 2846 input = &GetPublicAccessBlockInput{} 2847 } 2848 2849 output = &GetPublicAccessBlockOutput{} 2850 req = c.newRequest(op, input, output) 2851 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 2852 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 2853 return 2854} 2855 2856// GetPublicAccessBlock API operation for AWS S3 Control. 2857// 2858// Retrieves the PublicAccessBlock configuration for an AWS account. For more 2859// information, see Using Amazon S3 block public access (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html). 2860// 2861// Related actions include: 2862// 2863// * DeletePublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeletePublicAccessBlock.html) 2864// 2865// * PutPublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutPublicAccessBlock.html) 2866// 2867// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2868// with awserr.Error's Code and Message methods to get detailed information about 2869// the error. 2870// 2871// See the AWS API reference guide for AWS S3 Control's 2872// API operation GetPublicAccessBlock for usage and error information. 2873// 2874// Returned Error Codes: 2875// * ErrCodeNoSuchPublicAccessBlockConfiguration "NoSuchPublicAccessBlockConfiguration" 2876// Amazon S3 throws this exception if you make a GetPublicAccessBlock request 2877// against an account that doesn't have a PublicAccessBlockConfiguration set. 2878// 2879// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetPublicAccessBlock 2880func (c *S3Control) GetPublicAccessBlock(input *GetPublicAccessBlockInput) (*GetPublicAccessBlockOutput, error) { 2881 req, out := c.GetPublicAccessBlockRequest(input) 2882 return out, req.Send() 2883} 2884 2885// GetPublicAccessBlockWithContext is the same as GetPublicAccessBlock with the addition of 2886// the ability to pass a context and additional request options. 2887// 2888// See GetPublicAccessBlock for details on how to use this API operation. 2889// 2890// The context must be non-nil and will be used for request cancellation. If 2891// the context is nil a panic will occur. In the future the SDK may create 2892// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2893// for more information on using Contexts. 2894func (c *S3Control) GetPublicAccessBlockWithContext(ctx aws.Context, input *GetPublicAccessBlockInput, opts ...request.Option) (*GetPublicAccessBlockOutput, error) { 2895 req, out := c.GetPublicAccessBlockRequest(input) 2896 req.SetContext(ctx) 2897 req.ApplyOptions(opts...) 2898 return out, req.Send() 2899} 2900 2901const opGetStorageLensConfiguration = "GetStorageLensConfiguration" 2902 2903// GetStorageLensConfigurationRequest generates a "aws/request.Request" representing the 2904// client's request for the GetStorageLensConfiguration operation. The "output" return 2905// value will be populated with the request's response once the request completes 2906// successfully. 2907// 2908// Use "Send" method on the returned Request to send the API call to the service. 2909// the "output" return value is not valid until after Send returns without error. 2910// 2911// See GetStorageLensConfiguration for more information on using the GetStorageLensConfiguration 2912// API call, and error handling. 2913// 2914// This method is useful when you want to inject custom logic or configuration 2915// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2916// 2917// 2918// // Example sending a request using the GetStorageLensConfigurationRequest method. 2919// req, resp := client.GetStorageLensConfigurationRequest(params) 2920// 2921// err := req.Send() 2922// if err == nil { // resp is now filled 2923// fmt.Println(resp) 2924// } 2925// 2926// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetStorageLensConfiguration 2927func (c *S3Control) GetStorageLensConfigurationRequest(input *GetStorageLensConfigurationInput) (req *request.Request, output *GetStorageLensConfigurationOutput) { 2928 op := &request.Operation{ 2929 Name: opGetStorageLensConfiguration, 2930 HTTPMethod: "GET", 2931 HTTPPath: "/v20180820/storagelens/{storagelensid}", 2932 } 2933 2934 if input == nil { 2935 input = &GetStorageLensConfigurationInput{} 2936 } 2937 2938 output = &GetStorageLensConfigurationOutput{} 2939 req = c.newRequest(op, input, output) 2940 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 2941 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 2942 return 2943} 2944 2945// GetStorageLensConfiguration API operation for AWS S3 Control. 2946// 2947// Gets the Amazon S3 Storage Lens configuration. For more information, see 2948// Assessing your storage activity and usage with Amazon S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html) 2949// in the Amazon Simple Storage Service User Guide. 2950// 2951// To use this action, you must have permission to perform the s3:GetStorageLensConfiguration 2952// action. For more information, see Setting permissions to use Amazon S3 Storage 2953// Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html) 2954// in the Amazon Simple Storage Service User Guide. 2955// 2956// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2957// with awserr.Error's Code and Message methods to get detailed information about 2958// the error. 2959// 2960// See the AWS API reference guide for AWS S3 Control's 2961// API operation GetStorageLensConfiguration for usage and error information. 2962// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetStorageLensConfiguration 2963func (c *S3Control) GetStorageLensConfiguration(input *GetStorageLensConfigurationInput) (*GetStorageLensConfigurationOutput, error) { 2964 req, out := c.GetStorageLensConfigurationRequest(input) 2965 return out, req.Send() 2966} 2967 2968// GetStorageLensConfigurationWithContext is the same as GetStorageLensConfiguration with the addition of 2969// the ability to pass a context and additional request options. 2970// 2971// See GetStorageLensConfiguration for details on how to use this API operation. 2972// 2973// The context must be non-nil and will be used for request cancellation. If 2974// the context is nil a panic will occur. In the future the SDK may create 2975// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2976// for more information on using Contexts. 2977func (c *S3Control) GetStorageLensConfigurationWithContext(ctx aws.Context, input *GetStorageLensConfigurationInput, opts ...request.Option) (*GetStorageLensConfigurationOutput, error) { 2978 req, out := c.GetStorageLensConfigurationRequest(input) 2979 req.SetContext(ctx) 2980 req.ApplyOptions(opts...) 2981 return out, req.Send() 2982} 2983 2984const opGetStorageLensConfigurationTagging = "GetStorageLensConfigurationTagging" 2985 2986// GetStorageLensConfigurationTaggingRequest generates a "aws/request.Request" representing the 2987// client's request for the GetStorageLensConfigurationTagging operation. The "output" return 2988// value will be populated with the request's response once the request completes 2989// successfully. 2990// 2991// Use "Send" method on the returned Request to send the API call to the service. 2992// the "output" return value is not valid until after Send returns without error. 2993// 2994// See GetStorageLensConfigurationTagging for more information on using the GetStorageLensConfigurationTagging 2995// API call, and error handling. 2996// 2997// This method is useful when you want to inject custom logic or configuration 2998// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2999// 3000// 3001// // Example sending a request using the GetStorageLensConfigurationTaggingRequest method. 3002// req, resp := client.GetStorageLensConfigurationTaggingRequest(params) 3003// 3004// err := req.Send() 3005// if err == nil { // resp is now filled 3006// fmt.Println(resp) 3007// } 3008// 3009// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetStorageLensConfigurationTagging 3010func (c *S3Control) GetStorageLensConfigurationTaggingRequest(input *GetStorageLensConfigurationTaggingInput) (req *request.Request, output *GetStorageLensConfigurationTaggingOutput) { 3011 op := &request.Operation{ 3012 Name: opGetStorageLensConfigurationTagging, 3013 HTTPMethod: "GET", 3014 HTTPPath: "/v20180820/storagelens/{storagelensid}/tagging", 3015 } 3016 3017 if input == nil { 3018 input = &GetStorageLensConfigurationTaggingInput{} 3019 } 3020 3021 output = &GetStorageLensConfigurationTaggingOutput{} 3022 req = c.newRequest(op, input, output) 3023 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 3024 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 3025 return 3026} 3027 3028// GetStorageLensConfigurationTagging API operation for AWS S3 Control. 3029// 3030// Gets the tags of Amazon S3 Storage Lens configuration. For more information 3031// about S3 Storage Lens, see Assessing your storage activity and usage with 3032// Amazon S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html) 3033// in the Amazon Simple Storage Service User Guide. 3034// 3035// To use this action, you must have permission to perform the s3:GetStorageLensConfigurationTagging 3036// action. For more information, see Setting permissions to use Amazon S3 Storage 3037// Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html) 3038// in the Amazon Simple Storage Service User Guide. 3039// 3040// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3041// with awserr.Error's Code and Message methods to get detailed information about 3042// the error. 3043// 3044// See the AWS API reference guide for AWS S3 Control's 3045// API operation GetStorageLensConfigurationTagging for usage and error information. 3046// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetStorageLensConfigurationTagging 3047func (c *S3Control) GetStorageLensConfigurationTagging(input *GetStorageLensConfigurationTaggingInput) (*GetStorageLensConfigurationTaggingOutput, error) { 3048 req, out := c.GetStorageLensConfigurationTaggingRequest(input) 3049 return out, req.Send() 3050} 3051 3052// GetStorageLensConfigurationTaggingWithContext is the same as GetStorageLensConfigurationTagging with the addition of 3053// the ability to pass a context and additional request options. 3054// 3055// See GetStorageLensConfigurationTagging for details on how to use this API operation. 3056// 3057// The context must be non-nil and will be used for request cancellation. If 3058// the context is nil a panic will occur. In the future the SDK may create 3059// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3060// for more information on using Contexts. 3061func (c *S3Control) GetStorageLensConfigurationTaggingWithContext(ctx aws.Context, input *GetStorageLensConfigurationTaggingInput, opts ...request.Option) (*GetStorageLensConfigurationTaggingOutput, error) { 3062 req, out := c.GetStorageLensConfigurationTaggingRequest(input) 3063 req.SetContext(ctx) 3064 req.ApplyOptions(opts...) 3065 return out, req.Send() 3066} 3067 3068const opListAccessPoints = "ListAccessPoints" 3069 3070// ListAccessPointsRequest generates a "aws/request.Request" representing the 3071// client's request for the ListAccessPoints operation. The "output" return 3072// value will be populated with the request's response once the request completes 3073// successfully. 3074// 3075// Use "Send" method on the returned Request to send the API call to the service. 3076// the "output" return value is not valid until after Send returns without error. 3077// 3078// See ListAccessPoints for more information on using the ListAccessPoints 3079// API call, and error handling. 3080// 3081// This method is useful when you want to inject custom logic or configuration 3082// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3083// 3084// 3085// // Example sending a request using the ListAccessPointsRequest method. 3086// req, resp := client.ListAccessPointsRequest(params) 3087// 3088// err := req.Send() 3089// if err == nil { // resp is now filled 3090// fmt.Println(resp) 3091// } 3092// 3093// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessPoints 3094func (c *S3Control) ListAccessPointsRequest(input *ListAccessPointsInput) (req *request.Request, output *ListAccessPointsOutput) { 3095 op := &request.Operation{ 3096 Name: opListAccessPoints, 3097 HTTPMethod: "GET", 3098 HTTPPath: "/v20180820/accesspoint", 3099 Paginator: &request.Paginator{ 3100 InputTokens: []string{"NextToken"}, 3101 OutputTokens: []string{"NextToken"}, 3102 LimitToken: "MaxResults", 3103 TruncationToken: "", 3104 }, 3105 } 3106 3107 if input == nil { 3108 input = &ListAccessPointsInput{} 3109 } 3110 3111 output = &ListAccessPointsOutput{} 3112 req = c.newRequest(op, input, output) 3113 // update account id or check if provided input for account id member matches 3114 // the account id present in ARN 3115 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 3116 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 3117 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 3118 return 3119} 3120 3121// ListAccessPoints API operation for AWS S3 Control. 3122// 3123// Returns a list of the access points currently associated with the specified 3124// bucket. You can retrieve up to 1000 access points per call. If the specified 3125// bucket has more than 1,000 access points (or the number specified in maxResults, 3126// whichever is less), the response will include a continuation token that you 3127// can use to list the additional access points. 3128// 3129// All Amazon S3 on Outposts REST API requests for this action require an additional 3130// parameter of x-amz-outpost-id to be passed with the request and an S3 on 3131// Outposts endpoint hostname prefix instead of s3-control. For an example of 3132// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 3133// endpoint hostname prefix and the x-amz-outpost-id derived using the access 3134// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html#API_control_GetAccessPoint_Examples) 3135// section. 3136// 3137// The following actions are related to ListAccessPoints: 3138// 3139// * CreateAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPoint.html) 3140// 3141// * DeleteAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPoint.html) 3142// 3143// * GetAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html) 3144// 3145// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3146// with awserr.Error's Code and Message methods to get detailed information about 3147// the error. 3148// 3149// See the AWS API reference guide for AWS S3 Control's 3150// API operation ListAccessPoints for usage and error information. 3151// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessPoints 3152func (c *S3Control) ListAccessPoints(input *ListAccessPointsInput) (*ListAccessPointsOutput, error) { 3153 req, out := c.ListAccessPointsRequest(input) 3154 return out, req.Send() 3155} 3156 3157// ListAccessPointsWithContext is the same as ListAccessPoints with the addition of 3158// the ability to pass a context and additional request options. 3159// 3160// See ListAccessPoints for details on how to use this API operation. 3161// 3162// The context must be non-nil and will be used for request cancellation. If 3163// the context is nil a panic will occur. In the future the SDK may create 3164// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3165// for more information on using Contexts. 3166func (c *S3Control) ListAccessPointsWithContext(ctx aws.Context, input *ListAccessPointsInput, opts ...request.Option) (*ListAccessPointsOutput, error) { 3167 req, out := c.ListAccessPointsRequest(input) 3168 req.SetContext(ctx) 3169 req.ApplyOptions(opts...) 3170 return out, req.Send() 3171} 3172 3173// ListAccessPointsPages iterates over the pages of a ListAccessPoints operation, 3174// calling the "fn" function with the response data for each page. To stop 3175// iterating, return false from the fn function. 3176// 3177// See ListAccessPoints method for more information on how to use this operation. 3178// 3179// Note: This operation can generate multiple requests to a service. 3180// 3181// // Example iterating over at most 3 pages of a ListAccessPoints operation. 3182// pageNum := 0 3183// err := client.ListAccessPointsPages(params, 3184// func(page *s3control.ListAccessPointsOutput, lastPage bool) bool { 3185// pageNum++ 3186// fmt.Println(page) 3187// return pageNum <= 3 3188// }) 3189// 3190func (c *S3Control) ListAccessPointsPages(input *ListAccessPointsInput, fn func(*ListAccessPointsOutput, bool) bool) error { 3191 return c.ListAccessPointsPagesWithContext(aws.BackgroundContext(), input, fn) 3192} 3193 3194// ListAccessPointsPagesWithContext same as ListAccessPointsPages except 3195// it takes a Context and allows setting request options on the pages. 3196// 3197// The context must be non-nil and will be used for request cancellation. If 3198// the context is nil a panic will occur. In the future the SDK may create 3199// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3200// for more information on using Contexts. 3201func (c *S3Control) ListAccessPointsPagesWithContext(ctx aws.Context, input *ListAccessPointsInput, fn func(*ListAccessPointsOutput, bool) bool, opts ...request.Option) error { 3202 p := request.Pagination{ 3203 NewRequest: func() (*request.Request, error) { 3204 var inCpy *ListAccessPointsInput 3205 if input != nil { 3206 tmp := *input 3207 inCpy = &tmp 3208 } 3209 req, _ := c.ListAccessPointsRequest(inCpy) 3210 req.SetContext(ctx) 3211 req.ApplyOptions(opts...) 3212 return req, nil 3213 }, 3214 } 3215 3216 for p.Next() { 3217 if !fn(p.Page().(*ListAccessPointsOutput), !p.HasNextPage()) { 3218 break 3219 } 3220 } 3221 3222 return p.Err() 3223} 3224 3225const opListAccessPointsForObjectLambda = "ListAccessPointsForObjectLambda" 3226 3227// ListAccessPointsForObjectLambdaRequest generates a "aws/request.Request" representing the 3228// client's request for the ListAccessPointsForObjectLambda operation. The "output" return 3229// value will be populated with the request's response once the request completes 3230// successfully. 3231// 3232// Use "Send" method on the returned Request to send the API call to the service. 3233// the "output" return value is not valid until after Send returns without error. 3234// 3235// See ListAccessPointsForObjectLambda for more information on using the ListAccessPointsForObjectLambda 3236// API call, and error handling. 3237// 3238// This method is useful when you want to inject custom logic or configuration 3239// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3240// 3241// 3242// // Example sending a request using the ListAccessPointsForObjectLambdaRequest method. 3243// req, resp := client.ListAccessPointsForObjectLambdaRequest(params) 3244// 3245// err := req.Send() 3246// if err == nil { // resp is now filled 3247// fmt.Println(resp) 3248// } 3249// 3250// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessPointsForObjectLambda 3251func (c *S3Control) ListAccessPointsForObjectLambdaRequest(input *ListAccessPointsForObjectLambdaInput) (req *request.Request, output *ListAccessPointsForObjectLambdaOutput) { 3252 op := &request.Operation{ 3253 Name: opListAccessPointsForObjectLambda, 3254 HTTPMethod: "GET", 3255 HTTPPath: "/v20180820/accesspointforobjectlambda", 3256 Paginator: &request.Paginator{ 3257 InputTokens: []string{"NextToken"}, 3258 OutputTokens: []string{"NextToken"}, 3259 LimitToken: "MaxResults", 3260 TruncationToken: "", 3261 }, 3262 } 3263 3264 if input == nil { 3265 input = &ListAccessPointsForObjectLambdaInput{} 3266 } 3267 3268 output = &ListAccessPointsForObjectLambdaOutput{} 3269 req = c.newRequest(op, input, output) 3270 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 3271 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 3272 return 3273} 3274 3275// ListAccessPointsForObjectLambda API operation for AWS S3 Control. 3276// 3277// Returns a list of the access points associated with the Object Lambda Access 3278// Point. You can retrieve up to 1000 access points per call. If there are more 3279// than 1,000 access points (or the number specified in maxResults, whichever 3280// is less), the response will include a continuation token that you can use 3281// to list the additional access points. 3282// 3283// The following actions are related to ListAccessPointsForObjectLambda: 3284// 3285// * CreateAccessPointForObjectLambda (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPointForObjectLambda.html) 3286// 3287// * DeleteAccessPointForObjectLambda (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointForObjectLambda.html) 3288// 3289// * GetAccessPointForObjectLambda (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointForObjectLambda.html) 3290// 3291// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3292// with awserr.Error's Code and Message methods to get detailed information about 3293// the error. 3294// 3295// See the AWS API reference guide for AWS S3 Control's 3296// API operation ListAccessPointsForObjectLambda for usage and error information. 3297// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessPointsForObjectLambda 3298func (c *S3Control) ListAccessPointsForObjectLambda(input *ListAccessPointsForObjectLambdaInput) (*ListAccessPointsForObjectLambdaOutput, error) { 3299 req, out := c.ListAccessPointsForObjectLambdaRequest(input) 3300 return out, req.Send() 3301} 3302 3303// ListAccessPointsForObjectLambdaWithContext is the same as ListAccessPointsForObjectLambda with the addition of 3304// the ability to pass a context and additional request options. 3305// 3306// See ListAccessPointsForObjectLambda for details on how to use this API operation. 3307// 3308// The context must be non-nil and will be used for request cancellation. If 3309// the context is nil a panic will occur. In the future the SDK may create 3310// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3311// for more information on using Contexts. 3312func (c *S3Control) ListAccessPointsForObjectLambdaWithContext(ctx aws.Context, input *ListAccessPointsForObjectLambdaInput, opts ...request.Option) (*ListAccessPointsForObjectLambdaOutput, error) { 3313 req, out := c.ListAccessPointsForObjectLambdaRequest(input) 3314 req.SetContext(ctx) 3315 req.ApplyOptions(opts...) 3316 return out, req.Send() 3317} 3318 3319// ListAccessPointsForObjectLambdaPages iterates over the pages of a ListAccessPointsForObjectLambda operation, 3320// calling the "fn" function with the response data for each page. To stop 3321// iterating, return false from the fn function. 3322// 3323// See ListAccessPointsForObjectLambda method for more information on how to use this operation. 3324// 3325// Note: This operation can generate multiple requests to a service. 3326// 3327// // Example iterating over at most 3 pages of a ListAccessPointsForObjectLambda operation. 3328// pageNum := 0 3329// err := client.ListAccessPointsForObjectLambdaPages(params, 3330// func(page *s3control.ListAccessPointsForObjectLambdaOutput, lastPage bool) bool { 3331// pageNum++ 3332// fmt.Println(page) 3333// return pageNum <= 3 3334// }) 3335// 3336func (c *S3Control) ListAccessPointsForObjectLambdaPages(input *ListAccessPointsForObjectLambdaInput, fn func(*ListAccessPointsForObjectLambdaOutput, bool) bool) error { 3337 return c.ListAccessPointsForObjectLambdaPagesWithContext(aws.BackgroundContext(), input, fn) 3338} 3339 3340// ListAccessPointsForObjectLambdaPagesWithContext same as ListAccessPointsForObjectLambdaPages except 3341// it takes a Context and allows setting request options on the pages. 3342// 3343// The context must be non-nil and will be used for request cancellation. If 3344// the context is nil a panic will occur. In the future the SDK may create 3345// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3346// for more information on using Contexts. 3347func (c *S3Control) ListAccessPointsForObjectLambdaPagesWithContext(ctx aws.Context, input *ListAccessPointsForObjectLambdaInput, fn func(*ListAccessPointsForObjectLambdaOutput, bool) bool, opts ...request.Option) error { 3348 p := request.Pagination{ 3349 NewRequest: func() (*request.Request, error) { 3350 var inCpy *ListAccessPointsForObjectLambdaInput 3351 if input != nil { 3352 tmp := *input 3353 inCpy = &tmp 3354 } 3355 req, _ := c.ListAccessPointsForObjectLambdaRequest(inCpy) 3356 req.SetContext(ctx) 3357 req.ApplyOptions(opts...) 3358 return req, nil 3359 }, 3360 } 3361 3362 for p.Next() { 3363 if !fn(p.Page().(*ListAccessPointsForObjectLambdaOutput), !p.HasNextPage()) { 3364 break 3365 } 3366 } 3367 3368 return p.Err() 3369} 3370 3371const opListJobs = "ListJobs" 3372 3373// ListJobsRequest generates a "aws/request.Request" representing the 3374// client's request for the ListJobs operation. The "output" return 3375// value will be populated with the request's response once the request completes 3376// successfully. 3377// 3378// Use "Send" method on the returned Request to send the API call to the service. 3379// the "output" return value is not valid until after Send returns without error. 3380// 3381// See ListJobs for more information on using the ListJobs 3382// API call, and error handling. 3383// 3384// This method is useful when you want to inject custom logic or configuration 3385// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3386// 3387// 3388// // Example sending a request using the ListJobsRequest method. 3389// req, resp := client.ListJobsRequest(params) 3390// 3391// err := req.Send() 3392// if err == nil { // resp is now filled 3393// fmt.Println(resp) 3394// } 3395// 3396// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListJobs 3397func (c *S3Control) ListJobsRequest(input *ListJobsInput) (req *request.Request, output *ListJobsOutput) { 3398 op := &request.Operation{ 3399 Name: opListJobs, 3400 HTTPMethod: "GET", 3401 HTTPPath: "/v20180820/jobs", 3402 Paginator: &request.Paginator{ 3403 InputTokens: []string{"NextToken"}, 3404 OutputTokens: []string{"NextToken"}, 3405 LimitToken: "MaxResults", 3406 TruncationToken: "", 3407 }, 3408 } 3409 3410 if input == nil { 3411 input = &ListJobsInput{} 3412 } 3413 3414 output = &ListJobsOutput{} 3415 req = c.newRequest(op, input, output) 3416 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 3417 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 3418 return 3419} 3420 3421// ListJobs API operation for AWS S3 Control. 3422// 3423// Lists current S3 Batch Operations jobs and jobs that have ended within the 3424// last 30 days for the AWS account making the request. For more information, 3425// see S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html) 3426// in the Amazon Simple Storage Service User Guide. 3427// 3428// Related actions include: 3429// 3430// * CreateJob (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html) 3431// 3432// * DescribeJob (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeJob.html) 3433// 3434// * UpdateJobPriority (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobPriority.html) 3435// 3436// * UpdateJobStatus (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobStatus.html) 3437// 3438// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3439// with awserr.Error's Code and Message methods to get detailed information about 3440// the error. 3441// 3442// See the AWS API reference guide for AWS S3 Control's 3443// API operation ListJobs for usage and error information. 3444// 3445// Returned Error Codes: 3446// * ErrCodeInvalidRequestException "InvalidRequestException" 3447// 3448// * ErrCodeInternalServiceException "InternalServiceException" 3449// 3450// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" 3451// 3452// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListJobs 3453func (c *S3Control) ListJobs(input *ListJobsInput) (*ListJobsOutput, error) { 3454 req, out := c.ListJobsRequest(input) 3455 return out, req.Send() 3456} 3457 3458// ListJobsWithContext is the same as ListJobs with the addition of 3459// the ability to pass a context and additional request options. 3460// 3461// See ListJobs for details on how to use this API operation. 3462// 3463// The context must be non-nil and will be used for request cancellation. If 3464// the context is nil a panic will occur. In the future the SDK may create 3465// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3466// for more information on using Contexts. 3467func (c *S3Control) ListJobsWithContext(ctx aws.Context, input *ListJobsInput, opts ...request.Option) (*ListJobsOutput, error) { 3468 req, out := c.ListJobsRequest(input) 3469 req.SetContext(ctx) 3470 req.ApplyOptions(opts...) 3471 return out, req.Send() 3472} 3473 3474// ListJobsPages iterates over the pages of a ListJobs operation, 3475// calling the "fn" function with the response data for each page. To stop 3476// iterating, return false from the fn function. 3477// 3478// See ListJobs method for more information on how to use this operation. 3479// 3480// Note: This operation can generate multiple requests to a service. 3481// 3482// // Example iterating over at most 3 pages of a ListJobs operation. 3483// pageNum := 0 3484// err := client.ListJobsPages(params, 3485// func(page *s3control.ListJobsOutput, lastPage bool) bool { 3486// pageNum++ 3487// fmt.Println(page) 3488// return pageNum <= 3 3489// }) 3490// 3491func (c *S3Control) ListJobsPages(input *ListJobsInput, fn func(*ListJobsOutput, bool) bool) error { 3492 return c.ListJobsPagesWithContext(aws.BackgroundContext(), input, fn) 3493} 3494 3495// ListJobsPagesWithContext same as ListJobsPages except 3496// it takes a Context and allows setting request options on the pages. 3497// 3498// The context must be non-nil and will be used for request cancellation. If 3499// the context is nil a panic will occur. In the future the SDK may create 3500// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3501// for more information on using Contexts. 3502func (c *S3Control) ListJobsPagesWithContext(ctx aws.Context, input *ListJobsInput, fn func(*ListJobsOutput, bool) bool, opts ...request.Option) error { 3503 p := request.Pagination{ 3504 NewRequest: func() (*request.Request, error) { 3505 var inCpy *ListJobsInput 3506 if input != nil { 3507 tmp := *input 3508 inCpy = &tmp 3509 } 3510 req, _ := c.ListJobsRequest(inCpy) 3511 req.SetContext(ctx) 3512 req.ApplyOptions(opts...) 3513 return req, nil 3514 }, 3515 } 3516 3517 for p.Next() { 3518 if !fn(p.Page().(*ListJobsOutput), !p.HasNextPage()) { 3519 break 3520 } 3521 } 3522 3523 return p.Err() 3524} 3525 3526const opListRegionalBuckets = "ListRegionalBuckets" 3527 3528// ListRegionalBucketsRequest generates a "aws/request.Request" representing the 3529// client's request for the ListRegionalBuckets operation. The "output" return 3530// value will be populated with the request's response once the request completes 3531// successfully. 3532// 3533// Use "Send" method on the returned Request to send the API call to the service. 3534// the "output" return value is not valid until after Send returns without error. 3535// 3536// See ListRegionalBuckets for more information on using the ListRegionalBuckets 3537// API call, and error handling. 3538// 3539// This method is useful when you want to inject custom logic or configuration 3540// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3541// 3542// 3543// // Example sending a request using the ListRegionalBucketsRequest method. 3544// req, resp := client.ListRegionalBucketsRequest(params) 3545// 3546// err := req.Send() 3547// if err == nil { // resp is now filled 3548// fmt.Println(resp) 3549// } 3550// 3551// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListRegionalBuckets 3552func (c *S3Control) ListRegionalBucketsRequest(input *ListRegionalBucketsInput) (req *request.Request, output *ListRegionalBucketsOutput) { 3553 op := &request.Operation{ 3554 Name: opListRegionalBuckets, 3555 HTTPMethod: "GET", 3556 HTTPPath: "/v20180820/bucket", 3557 Paginator: &request.Paginator{ 3558 InputTokens: []string{"NextToken"}, 3559 OutputTokens: []string{"NextToken"}, 3560 LimitToken: "MaxResults", 3561 TruncationToken: "", 3562 }, 3563 } 3564 3565 if input == nil { 3566 input = &ListRegionalBucketsInput{} 3567 } 3568 3569 output = &ListRegionalBucketsOutput{} 3570 req = c.newRequest(op, input, output) 3571 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 3572 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 3573 return 3574} 3575 3576// ListRegionalBuckets API operation for AWS S3 Control. 3577// 3578// Returns a list of all Outposts buckets in an Outpost that are owned by the 3579// authenticated sender of the request. For more information, see Using Amazon 3580// S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) 3581// in the Amazon Simple Storage Service User Guide. 3582// 3583// For an example of the request syntax for Amazon S3 on Outposts that uses 3584// the S3 on Outposts endpoint hostname prefix and x-amz-outpost-id in your 3585// request, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListRegionalBuckets.html#API_control_ListRegionalBuckets_Examples) 3586// section. 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 ListRegionalBuckets for usage and error information. 3594// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListRegionalBuckets 3595func (c *S3Control) ListRegionalBuckets(input *ListRegionalBucketsInput) (*ListRegionalBucketsOutput, error) { 3596 req, out := c.ListRegionalBucketsRequest(input) 3597 return out, req.Send() 3598} 3599 3600// ListRegionalBucketsWithContext is the same as ListRegionalBuckets with the addition of 3601// the ability to pass a context and additional request options. 3602// 3603// See ListRegionalBuckets for details on how to use this API operation. 3604// 3605// The context must be non-nil and will be used for request cancellation. If 3606// the context is nil a panic will occur. In the future the SDK may create 3607// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3608// for more information on using Contexts. 3609func (c *S3Control) ListRegionalBucketsWithContext(ctx aws.Context, input *ListRegionalBucketsInput, opts ...request.Option) (*ListRegionalBucketsOutput, error) { 3610 req, out := c.ListRegionalBucketsRequest(input) 3611 req.SetContext(ctx) 3612 req.ApplyOptions(opts...) 3613 return out, req.Send() 3614} 3615 3616// ListRegionalBucketsPages iterates over the pages of a ListRegionalBuckets operation, 3617// calling the "fn" function with the response data for each page. To stop 3618// iterating, return false from the fn function. 3619// 3620// See ListRegionalBuckets method for more information on how to use this operation. 3621// 3622// Note: This operation can generate multiple requests to a service. 3623// 3624// // Example iterating over at most 3 pages of a ListRegionalBuckets operation. 3625// pageNum := 0 3626// err := client.ListRegionalBucketsPages(params, 3627// func(page *s3control.ListRegionalBucketsOutput, lastPage bool) bool { 3628// pageNum++ 3629// fmt.Println(page) 3630// return pageNum <= 3 3631// }) 3632// 3633func (c *S3Control) ListRegionalBucketsPages(input *ListRegionalBucketsInput, fn func(*ListRegionalBucketsOutput, bool) bool) error { 3634 return c.ListRegionalBucketsPagesWithContext(aws.BackgroundContext(), input, fn) 3635} 3636 3637// ListRegionalBucketsPagesWithContext same as ListRegionalBucketsPages except 3638// it takes a Context and allows setting request options on the pages. 3639// 3640// The context must be non-nil and will be used for request cancellation. If 3641// the context is nil a panic will occur. In the future the SDK may create 3642// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3643// for more information on using Contexts. 3644func (c *S3Control) ListRegionalBucketsPagesWithContext(ctx aws.Context, input *ListRegionalBucketsInput, fn func(*ListRegionalBucketsOutput, bool) bool, opts ...request.Option) error { 3645 p := request.Pagination{ 3646 NewRequest: func() (*request.Request, error) { 3647 var inCpy *ListRegionalBucketsInput 3648 if input != nil { 3649 tmp := *input 3650 inCpy = &tmp 3651 } 3652 req, _ := c.ListRegionalBucketsRequest(inCpy) 3653 req.SetContext(ctx) 3654 req.ApplyOptions(opts...) 3655 return req, nil 3656 }, 3657 } 3658 3659 for p.Next() { 3660 if !fn(p.Page().(*ListRegionalBucketsOutput), !p.HasNextPage()) { 3661 break 3662 } 3663 } 3664 3665 return p.Err() 3666} 3667 3668const opListStorageLensConfigurations = "ListStorageLensConfigurations" 3669 3670// ListStorageLensConfigurationsRequest generates a "aws/request.Request" representing the 3671// client's request for the ListStorageLensConfigurations operation. The "output" return 3672// value will be populated with the request's response once the request completes 3673// successfully. 3674// 3675// Use "Send" method on the returned Request to send the API call to the service. 3676// the "output" return value is not valid until after Send returns without error. 3677// 3678// See ListStorageLensConfigurations for more information on using the ListStorageLensConfigurations 3679// API call, and error handling. 3680// 3681// This method is useful when you want to inject custom logic or configuration 3682// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3683// 3684// 3685// // Example sending a request using the ListStorageLensConfigurationsRequest method. 3686// req, resp := client.ListStorageLensConfigurationsRequest(params) 3687// 3688// err := req.Send() 3689// if err == nil { // resp is now filled 3690// fmt.Println(resp) 3691// } 3692// 3693// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListStorageLensConfigurations 3694func (c *S3Control) ListStorageLensConfigurationsRequest(input *ListStorageLensConfigurationsInput) (req *request.Request, output *ListStorageLensConfigurationsOutput) { 3695 op := &request.Operation{ 3696 Name: opListStorageLensConfigurations, 3697 HTTPMethod: "GET", 3698 HTTPPath: "/v20180820/storagelens", 3699 Paginator: &request.Paginator{ 3700 InputTokens: []string{"NextToken"}, 3701 OutputTokens: []string{"NextToken"}, 3702 LimitToken: "", 3703 TruncationToken: "", 3704 }, 3705 } 3706 3707 if input == nil { 3708 input = &ListStorageLensConfigurationsInput{} 3709 } 3710 3711 output = &ListStorageLensConfigurationsOutput{} 3712 req = c.newRequest(op, input, output) 3713 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 3714 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 3715 return 3716} 3717 3718// ListStorageLensConfigurations API operation for AWS S3 Control. 3719// 3720// Gets a list of Amazon S3 Storage Lens configurations. For more information 3721// about S3 Storage Lens, see Assessing your storage activity and usage with 3722// Amazon S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html) 3723// in the Amazon Simple Storage Service User Guide. 3724// 3725// To use this action, you must have permission to perform the s3:ListStorageLensConfigurations 3726// action. For more information, see Setting permissions to use Amazon S3 Storage 3727// Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html) 3728// in the Amazon Simple Storage Service User Guide. 3729// 3730// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3731// with awserr.Error's Code and Message methods to get detailed information about 3732// the error. 3733// 3734// See the AWS API reference guide for AWS S3 Control's 3735// API operation ListStorageLensConfigurations for usage and error information. 3736// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListStorageLensConfigurations 3737func (c *S3Control) ListStorageLensConfigurations(input *ListStorageLensConfigurationsInput) (*ListStorageLensConfigurationsOutput, error) { 3738 req, out := c.ListStorageLensConfigurationsRequest(input) 3739 return out, req.Send() 3740} 3741 3742// ListStorageLensConfigurationsWithContext is the same as ListStorageLensConfigurations with the addition of 3743// the ability to pass a context and additional request options. 3744// 3745// See ListStorageLensConfigurations for details on how to use this API operation. 3746// 3747// The context must be non-nil and will be used for request cancellation. If 3748// the context is nil a panic will occur. In the future the SDK may create 3749// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3750// for more information on using Contexts. 3751func (c *S3Control) ListStorageLensConfigurationsWithContext(ctx aws.Context, input *ListStorageLensConfigurationsInput, opts ...request.Option) (*ListStorageLensConfigurationsOutput, error) { 3752 req, out := c.ListStorageLensConfigurationsRequest(input) 3753 req.SetContext(ctx) 3754 req.ApplyOptions(opts...) 3755 return out, req.Send() 3756} 3757 3758// ListStorageLensConfigurationsPages iterates over the pages of a ListStorageLensConfigurations operation, 3759// calling the "fn" function with the response data for each page. To stop 3760// iterating, return false from the fn function. 3761// 3762// See ListStorageLensConfigurations method for more information on how to use this operation. 3763// 3764// Note: This operation can generate multiple requests to a service. 3765// 3766// // Example iterating over at most 3 pages of a ListStorageLensConfigurations operation. 3767// pageNum := 0 3768// err := client.ListStorageLensConfigurationsPages(params, 3769// func(page *s3control.ListStorageLensConfigurationsOutput, lastPage bool) bool { 3770// pageNum++ 3771// fmt.Println(page) 3772// return pageNum <= 3 3773// }) 3774// 3775func (c *S3Control) ListStorageLensConfigurationsPages(input *ListStorageLensConfigurationsInput, fn func(*ListStorageLensConfigurationsOutput, bool) bool) error { 3776 return c.ListStorageLensConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn) 3777} 3778 3779// ListStorageLensConfigurationsPagesWithContext same as ListStorageLensConfigurationsPages except 3780// it takes a Context and allows setting request options on the pages. 3781// 3782// The context must be non-nil and will be used for request cancellation. If 3783// the context is nil a panic will occur. In the future the SDK may create 3784// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3785// for more information on using Contexts. 3786func (c *S3Control) ListStorageLensConfigurationsPagesWithContext(ctx aws.Context, input *ListStorageLensConfigurationsInput, fn func(*ListStorageLensConfigurationsOutput, bool) bool, opts ...request.Option) error { 3787 p := request.Pagination{ 3788 NewRequest: func() (*request.Request, error) { 3789 var inCpy *ListStorageLensConfigurationsInput 3790 if input != nil { 3791 tmp := *input 3792 inCpy = &tmp 3793 } 3794 req, _ := c.ListStorageLensConfigurationsRequest(inCpy) 3795 req.SetContext(ctx) 3796 req.ApplyOptions(opts...) 3797 return req, nil 3798 }, 3799 } 3800 3801 for p.Next() { 3802 if !fn(p.Page().(*ListStorageLensConfigurationsOutput), !p.HasNextPage()) { 3803 break 3804 } 3805 } 3806 3807 return p.Err() 3808} 3809 3810const opPutAccessPointConfigurationForObjectLambda = "PutAccessPointConfigurationForObjectLambda" 3811 3812// PutAccessPointConfigurationForObjectLambdaRequest generates a "aws/request.Request" representing the 3813// client's request for the PutAccessPointConfigurationForObjectLambda operation. The "output" return 3814// value will be populated with the request's response once the request completes 3815// successfully. 3816// 3817// Use "Send" method on the returned Request to send the API call to the service. 3818// the "output" return value is not valid until after Send returns without error. 3819// 3820// See PutAccessPointConfigurationForObjectLambda for more information on using the PutAccessPointConfigurationForObjectLambda 3821// API call, and error handling. 3822// 3823// This method is useful when you want to inject custom logic or configuration 3824// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3825// 3826// 3827// // Example sending a request using the PutAccessPointConfigurationForObjectLambdaRequest method. 3828// req, resp := client.PutAccessPointConfigurationForObjectLambdaRequest(params) 3829// 3830// err := req.Send() 3831// if err == nil { // resp is now filled 3832// fmt.Println(resp) 3833// } 3834// 3835// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutAccessPointConfigurationForObjectLambda 3836func (c *S3Control) PutAccessPointConfigurationForObjectLambdaRequest(input *PutAccessPointConfigurationForObjectLambdaInput) (req *request.Request, output *PutAccessPointConfigurationForObjectLambdaOutput) { 3837 op := &request.Operation{ 3838 Name: opPutAccessPointConfigurationForObjectLambda, 3839 HTTPMethod: "PUT", 3840 HTTPPath: "/v20180820/accesspointforobjectlambda/{name}/configuration", 3841 } 3842 3843 if input == nil { 3844 input = &PutAccessPointConfigurationForObjectLambdaInput{} 3845 } 3846 3847 output = &PutAccessPointConfigurationForObjectLambdaOutput{} 3848 req = c.newRequest(op, input, output) 3849 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3850 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 3851 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 3852 return 3853} 3854 3855// PutAccessPointConfigurationForObjectLambda API operation for AWS S3 Control. 3856// 3857// Replaces configuration for an Object Lambda Access Point. 3858// 3859// The following actions are related to PutAccessPointConfigurationForObjectLambda: 3860// 3861// * GetAccessPointConfigurationForObjectLambda (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointConfigurationForObjectLambda.html) 3862// 3863// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3864// with awserr.Error's Code and Message methods to get detailed information about 3865// the error. 3866// 3867// See the AWS API reference guide for AWS S3 Control's 3868// API operation PutAccessPointConfigurationForObjectLambda for usage and error information. 3869// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutAccessPointConfigurationForObjectLambda 3870func (c *S3Control) PutAccessPointConfigurationForObjectLambda(input *PutAccessPointConfigurationForObjectLambdaInput) (*PutAccessPointConfigurationForObjectLambdaOutput, error) { 3871 req, out := c.PutAccessPointConfigurationForObjectLambdaRequest(input) 3872 return out, req.Send() 3873} 3874 3875// PutAccessPointConfigurationForObjectLambdaWithContext is the same as PutAccessPointConfigurationForObjectLambda with the addition of 3876// the ability to pass a context and additional request options. 3877// 3878// See PutAccessPointConfigurationForObjectLambda for details on how to use this API operation. 3879// 3880// The context must be non-nil and will be used for request cancellation. If 3881// the context is nil a panic will occur. In the future the SDK may create 3882// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3883// for more information on using Contexts. 3884func (c *S3Control) PutAccessPointConfigurationForObjectLambdaWithContext(ctx aws.Context, input *PutAccessPointConfigurationForObjectLambdaInput, opts ...request.Option) (*PutAccessPointConfigurationForObjectLambdaOutput, error) { 3885 req, out := c.PutAccessPointConfigurationForObjectLambdaRequest(input) 3886 req.SetContext(ctx) 3887 req.ApplyOptions(opts...) 3888 return out, req.Send() 3889} 3890 3891const opPutAccessPointPolicy = "PutAccessPointPolicy" 3892 3893// PutAccessPointPolicyRequest generates a "aws/request.Request" representing the 3894// client's request for the PutAccessPointPolicy operation. The "output" return 3895// value will be populated with the request's response once the request completes 3896// successfully. 3897// 3898// Use "Send" method on the returned Request to send the API call to the service. 3899// the "output" return value is not valid until after Send returns without error. 3900// 3901// See PutAccessPointPolicy for more information on using the PutAccessPointPolicy 3902// API call, and error handling. 3903// 3904// This method is useful when you want to inject custom logic or configuration 3905// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3906// 3907// 3908// // Example sending a request using the PutAccessPointPolicyRequest method. 3909// req, resp := client.PutAccessPointPolicyRequest(params) 3910// 3911// err := req.Send() 3912// if err == nil { // resp is now filled 3913// fmt.Println(resp) 3914// } 3915// 3916// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutAccessPointPolicy 3917func (c *S3Control) PutAccessPointPolicyRequest(input *PutAccessPointPolicyInput) (req *request.Request, output *PutAccessPointPolicyOutput) { 3918 op := &request.Operation{ 3919 Name: opPutAccessPointPolicy, 3920 HTTPMethod: "PUT", 3921 HTTPPath: "/v20180820/accesspoint/{name}/policy", 3922 } 3923 3924 if input == nil { 3925 input = &PutAccessPointPolicyInput{} 3926 } 3927 3928 output = &PutAccessPointPolicyOutput{} 3929 req = c.newRequest(op, input, output) 3930 // update account id or check if provided input for account id member matches 3931 // the account id present in ARN 3932 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 3933 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3934 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 3935 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 3936 return 3937} 3938 3939// PutAccessPointPolicy API operation for AWS S3 Control. 3940// 3941// Associates an access policy with the specified access point. Each access 3942// point can have only one policy, so a request made to this API replaces any 3943// existing policy associated with the specified access point. 3944// 3945// All Amazon S3 on Outposts REST API requests for this action require an additional 3946// parameter of x-amz-outpost-id to be passed with the request and an S3 on 3947// Outposts endpoint hostname prefix instead of s3-control. For an example of 3948// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 3949// endpoint hostname prefix and the x-amz-outpost-id derived using the access 3950// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessPointPolicy.html#API_control_PutAccessPointPolicy_Examples) 3951// section. 3952// 3953// The following actions are related to PutAccessPointPolicy: 3954// 3955// * GetAccessPointPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointPolicy.html) 3956// 3957// * DeleteAccessPointPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointPolicy.html) 3958// 3959// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3960// with awserr.Error's Code and Message methods to get detailed information about 3961// the error. 3962// 3963// See the AWS API reference guide for AWS S3 Control's 3964// API operation PutAccessPointPolicy for usage and error information. 3965// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutAccessPointPolicy 3966func (c *S3Control) PutAccessPointPolicy(input *PutAccessPointPolicyInput) (*PutAccessPointPolicyOutput, error) { 3967 req, out := c.PutAccessPointPolicyRequest(input) 3968 return out, req.Send() 3969} 3970 3971// PutAccessPointPolicyWithContext is the same as PutAccessPointPolicy with the addition of 3972// the ability to pass a context and additional request options. 3973// 3974// See PutAccessPointPolicy for details on how to use this API operation. 3975// 3976// The context must be non-nil and will be used for request cancellation. If 3977// the context is nil a panic will occur. In the future the SDK may create 3978// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3979// for more information on using Contexts. 3980func (c *S3Control) PutAccessPointPolicyWithContext(ctx aws.Context, input *PutAccessPointPolicyInput, opts ...request.Option) (*PutAccessPointPolicyOutput, error) { 3981 req, out := c.PutAccessPointPolicyRequest(input) 3982 req.SetContext(ctx) 3983 req.ApplyOptions(opts...) 3984 return out, req.Send() 3985} 3986 3987const opPutAccessPointPolicyForObjectLambda = "PutAccessPointPolicyForObjectLambda" 3988 3989// PutAccessPointPolicyForObjectLambdaRequest generates a "aws/request.Request" representing the 3990// client's request for the PutAccessPointPolicyForObjectLambda operation. The "output" return 3991// value will be populated with the request's response once the request completes 3992// successfully. 3993// 3994// Use "Send" method on the returned Request to send the API call to the service. 3995// the "output" return value is not valid until after Send returns without error. 3996// 3997// See PutAccessPointPolicyForObjectLambda for more information on using the PutAccessPointPolicyForObjectLambda 3998// API call, and error handling. 3999// 4000// This method is useful when you want to inject custom logic or configuration 4001// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4002// 4003// 4004// // Example sending a request using the PutAccessPointPolicyForObjectLambdaRequest method. 4005// req, resp := client.PutAccessPointPolicyForObjectLambdaRequest(params) 4006// 4007// err := req.Send() 4008// if err == nil { // resp is now filled 4009// fmt.Println(resp) 4010// } 4011// 4012// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutAccessPointPolicyForObjectLambda 4013func (c *S3Control) PutAccessPointPolicyForObjectLambdaRequest(input *PutAccessPointPolicyForObjectLambdaInput) (req *request.Request, output *PutAccessPointPolicyForObjectLambdaOutput) { 4014 op := &request.Operation{ 4015 Name: opPutAccessPointPolicyForObjectLambda, 4016 HTTPMethod: "PUT", 4017 HTTPPath: "/v20180820/accesspointforobjectlambda/{name}/policy", 4018 } 4019 4020 if input == nil { 4021 input = &PutAccessPointPolicyForObjectLambdaInput{} 4022 } 4023 4024 output = &PutAccessPointPolicyForObjectLambdaOutput{} 4025 req = c.newRequest(op, input, output) 4026 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4027 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 4028 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 4029 return 4030} 4031 4032// PutAccessPointPolicyForObjectLambda API operation for AWS S3 Control. 4033// 4034// Creates or replaces resource policy for an Object Lambda Access Point. For 4035// an example policy, see Creating Object Lambda Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/olap-create.html#olap-create-cli) 4036// in the Amazon Simple Storage Service User Guide. 4037// 4038// The following actions are related to PutAccessPointPolicyForObjectLambda: 4039// 4040// * DeleteAccessPointPolicyForObjectLambda (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointPolicyForObjectLambda.html) 4041// 4042// * GetAccessPointPolicyForObjectLambda (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointPolicyForObjectLambda.html) 4043// 4044// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4045// with awserr.Error's Code and Message methods to get detailed information about 4046// the error. 4047// 4048// See the AWS API reference guide for AWS S3 Control's 4049// API operation PutAccessPointPolicyForObjectLambda for usage and error information. 4050// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutAccessPointPolicyForObjectLambda 4051func (c *S3Control) PutAccessPointPolicyForObjectLambda(input *PutAccessPointPolicyForObjectLambdaInput) (*PutAccessPointPolicyForObjectLambdaOutput, error) { 4052 req, out := c.PutAccessPointPolicyForObjectLambdaRequest(input) 4053 return out, req.Send() 4054} 4055 4056// PutAccessPointPolicyForObjectLambdaWithContext is the same as PutAccessPointPolicyForObjectLambda with the addition of 4057// the ability to pass a context and additional request options. 4058// 4059// See PutAccessPointPolicyForObjectLambda for details on how to use this API operation. 4060// 4061// The context must be non-nil and will be used for request cancellation. If 4062// the context is nil a panic will occur. In the future the SDK may create 4063// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4064// for more information on using Contexts. 4065func (c *S3Control) PutAccessPointPolicyForObjectLambdaWithContext(ctx aws.Context, input *PutAccessPointPolicyForObjectLambdaInput, opts ...request.Option) (*PutAccessPointPolicyForObjectLambdaOutput, error) { 4066 req, out := c.PutAccessPointPolicyForObjectLambdaRequest(input) 4067 req.SetContext(ctx) 4068 req.ApplyOptions(opts...) 4069 return out, req.Send() 4070} 4071 4072const opPutBucketLifecycleConfiguration = "PutBucketLifecycleConfiguration" 4073 4074// PutBucketLifecycleConfigurationRequest generates a "aws/request.Request" representing the 4075// client's request for the PutBucketLifecycleConfiguration operation. The "output" return 4076// value will be populated with the request's response once the request completes 4077// successfully. 4078// 4079// Use "Send" method on the returned Request to send the API call to the service. 4080// the "output" return value is not valid until after Send returns without error. 4081// 4082// See PutBucketLifecycleConfiguration for more information on using the PutBucketLifecycleConfiguration 4083// API call, and error handling. 4084// 4085// This method is useful when you want to inject custom logic or configuration 4086// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4087// 4088// 4089// // Example sending a request using the PutBucketLifecycleConfigurationRequest method. 4090// req, resp := client.PutBucketLifecycleConfigurationRequest(params) 4091// 4092// err := req.Send() 4093// if err == nil { // resp is now filled 4094// fmt.Println(resp) 4095// } 4096// 4097// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketLifecycleConfiguration 4098func (c *S3Control) PutBucketLifecycleConfigurationRequest(input *PutBucketLifecycleConfigurationInput) (req *request.Request, output *PutBucketLifecycleConfigurationOutput) { 4099 op := &request.Operation{ 4100 Name: opPutBucketLifecycleConfiguration, 4101 HTTPMethod: "PUT", 4102 HTTPPath: "/v20180820/bucket/{name}/lifecycleconfiguration", 4103 } 4104 4105 if input == nil { 4106 input = &PutBucketLifecycleConfigurationInput{} 4107 } 4108 4109 output = &PutBucketLifecycleConfigurationOutput{} 4110 req = c.newRequest(op, input, output) 4111 // update account id or check if provided input for account id member matches 4112 // the account id present in ARN 4113 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 4114 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4115 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 4116 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 4117 req.Handlers.Build.PushBackNamed(request.NamedHandler{ 4118 Name: "contentMd5Handler", 4119 Fn: checksum.AddBodyContentMD5Handler, 4120 }) 4121 return 4122} 4123 4124// PutBucketLifecycleConfiguration API operation for AWS S3 Control. 4125// 4126// 4127// This action puts a lifecycle configuration to an Amazon S3 on Outposts bucket. 4128// To put a lifecycle configuration to an S3 bucket, see PutBucketLifecycleConfiguration 4129// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html) 4130// in the Amazon Simple Storage Service API. 4131// 4132// Creates a new lifecycle configuration for the S3 on Outposts bucket or replaces 4133// an existing lifecycle configuration. Outposts buckets only support lifecycle 4134// configurations that delete/expire objects after a certain period of time 4135// and abort incomplete multipart uploads. 4136// 4137// All Amazon S3 on Outposts REST API requests for this action require an additional 4138// parameter of x-amz-outpost-id to be passed with the request and an S3 on 4139// Outposts endpoint hostname prefix instead of s3-control. For an example of 4140// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 4141// endpoint hostname prefix and the x-amz-outpost-id derived using the access 4142// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketLifecycleConfiguration.html#API_control_PutBucketLifecycleConfiguration_Examples) 4143// section. 4144// 4145// The following actions are related to PutBucketLifecycleConfiguration: 4146// 4147// * GetBucketLifecycleConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketLifecycleConfiguration.html) 4148// 4149// * DeleteBucketLifecycleConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketLifecycleConfiguration.html) 4150// 4151// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4152// with awserr.Error's Code and Message methods to get detailed information about 4153// the error. 4154// 4155// See the AWS API reference guide for AWS S3 Control's 4156// API operation PutBucketLifecycleConfiguration for usage and error information. 4157// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketLifecycleConfiguration 4158func (c *S3Control) PutBucketLifecycleConfiguration(input *PutBucketLifecycleConfigurationInput) (*PutBucketLifecycleConfigurationOutput, error) { 4159 req, out := c.PutBucketLifecycleConfigurationRequest(input) 4160 return out, req.Send() 4161} 4162 4163// PutBucketLifecycleConfigurationWithContext is the same as PutBucketLifecycleConfiguration with the addition of 4164// the ability to pass a context and additional request options. 4165// 4166// See PutBucketLifecycleConfiguration for details on how to use this API operation. 4167// 4168// The context must be non-nil and will be used for request cancellation. If 4169// the context is nil a panic will occur. In the future the SDK may create 4170// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4171// for more information on using Contexts. 4172func (c *S3Control) PutBucketLifecycleConfigurationWithContext(ctx aws.Context, input *PutBucketLifecycleConfigurationInput, opts ...request.Option) (*PutBucketLifecycleConfigurationOutput, error) { 4173 req, out := c.PutBucketLifecycleConfigurationRequest(input) 4174 req.SetContext(ctx) 4175 req.ApplyOptions(opts...) 4176 return out, req.Send() 4177} 4178 4179const opPutBucketPolicy = "PutBucketPolicy" 4180 4181// PutBucketPolicyRequest generates a "aws/request.Request" representing the 4182// client's request for the PutBucketPolicy operation. The "output" return 4183// value will be populated with the request's response once the request completes 4184// successfully. 4185// 4186// Use "Send" method on the returned Request to send the API call to the service. 4187// the "output" return value is not valid until after Send returns without error. 4188// 4189// See PutBucketPolicy for more information on using the PutBucketPolicy 4190// API call, and error handling. 4191// 4192// This method is useful when you want to inject custom logic or configuration 4193// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4194// 4195// 4196// // Example sending a request using the PutBucketPolicyRequest method. 4197// req, resp := client.PutBucketPolicyRequest(params) 4198// 4199// err := req.Send() 4200// if err == nil { // resp is now filled 4201// fmt.Println(resp) 4202// } 4203// 4204// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketPolicy 4205func (c *S3Control) PutBucketPolicyRequest(input *PutBucketPolicyInput) (req *request.Request, output *PutBucketPolicyOutput) { 4206 op := &request.Operation{ 4207 Name: opPutBucketPolicy, 4208 HTTPMethod: "PUT", 4209 HTTPPath: "/v20180820/bucket/{name}/policy", 4210 } 4211 4212 if input == nil { 4213 input = &PutBucketPolicyInput{} 4214 } 4215 4216 output = &PutBucketPolicyOutput{} 4217 req = c.newRequest(op, input, output) 4218 // update account id or check if provided input for account id member matches 4219 // the account id present in ARN 4220 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 4221 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4222 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 4223 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 4224 req.Handlers.Build.PushBackNamed(request.NamedHandler{ 4225 Name: "contentMd5Handler", 4226 Fn: checksum.AddBodyContentMD5Handler, 4227 }) 4228 return 4229} 4230 4231// PutBucketPolicy API operation for AWS S3 Control. 4232// 4233// 4234// This action puts a bucket policy to an Amazon S3 on Outposts bucket. To put 4235// a policy on an S3 bucket, see PutBucketPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketPolicy.html) 4236// in the Amazon Simple Storage Service API. 4237// 4238// Applies an Amazon S3 bucket policy to an Outposts bucket. For more information, 4239// see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) 4240// in the Amazon Simple Storage Service User Guide. 4241// 4242// If you are using an identity other than the root user of the AWS account 4243// that owns the Outposts bucket, the calling identity must have the PutBucketPolicy 4244// permissions on the specified Outposts bucket and belong to the bucket owner's 4245// account in order to use this action. 4246// 4247// If you don't have PutBucketPolicy permissions, Amazon S3 returns a 403 Access 4248// Denied error. If you have the correct permissions, but you're not using an 4249// identity that belongs to the bucket owner's account, Amazon S3 returns a 4250// 405 Method Not Allowed error. 4251// 4252// As a security precaution, the root user of the AWS account that owns a bucket 4253// can always use this action, even if the policy explicitly denies the root 4254// user the ability to perform this action. 4255// 4256// For more information about bucket policies, see Using Bucket Policies and 4257// User Policies (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html). 4258// 4259// All Amazon S3 on Outposts REST API requests for this action require an additional 4260// parameter of x-amz-outpost-id to be passed with the request and an S3 on 4261// Outposts endpoint hostname prefix instead of s3-control. For an example of 4262// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 4263// endpoint hostname prefix and the x-amz-outpost-id derived using the access 4264// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketPolicy.html#API_control_PutBucketPolicy_Examples) 4265// section. 4266// 4267// The following actions are related to PutBucketPolicy: 4268// 4269// * GetBucketPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketPolicy.html) 4270// 4271// * DeleteBucketPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketPolicy.html) 4272// 4273// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4274// with awserr.Error's Code and Message methods to get detailed information about 4275// the error. 4276// 4277// See the AWS API reference guide for AWS S3 Control's 4278// API operation PutBucketPolicy for usage and error information. 4279// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketPolicy 4280func (c *S3Control) PutBucketPolicy(input *PutBucketPolicyInput) (*PutBucketPolicyOutput, error) { 4281 req, out := c.PutBucketPolicyRequest(input) 4282 return out, req.Send() 4283} 4284 4285// PutBucketPolicyWithContext is the same as PutBucketPolicy with the addition of 4286// the ability to pass a context and additional request options. 4287// 4288// See PutBucketPolicy for details on how to use this API operation. 4289// 4290// The context must be non-nil and will be used for request cancellation. If 4291// the context is nil a panic will occur. In the future the SDK may create 4292// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4293// for more information on using Contexts. 4294func (c *S3Control) PutBucketPolicyWithContext(ctx aws.Context, input *PutBucketPolicyInput, opts ...request.Option) (*PutBucketPolicyOutput, error) { 4295 req, out := c.PutBucketPolicyRequest(input) 4296 req.SetContext(ctx) 4297 req.ApplyOptions(opts...) 4298 return out, req.Send() 4299} 4300 4301const opPutBucketTagging = "PutBucketTagging" 4302 4303// PutBucketTaggingRequest generates a "aws/request.Request" representing the 4304// client's request for the PutBucketTagging operation. The "output" return 4305// value will be populated with the request's response once the request completes 4306// successfully. 4307// 4308// Use "Send" method on the returned Request to send the API call to the service. 4309// the "output" return value is not valid until after Send returns without error. 4310// 4311// See PutBucketTagging for more information on using the PutBucketTagging 4312// API call, and error handling. 4313// 4314// This method is useful when you want to inject custom logic or configuration 4315// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4316// 4317// 4318// // Example sending a request using the PutBucketTaggingRequest method. 4319// req, resp := client.PutBucketTaggingRequest(params) 4320// 4321// err := req.Send() 4322// if err == nil { // resp is now filled 4323// fmt.Println(resp) 4324// } 4325// 4326// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketTagging 4327func (c *S3Control) PutBucketTaggingRequest(input *PutBucketTaggingInput) (req *request.Request, output *PutBucketTaggingOutput) { 4328 op := &request.Operation{ 4329 Name: opPutBucketTagging, 4330 HTTPMethod: "PUT", 4331 HTTPPath: "/v20180820/bucket/{name}/tagging", 4332 } 4333 4334 if input == nil { 4335 input = &PutBucketTaggingInput{} 4336 } 4337 4338 output = &PutBucketTaggingOutput{} 4339 req = c.newRequest(op, input, output) 4340 // update account id or check if provided input for account id member matches 4341 // the account id present in ARN 4342 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 4343 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4344 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 4345 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 4346 req.Handlers.Build.PushBackNamed(request.NamedHandler{ 4347 Name: "contentMd5Handler", 4348 Fn: checksum.AddBodyContentMD5Handler, 4349 }) 4350 return 4351} 4352 4353// PutBucketTagging API operation for AWS S3 Control. 4354// 4355// 4356// This action puts tags on an Amazon S3 on Outposts bucket. To put tags on 4357// an S3 bucket, see PutBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html) 4358// in the Amazon Simple Storage Service API. 4359// 4360// Sets the tags for an S3 on Outposts bucket. For more information, see Using 4361// Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) 4362// in the Amazon Simple Storage Service User Guide. 4363// 4364// Use tags to organize your AWS bill to reflect your own cost structure. To 4365// do this, sign up to get your AWS account bill with tag key values included. 4366// Then, to see the cost of combined resources, organize your billing information 4367// according to resources with the same tag key values. For example, you can 4368// tag several resources with a specific application name, and then organize 4369// your billing information to see the total cost of that application across 4370// several services. For more information, see Cost allocation and tagging (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html). 4371// 4372// Within a bucket, if you add a tag that has the same key as an existing tag, 4373// the new value overwrites the old value. For more information, see Using cost 4374// allocation in Amazon S3 bucket tags (https://docs.aws.amazon.com/AmazonS3/latest/userguide/CostAllocTagging.html). 4375// 4376// To use this action, you must have permissions to perform the s3-outposts:PutBucketTagging 4377// action. The Outposts bucket owner has this permission by default and can 4378// grant this permission to others. For more information about permissions, 4379// see Permissions Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) 4380// and Managing access permissions to your Amazon S3 resources (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html). 4381// 4382// PutBucketTagging has the following special errors: 4383// 4384// * Error code: InvalidTagError Description: The tag provided was not a 4385// valid tag. This error can occur if the tag did not pass input validation. 4386// For information about tag restrictions, see User-Defined Tag Restrictions 4387// (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html) 4388// and AWS-Generated Cost Allocation Tag Restrictions (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/aws-tag-restrictions.html). 4389// 4390// * Error code: MalformedXMLError Description: The XML provided does not 4391// match the schema. 4392// 4393// * Error code: OperationAbortedError Description: A conflicting conditional 4394// action is currently in progress against this resource. Try again. 4395// 4396// * Error code: InternalError Description: The service was unable to apply 4397// the provided tag to the bucket. 4398// 4399// All Amazon S3 on Outposts REST API requests for this action require an additional 4400// parameter of x-amz-outpost-id to be passed with the request and an S3 on 4401// Outposts endpoint hostname prefix instead of s3-control. For an example of 4402// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 4403// endpoint hostname prefix and the x-amz-outpost-id derived using the access 4404// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketTagging.html#API_control_PutBucketTagging_Examples) 4405// section. 4406// 4407// The following actions are related to PutBucketTagging: 4408// 4409// * GetBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketTagging.html) 4410// 4411// * DeleteBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketTagging.html) 4412// 4413// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4414// with awserr.Error's Code and Message methods to get detailed information about 4415// the error. 4416// 4417// See the AWS API reference guide for AWS S3 Control's 4418// API operation PutBucketTagging for usage and error information. 4419// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketTagging 4420func (c *S3Control) PutBucketTagging(input *PutBucketTaggingInput) (*PutBucketTaggingOutput, error) { 4421 req, out := c.PutBucketTaggingRequest(input) 4422 return out, req.Send() 4423} 4424 4425// PutBucketTaggingWithContext is the same as PutBucketTagging with the addition of 4426// the ability to pass a context and additional request options. 4427// 4428// See PutBucketTagging for details on how to use this API operation. 4429// 4430// The context must be non-nil and will be used for request cancellation. If 4431// the context is nil a panic will occur. In the future the SDK may create 4432// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4433// for more information on using Contexts. 4434func (c *S3Control) PutBucketTaggingWithContext(ctx aws.Context, input *PutBucketTaggingInput, opts ...request.Option) (*PutBucketTaggingOutput, error) { 4435 req, out := c.PutBucketTaggingRequest(input) 4436 req.SetContext(ctx) 4437 req.ApplyOptions(opts...) 4438 return out, req.Send() 4439} 4440 4441const opPutJobTagging = "PutJobTagging" 4442 4443// PutJobTaggingRequest generates a "aws/request.Request" representing the 4444// client's request for the PutJobTagging operation. The "output" return 4445// value will be populated with the request's response once the request completes 4446// successfully. 4447// 4448// Use "Send" method on the returned Request to send the API call to the service. 4449// the "output" return value is not valid until after Send returns without error. 4450// 4451// See PutJobTagging for more information on using the PutJobTagging 4452// API call, and error handling. 4453// 4454// This method is useful when you want to inject custom logic or configuration 4455// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4456// 4457// 4458// // Example sending a request using the PutJobTaggingRequest method. 4459// req, resp := client.PutJobTaggingRequest(params) 4460// 4461// err := req.Send() 4462// if err == nil { // resp is now filled 4463// fmt.Println(resp) 4464// } 4465// 4466// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutJobTagging 4467func (c *S3Control) PutJobTaggingRequest(input *PutJobTaggingInput) (req *request.Request, output *PutJobTaggingOutput) { 4468 op := &request.Operation{ 4469 Name: opPutJobTagging, 4470 HTTPMethod: "PUT", 4471 HTTPPath: "/v20180820/jobs/{id}/tagging", 4472 } 4473 4474 if input == nil { 4475 input = &PutJobTaggingInput{} 4476 } 4477 4478 output = &PutJobTaggingOutput{} 4479 req = c.newRequest(op, input, output) 4480 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4481 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 4482 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 4483 return 4484} 4485 4486// PutJobTagging API operation for AWS S3 Control. 4487// 4488// Sets the supplied tag-set on an S3 Batch Operations job. 4489// 4490// A tag is a key-value pair. You can associate S3 Batch Operations tags with 4491// any job by sending a PUT request against the tagging subresource that is 4492// associated with the job. To modify the existing tag set, you can either replace 4493// the existing tag set entirely, or make changes within the existing tag set 4494// by retrieving the existing tag set using GetJobTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetJobTagging.html), 4495// modify that tag set, and use this action to replace the tag set with the 4496// one you modified. For more information, see Controlling access and labeling 4497// jobs using tags (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-managing-jobs.html#batch-ops-job-tags) 4498// in the Amazon Simple Storage Service User Guide. 4499// 4500// * If you send this request with an empty tag set, Amazon S3 deletes the 4501// existing tag set on the Batch Operations job. If you use this method, 4502// you are charged for a Tier 1 Request (PUT). For more information, see 4503// Amazon S3 pricing (http://aws.amazon.com/s3/pricing/). 4504// 4505// * For deleting existing tags for your Batch Operations job, a DeleteJobTagging 4506// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteJobTagging.html) 4507// request is preferred because it achieves the same result without incurring 4508// charges. 4509// 4510// * A few things to consider about using tags: Amazon S3 limits the maximum 4511// number of tags to 50 tags per job. You can associate up to 50 tags with 4512// a job as long as they have unique tag keys. A tag key can be up to 128 4513// Unicode characters in length, and tag values can be up to 256 Unicode 4514// characters in length. The key and values are case sensitive. For tagging-related 4515// restrictions related to characters and encodings, see User-Defined Tag 4516// Restrictions (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html) 4517// in the AWS Billing and Cost Management User Guide. 4518// 4519// To use this action, you must have permission to perform the s3:PutJobTagging 4520// action. 4521// 4522// Related actions include: 4523// 4524// * CreatJob (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html) 4525// 4526// * GetJobTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetJobTagging.html) 4527// 4528// * DeleteJobTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteJobTagging.html) 4529// 4530// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4531// with awserr.Error's Code and Message methods to get detailed information about 4532// the error. 4533// 4534// See the AWS API reference guide for AWS S3 Control's 4535// API operation PutJobTagging for usage and error information. 4536// 4537// Returned Error Codes: 4538// * ErrCodeInternalServiceException "InternalServiceException" 4539// 4540// * ErrCodeTooManyRequestsException "TooManyRequestsException" 4541// 4542// * ErrCodeNotFoundException "NotFoundException" 4543// 4544// * ErrCodeTooManyTagsException "TooManyTagsException" 4545// Amazon S3 throws this exception if you have too many tags in your tag set. 4546// 4547// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutJobTagging 4548func (c *S3Control) PutJobTagging(input *PutJobTaggingInput) (*PutJobTaggingOutput, error) { 4549 req, out := c.PutJobTaggingRequest(input) 4550 return out, req.Send() 4551} 4552 4553// PutJobTaggingWithContext is the same as PutJobTagging with the addition of 4554// the ability to pass a context and additional request options. 4555// 4556// See PutJobTagging for details on how to use this API operation. 4557// 4558// The context must be non-nil and will be used for request cancellation. If 4559// the context is nil a panic will occur. In the future the SDK may create 4560// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4561// for more information on using Contexts. 4562func (c *S3Control) PutJobTaggingWithContext(ctx aws.Context, input *PutJobTaggingInput, opts ...request.Option) (*PutJobTaggingOutput, error) { 4563 req, out := c.PutJobTaggingRequest(input) 4564 req.SetContext(ctx) 4565 req.ApplyOptions(opts...) 4566 return out, req.Send() 4567} 4568 4569const opPutPublicAccessBlock = "PutPublicAccessBlock" 4570 4571// PutPublicAccessBlockRequest generates a "aws/request.Request" representing the 4572// client's request for the PutPublicAccessBlock operation. The "output" return 4573// value will be populated with the request's response once the request completes 4574// successfully. 4575// 4576// Use "Send" method on the returned Request to send the API call to the service. 4577// the "output" return value is not valid until after Send returns without error. 4578// 4579// See PutPublicAccessBlock for more information on using the PutPublicAccessBlock 4580// API call, and error handling. 4581// 4582// This method is useful when you want to inject custom logic or configuration 4583// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4584// 4585// 4586// // Example sending a request using the PutPublicAccessBlockRequest method. 4587// req, resp := client.PutPublicAccessBlockRequest(params) 4588// 4589// err := req.Send() 4590// if err == nil { // resp is now filled 4591// fmt.Println(resp) 4592// } 4593// 4594// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutPublicAccessBlock 4595func (c *S3Control) PutPublicAccessBlockRequest(input *PutPublicAccessBlockInput) (req *request.Request, output *PutPublicAccessBlockOutput) { 4596 op := &request.Operation{ 4597 Name: opPutPublicAccessBlock, 4598 HTTPMethod: "PUT", 4599 HTTPPath: "/v20180820/configuration/publicAccessBlock", 4600 } 4601 4602 if input == nil { 4603 input = &PutPublicAccessBlockInput{} 4604 } 4605 4606 output = &PutPublicAccessBlockOutput{} 4607 req = c.newRequest(op, input, output) 4608 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4609 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 4610 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 4611 return 4612} 4613 4614// PutPublicAccessBlock API operation for AWS S3 Control. 4615// 4616// Creates or modifies the PublicAccessBlock configuration for an AWS account. 4617// For more information, see Using Amazon S3 block public access (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html). 4618// 4619// Related actions include: 4620// 4621// * GetPublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetPublicAccessBlock.html) 4622// 4623// * DeletePublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeletePublicAccessBlock.html) 4624// 4625// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4626// with awserr.Error's Code and Message methods to get detailed information about 4627// the error. 4628// 4629// See the AWS API reference guide for AWS S3 Control's 4630// API operation PutPublicAccessBlock for usage and error information. 4631// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutPublicAccessBlock 4632func (c *S3Control) PutPublicAccessBlock(input *PutPublicAccessBlockInput) (*PutPublicAccessBlockOutput, error) { 4633 req, out := c.PutPublicAccessBlockRequest(input) 4634 return out, req.Send() 4635} 4636 4637// PutPublicAccessBlockWithContext is the same as PutPublicAccessBlock with the addition of 4638// the ability to pass a context and additional request options. 4639// 4640// See PutPublicAccessBlock for details on how to use this API operation. 4641// 4642// The context must be non-nil and will be used for request cancellation. If 4643// the context is nil a panic will occur. In the future the SDK may create 4644// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4645// for more information on using Contexts. 4646func (c *S3Control) PutPublicAccessBlockWithContext(ctx aws.Context, input *PutPublicAccessBlockInput, opts ...request.Option) (*PutPublicAccessBlockOutput, error) { 4647 req, out := c.PutPublicAccessBlockRequest(input) 4648 req.SetContext(ctx) 4649 req.ApplyOptions(opts...) 4650 return out, req.Send() 4651} 4652 4653const opPutStorageLensConfiguration = "PutStorageLensConfiguration" 4654 4655// PutStorageLensConfigurationRequest generates a "aws/request.Request" representing the 4656// client's request for the PutStorageLensConfiguration operation. The "output" return 4657// value will be populated with the request's response once the request completes 4658// successfully. 4659// 4660// Use "Send" method on the returned Request to send the API call to the service. 4661// the "output" return value is not valid until after Send returns without error. 4662// 4663// See PutStorageLensConfiguration for more information on using the PutStorageLensConfiguration 4664// API call, and error handling. 4665// 4666// This method is useful when you want to inject custom logic or configuration 4667// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4668// 4669// 4670// // Example sending a request using the PutStorageLensConfigurationRequest method. 4671// req, resp := client.PutStorageLensConfigurationRequest(params) 4672// 4673// err := req.Send() 4674// if err == nil { // resp is now filled 4675// fmt.Println(resp) 4676// } 4677// 4678// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutStorageLensConfiguration 4679func (c *S3Control) PutStorageLensConfigurationRequest(input *PutStorageLensConfigurationInput) (req *request.Request, output *PutStorageLensConfigurationOutput) { 4680 op := &request.Operation{ 4681 Name: opPutStorageLensConfiguration, 4682 HTTPMethod: "PUT", 4683 HTTPPath: "/v20180820/storagelens/{storagelensid}", 4684 } 4685 4686 if input == nil { 4687 input = &PutStorageLensConfigurationInput{} 4688 } 4689 4690 output = &PutStorageLensConfigurationOutput{} 4691 req = c.newRequest(op, input, output) 4692 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4693 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 4694 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 4695 return 4696} 4697 4698// PutStorageLensConfiguration API operation for AWS S3 Control. 4699// 4700// Puts an Amazon S3 Storage Lens configuration. For more information about 4701// S3 Storage Lens, see Working with Amazon S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html) 4702// in the Amazon Simple Storage Service User Guide. 4703// 4704// To use this action, you must have permission to perform the s3:PutStorageLensConfiguration 4705// action. For more information, see Setting permissions to use Amazon S3 Storage 4706// Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html) 4707// in the Amazon Simple Storage Service User Guide. 4708// 4709// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4710// with awserr.Error's Code and Message methods to get detailed information about 4711// the error. 4712// 4713// See the AWS API reference guide for AWS S3 Control's 4714// API operation PutStorageLensConfiguration for usage and error information. 4715// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutStorageLensConfiguration 4716func (c *S3Control) PutStorageLensConfiguration(input *PutStorageLensConfigurationInput) (*PutStorageLensConfigurationOutput, error) { 4717 req, out := c.PutStorageLensConfigurationRequest(input) 4718 return out, req.Send() 4719} 4720 4721// PutStorageLensConfigurationWithContext is the same as PutStorageLensConfiguration with the addition of 4722// the ability to pass a context and additional request options. 4723// 4724// See PutStorageLensConfiguration for details on how to use this API operation. 4725// 4726// The context must be non-nil and will be used for request cancellation. If 4727// the context is nil a panic will occur. In the future the SDK may create 4728// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4729// for more information on using Contexts. 4730func (c *S3Control) PutStorageLensConfigurationWithContext(ctx aws.Context, input *PutStorageLensConfigurationInput, opts ...request.Option) (*PutStorageLensConfigurationOutput, error) { 4731 req, out := c.PutStorageLensConfigurationRequest(input) 4732 req.SetContext(ctx) 4733 req.ApplyOptions(opts...) 4734 return out, req.Send() 4735} 4736 4737const opPutStorageLensConfigurationTagging = "PutStorageLensConfigurationTagging" 4738 4739// PutStorageLensConfigurationTaggingRequest generates a "aws/request.Request" representing the 4740// client's request for the PutStorageLensConfigurationTagging operation. The "output" return 4741// value will be populated with the request's response once the request completes 4742// successfully. 4743// 4744// Use "Send" method on the returned Request to send the API call to the service. 4745// the "output" return value is not valid until after Send returns without error. 4746// 4747// See PutStorageLensConfigurationTagging for more information on using the PutStorageLensConfigurationTagging 4748// API call, and error handling. 4749// 4750// This method is useful when you want to inject custom logic or configuration 4751// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4752// 4753// 4754// // Example sending a request using the PutStorageLensConfigurationTaggingRequest method. 4755// req, resp := client.PutStorageLensConfigurationTaggingRequest(params) 4756// 4757// err := req.Send() 4758// if err == nil { // resp is now filled 4759// fmt.Println(resp) 4760// } 4761// 4762// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutStorageLensConfigurationTagging 4763func (c *S3Control) PutStorageLensConfigurationTaggingRequest(input *PutStorageLensConfigurationTaggingInput) (req *request.Request, output *PutStorageLensConfigurationTaggingOutput) { 4764 op := &request.Operation{ 4765 Name: opPutStorageLensConfigurationTagging, 4766 HTTPMethod: "PUT", 4767 HTTPPath: "/v20180820/storagelens/{storagelensid}/tagging", 4768 } 4769 4770 if input == nil { 4771 input = &PutStorageLensConfigurationTaggingInput{} 4772 } 4773 4774 output = &PutStorageLensConfigurationTaggingOutput{} 4775 req = c.newRequest(op, input, output) 4776 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4777 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 4778 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 4779 return 4780} 4781 4782// PutStorageLensConfigurationTagging API operation for AWS S3 Control. 4783// 4784// Put or replace tags on an existing Amazon S3 Storage Lens configuration. 4785// For more information about S3 Storage Lens, see Assessing your storage activity 4786// and usage with Amazon S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html) 4787// in the Amazon Simple Storage Service User Guide. 4788// 4789// To use this action, you must have permission to perform the s3:PutStorageLensConfigurationTagging 4790// action. For more information, see Setting permissions to use Amazon S3 Storage 4791// Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html) 4792// in the Amazon Simple Storage Service User Guide. 4793// 4794// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4795// with awserr.Error's Code and Message methods to get detailed information about 4796// the error. 4797// 4798// See the AWS API reference guide for AWS S3 Control's 4799// API operation PutStorageLensConfigurationTagging for usage and error information. 4800// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutStorageLensConfigurationTagging 4801func (c *S3Control) PutStorageLensConfigurationTagging(input *PutStorageLensConfigurationTaggingInput) (*PutStorageLensConfigurationTaggingOutput, error) { 4802 req, out := c.PutStorageLensConfigurationTaggingRequest(input) 4803 return out, req.Send() 4804} 4805 4806// PutStorageLensConfigurationTaggingWithContext is the same as PutStorageLensConfigurationTagging with the addition of 4807// the ability to pass a context and additional request options. 4808// 4809// See PutStorageLensConfigurationTagging for details on how to use this API operation. 4810// 4811// The context must be non-nil and will be used for request cancellation. If 4812// the context is nil a panic will occur. In the future the SDK may create 4813// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4814// for more information on using Contexts. 4815func (c *S3Control) PutStorageLensConfigurationTaggingWithContext(ctx aws.Context, input *PutStorageLensConfigurationTaggingInput, opts ...request.Option) (*PutStorageLensConfigurationTaggingOutput, error) { 4816 req, out := c.PutStorageLensConfigurationTaggingRequest(input) 4817 req.SetContext(ctx) 4818 req.ApplyOptions(opts...) 4819 return out, req.Send() 4820} 4821 4822const opUpdateJobPriority = "UpdateJobPriority" 4823 4824// UpdateJobPriorityRequest generates a "aws/request.Request" representing the 4825// client's request for the UpdateJobPriority operation. The "output" return 4826// value will be populated with the request's response once the request completes 4827// successfully. 4828// 4829// Use "Send" method on the returned Request to send the API call to the service. 4830// the "output" return value is not valid until after Send returns without error. 4831// 4832// See UpdateJobPriority for more information on using the UpdateJobPriority 4833// API call, and error handling. 4834// 4835// This method is useful when you want to inject custom logic or configuration 4836// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4837// 4838// 4839// // Example sending a request using the UpdateJobPriorityRequest method. 4840// req, resp := client.UpdateJobPriorityRequest(params) 4841// 4842// err := req.Send() 4843// if err == nil { // resp is now filled 4844// fmt.Println(resp) 4845// } 4846// 4847// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/UpdateJobPriority 4848func (c *S3Control) UpdateJobPriorityRequest(input *UpdateJobPriorityInput) (req *request.Request, output *UpdateJobPriorityOutput) { 4849 op := &request.Operation{ 4850 Name: opUpdateJobPriority, 4851 HTTPMethod: "POST", 4852 HTTPPath: "/v20180820/jobs/{id}/priority", 4853 } 4854 4855 if input == nil { 4856 input = &UpdateJobPriorityInput{} 4857 } 4858 4859 output = &UpdateJobPriorityOutput{} 4860 req = c.newRequest(op, input, output) 4861 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 4862 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 4863 return 4864} 4865 4866// UpdateJobPriority API operation for AWS S3 Control. 4867// 4868// Updates an existing S3 Batch Operations job's priority. For more information, 4869// see S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html) 4870// in the Amazon Simple Storage Service User Guide. 4871// 4872// Related actions include: 4873// 4874// * CreateJob (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html) 4875// 4876// * ListJobs (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListJobs.html) 4877// 4878// * DescribeJob (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeJob.html) 4879// 4880// * UpdateJobStatus (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobStatus.html) 4881// 4882// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4883// with awserr.Error's Code and Message methods to get detailed information about 4884// the error. 4885// 4886// See the AWS API reference guide for AWS S3 Control's 4887// API operation UpdateJobPriority for usage and error information. 4888// 4889// Returned Error Codes: 4890// * ErrCodeBadRequestException "BadRequestException" 4891// 4892// * ErrCodeTooManyRequestsException "TooManyRequestsException" 4893// 4894// * ErrCodeNotFoundException "NotFoundException" 4895// 4896// * ErrCodeInternalServiceException "InternalServiceException" 4897// 4898// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/UpdateJobPriority 4899func (c *S3Control) UpdateJobPriority(input *UpdateJobPriorityInput) (*UpdateJobPriorityOutput, error) { 4900 req, out := c.UpdateJobPriorityRequest(input) 4901 return out, req.Send() 4902} 4903 4904// UpdateJobPriorityWithContext is the same as UpdateJobPriority with the addition of 4905// the ability to pass a context and additional request options. 4906// 4907// See UpdateJobPriority for details on how to use this API operation. 4908// 4909// The context must be non-nil and will be used for request cancellation. If 4910// the context is nil a panic will occur. In the future the SDK may create 4911// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4912// for more information on using Contexts. 4913func (c *S3Control) UpdateJobPriorityWithContext(ctx aws.Context, input *UpdateJobPriorityInput, opts ...request.Option) (*UpdateJobPriorityOutput, error) { 4914 req, out := c.UpdateJobPriorityRequest(input) 4915 req.SetContext(ctx) 4916 req.ApplyOptions(opts...) 4917 return out, req.Send() 4918} 4919 4920const opUpdateJobStatus = "UpdateJobStatus" 4921 4922// UpdateJobStatusRequest generates a "aws/request.Request" representing the 4923// client's request for the UpdateJobStatus operation. The "output" return 4924// value will be populated with the request's response once the request completes 4925// successfully. 4926// 4927// Use "Send" method on the returned Request to send the API call to the service. 4928// the "output" return value is not valid until after Send returns without error. 4929// 4930// See UpdateJobStatus for more information on using the UpdateJobStatus 4931// API call, and error handling. 4932// 4933// This method is useful when you want to inject custom logic or configuration 4934// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4935// 4936// 4937// // Example sending a request using the UpdateJobStatusRequest method. 4938// req, resp := client.UpdateJobStatusRequest(params) 4939// 4940// err := req.Send() 4941// if err == nil { // resp is now filled 4942// fmt.Println(resp) 4943// } 4944// 4945// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/UpdateJobStatus 4946func (c *S3Control) UpdateJobStatusRequest(input *UpdateJobStatusInput) (req *request.Request, output *UpdateJobStatusOutput) { 4947 op := &request.Operation{ 4948 Name: opUpdateJobStatus, 4949 HTTPMethod: "POST", 4950 HTTPPath: "/v20180820/jobs/{id}/status", 4951 } 4952 4953 if input == nil { 4954 input = &UpdateJobStatusInput{} 4955 } 4956 4957 output = &UpdateJobStatusOutput{} 4958 req = c.newRequest(op, input, output) 4959 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 4960 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 4961 return 4962} 4963 4964// UpdateJobStatus API operation for AWS S3 Control. 4965// 4966// Updates the status for the specified job. Use this action to confirm that 4967// you want to run a job or to cancel an existing job. For more information, 4968// see S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html) 4969// in the Amazon Simple Storage Service User Guide. 4970// 4971// Related actions include: 4972// 4973// * CreateJob (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html) 4974// 4975// * ListJobs (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListJobs.html) 4976// 4977// * DescribeJob (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeJob.html) 4978// 4979// * UpdateJobStatus (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobStatus.html) 4980// 4981// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4982// with awserr.Error's Code and Message methods to get detailed information about 4983// the error. 4984// 4985// See the AWS API reference guide for AWS S3 Control's 4986// API operation UpdateJobStatus for usage and error information. 4987// 4988// Returned Error Codes: 4989// * ErrCodeBadRequestException "BadRequestException" 4990// 4991// * ErrCodeTooManyRequestsException "TooManyRequestsException" 4992// 4993// * ErrCodeNotFoundException "NotFoundException" 4994// 4995// * ErrCodeJobStatusException "JobStatusException" 4996// 4997// * ErrCodeInternalServiceException "InternalServiceException" 4998// 4999// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/UpdateJobStatus 5000func (c *S3Control) UpdateJobStatus(input *UpdateJobStatusInput) (*UpdateJobStatusOutput, error) { 5001 req, out := c.UpdateJobStatusRequest(input) 5002 return out, req.Send() 5003} 5004 5005// UpdateJobStatusWithContext is the same as UpdateJobStatus with the addition of 5006// the ability to pass a context and additional request options. 5007// 5008// See UpdateJobStatus for details on how to use this API operation. 5009// 5010// The context must be non-nil and will be used for request cancellation. If 5011// the context is nil a panic will occur. In the future the SDK may create 5012// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5013// for more information on using Contexts. 5014func (c *S3Control) UpdateJobStatusWithContext(ctx aws.Context, input *UpdateJobStatusInput, opts ...request.Option) (*UpdateJobStatusOutput, error) { 5015 req, out := c.UpdateJobStatusRequest(input) 5016 req.SetContext(ctx) 5017 req.ApplyOptions(opts...) 5018 return out, req.Send() 5019} 5020 5021// The container for abort incomplete multipart upload 5022type AbortIncompleteMultipartUpload struct { 5023 _ struct{} `type:"structure"` 5024 5025 // Specifies the number of days after which Amazon S3 aborts an incomplete multipart 5026 // upload to the Outposts bucket. 5027 DaysAfterInitiation *int64 `type:"integer"` 5028} 5029 5030// String returns the string representation 5031func (s AbortIncompleteMultipartUpload) String() string { 5032 return awsutil.Prettify(s) 5033} 5034 5035// GoString returns the string representation 5036func (s AbortIncompleteMultipartUpload) GoString() string { 5037 return s.String() 5038} 5039 5040// SetDaysAfterInitiation sets the DaysAfterInitiation field's value. 5041func (s *AbortIncompleteMultipartUpload) SetDaysAfterInitiation(v int64) *AbortIncompleteMultipartUpload { 5042 s.DaysAfterInitiation = &v 5043 return s 5044} 5045 5046// An access point used to access a bucket. 5047type AccessPoint struct { 5048 _ struct{} `type:"structure"` 5049 5050 // The ARN for the access point. 5051 AccessPointArn *string `min:"4" type:"string"` 5052 5053 // The name of the bucket associated with this access point. 5054 // 5055 // Bucket is a required field 5056 Bucket *string `min:"3" type:"string" required:"true"` 5057 5058 // The name of this access point. 5059 // 5060 // Name is a required field 5061 Name *string `min:"3" type:"string" required:"true"` 5062 5063 // Indicates whether this access point allows access from the public internet. 5064 // If VpcConfiguration is specified for this access point, then NetworkOrigin 5065 // is VPC, and the access point doesn't allow access from the public internet. 5066 // Otherwise, NetworkOrigin is Internet, and the access point allows access 5067 // from the public internet, subject to the access point and bucket access policies. 5068 // 5069 // NetworkOrigin is a required field 5070 NetworkOrigin *string `type:"string" required:"true" enum:"NetworkOrigin"` 5071 5072 // The virtual private cloud (VPC) configuration for this access point, if one 5073 // exists. 5074 VpcConfiguration *VpcConfiguration `type:"structure"` 5075} 5076 5077// String returns the string representation 5078func (s AccessPoint) String() string { 5079 return awsutil.Prettify(s) 5080} 5081 5082// GoString returns the string representation 5083func (s AccessPoint) GoString() string { 5084 return s.String() 5085} 5086 5087// SetAccessPointArn sets the AccessPointArn field's value. 5088func (s *AccessPoint) SetAccessPointArn(v string) *AccessPoint { 5089 s.AccessPointArn = &v 5090 return s 5091} 5092 5093// SetBucket sets the Bucket field's value. 5094func (s *AccessPoint) SetBucket(v string) *AccessPoint { 5095 s.Bucket = &v 5096 return s 5097} 5098 5099// SetName sets the Name field's value. 5100func (s *AccessPoint) SetName(v string) *AccessPoint { 5101 s.Name = &v 5102 return s 5103} 5104 5105// SetNetworkOrigin sets the NetworkOrigin field's value. 5106func (s *AccessPoint) SetNetworkOrigin(v string) *AccessPoint { 5107 s.NetworkOrigin = &v 5108 return s 5109} 5110 5111// SetVpcConfiguration sets the VpcConfiguration field's value. 5112func (s *AccessPoint) SetVpcConfiguration(v *VpcConfiguration) *AccessPoint { 5113 s.VpcConfiguration = v 5114 return s 5115} 5116 5117// A container for the account level Amazon S3 Storage Lens configuration. 5118type AccountLevel struct { 5119 _ struct{} `type:"structure"` 5120 5121 // A container for the S3 Storage Lens activity metrics. 5122 ActivityMetrics *ActivityMetrics `type:"structure"` 5123 5124 // A container for the S3 Storage Lens bucket-level configuration. 5125 // 5126 // BucketLevel is a required field 5127 BucketLevel *BucketLevel `type:"structure" required:"true"` 5128} 5129 5130// String returns the string representation 5131func (s AccountLevel) String() string { 5132 return awsutil.Prettify(s) 5133} 5134 5135// GoString returns the string representation 5136func (s AccountLevel) GoString() string { 5137 return s.String() 5138} 5139 5140// Validate inspects the fields of the type to determine if they are valid. 5141func (s *AccountLevel) Validate() error { 5142 invalidParams := request.ErrInvalidParams{Context: "AccountLevel"} 5143 if s.BucketLevel == nil { 5144 invalidParams.Add(request.NewErrParamRequired("BucketLevel")) 5145 } 5146 if s.BucketLevel != nil { 5147 if err := s.BucketLevel.Validate(); err != nil { 5148 invalidParams.AddNested("BucketLevel", err.(request.ErrInvalidParams)) 5149 } 5150 } 5151 5152 if invalidParams.Len() > 0 { 5153 return invalidParams 5154 } 5155 return nil 5156} 5157 5158// SetActivityMetrics sets the ActivityMetrics field's value. 5159func (s *AccountLevel) SetActivityMetrics(v *ActivityMetrics) *AccountLevel { 5160 s.ActivityMetrics = v 5161 return s 5162} 5163 5164// SetBucketLevel sets the BucketLevel field's value. 5165func (s *AccountLevel) SetBucketLevel(v *BucketLevel) *AccountLevel { 5166 s.BucketLevel = v 5167 return s 5168} 5169 5170// A container for the activity metrics. 5171type ActivityMetrics struct { 5172 _ struct{} `type:"structure"` 5173 5174 // A container for whether the activity metrics are enabled. 5175 IsEnabled *bool `type:"boolean"` 5176} 5177 5178// String returns the string representation 5179func (s ActivityMetrics) String() string { 5180 return awsutil.Prettify(s) 5181} 5182 5183// GoString returns the string representation 5184func (s ActivityMetrics) GoString() string { 5185 return s.String() 5186} 5187 5188// SetIsEnabled sets the IsEnabled field's value. 5189func (s *ActivityMetrics) SetIsEnabled(v bool) *ActivityMetrics { 5190 s.IsEnabled = &v 5191 return s 5192} 5193 5194// AWS Lambda function used to transform objects through an Object Lambda Access 5195// Point. 5196type AwsLambdaTransformation struct { 5197 _ struct{} `type:"structure"` 5198 5199 // The Amazon Resource Name (ARN) of the AWS Lambda function. 5200 // 5201 // FunctionArn is a required field 5202 FunctionArn *string `min:"1" type:"string" required:"true"` 5203 5204 // Additional JSON that provides supplemental data to the Lambda function used 5205 // to transform objects. 5206 FunctionPayload *string `type:"string"` 5207} 5208 5209// String returns the string representation 5210func (s AwsLambdaTransformation) String() string { 5211 return awsutil.Prettify(s) 5212} 5213 5214// GoString returns the string representation 5215func (s AwsLambdaTransformation) GoString() string { 5216 return s.String() 5217} 5218 5219// Validate inspects the fields of the type to determine if they are valid. 5220func (s *AwsLambdaTransformation) Validate() error { 5221 invalidParams := request.ErrInvalidParams{Context: "AwsLambdaTransformation"} 5222 if s.FunctionArn == nil { 5223 invalidParams.Add(request.NewErrParamRequired("FunctionArn")) 5224 } 5225 if s.FunctionArn != nil && len(*s.FunctionArn) < 1 { 5226 invalidParams.Add(request.NewErrParamMinLen("FunctionArn", 1)) 5227 } 5228 5229 if invalidParams.Len() > 0 { 5230 return invalidParams 5231 } 5232 return nil 5233} 5234 5235// SetFunctionArn sets the FunctionArn field's value. 5236func (s *AwsLambdaTransformation) SetFunctionArn(v string) *AwsLambdaTransformation { 5237 s.FunctionArn = &v 5238 return s 5239} 5240 5241// SetFunctionPayload sets the FunctionPayload field's value. 5242func (s *AwsLambdaTransformation) SetFunctionPayload(v string) *AwsLambdaTransformation { 5243 s.FunctionPayload = &v 5244 return s 5245} 5246 5247// A container for the bucket-level configuration. 5248type BucketLevel struct { 5249 _ struct{} `type:"structure"` 5250 5251 // A container for the bucket-level activity metrics for Amazon S3 Storage Lens 5252 ActivityMetrics *ActivityMetrics `type:"structure"` 5253 5254 // A container for the bucket-level prefix-level metrics for S3 Storage Lens 5255 PrefixLevel *PrefixLevel `type:"structure"` 5256} 5257 5258// String returns the string representation 5259func (s BucketLevel) String() string { 5260 return awsutil.Prettify(s) 5261} 5262 5263// GoString returns the string representation 5264func (s BucketLevel) GoString() string { 5265 return s.String() 5266} 5267 5268// Validate inspects the fields of the type to determine if they are valid. 5269func (s *BucketLevel) Validate() error { 5270 invalidParams := request.ErrInvalidParams{Context: "BucketLevel"} 5271 if s.PrefixLevel != nil { 5272 if err := s.PrefixLevel.Validate(); err != nil { 5273 invalidParams.AddNested("PrefixLevel", err.(request.ErrInvalidParams)) 5274 } 5275 } 5276 5277 if invalidParams.Len() > 0 { 5278 return invalidParams 5279 } 5280 return nil 5281} 5282 5283// SetActivityMetrics sets the ActivityMetrics field's value. 5284func (s *BucketLevel) SetActivityMetrics(v *ActivityMetrics) *BucketLevel { 5285 s.ActivityMetrics = v 5286 return s 5287} 5288 5289// SetPrefixLevel sets the PrefixLevel field's value. 5290func (s *BucketLevel) SetPrefixLevel(v *PrefixLevel) *BucketLevel { 5291 s.PrefixLevel = v 5292 return s 5293} 5294 5295type CreateAccessPointForObjectLambdaInput struct { 5296 _ struct{} `locationName:"CreateAccessPointForObjectLambdaRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 5297 5298 // The AWS account ID for owner of the specified Object Lambda Access Point. 5299 // 5300 // AccountId is a required field 5301 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 5302 5303 // Object Lambda Access Point configuration as a JSON document. 5304 // 5305 // Configuration is a required field 5306 Configuration *ObjectLambdaConfiguration `type:"structure" required:"true"` 5307 5308 // The name you want to assign to this Object Lambda Access Point. 5309 // 5310 // Name is a required field 5311 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 5312} 5313 5314// String returns the string representation 5315func (s CreateAccessPointForObjectLambdaInput) String() string { 5316 return awsutil.Prettify(s) 5317} 5318 5319// GoString returns the string representation 5320func (s CreateAccessPointForObjectLambdaInput) GoString() string { 5321 return s.String() 5322} 5323 5324// Validate inspects the fields of the type to determine if they are valid. 5325func (s *CreateAccessPointForObjectLambdaInput) Validate() error { 5326 invalidParams := request.ErrInvalidParams{Context: "CreateAccessPointForObjectLambdaInput"} 5327 if s.AccountId == nil { 5328 invalidParams.Add(request.NewErrParamRequired("AccountId")) 5329 } 5330 if s.AccountId != nil && len(*s.AccountId) < 1 { 5331 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 5332 } 5333 if s.Configuration == nil { 5334 invalidParams.Add(request.NewErrParamRequired("Configuration")) 5335 } 5336 if s.Name == nil { 5337 invalidParams.Add(request.NewErrParamRequired("Name")) 5338 } 5339 if s.Name != nil && len(*s.Name) < 3 { 5340 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 5341 } 5342 if s.Configuration != nil { 5343 if err := s.Configuration.Validate(); err != nil { 5344 invalidParams.AddNested("Configuration", err.(request.ErrInvalidParams)) 5345 } 5346 } 5347 5348 if invalidParams.Len() > 0 { 5349 return invalidParams 5350 } 5351 return nil 5352} 5353 5354// SetAccountId sets the AccountId field's value. 5355func (s *CreateAccessPointForObjectLambdaInput) SetAccountId(v string) *CreateAccessPointForObjectLambdaInput { 5356 s.AccountId = &v 5357 return s 5358} 5359 5360// SetConfiguration sets the Configuration field's value. 5361func (s *CreateAccessPointForObjectLambdaInput) SetConfiguration(v *ObjectLambdaConfiguration) *CreateAccessPointForObjectLambdaInput { 5362 s.Configuration = v 5363 return s 5364} 5365 5366// SetName sets the Name field's value. 5367func (s *CreateAccessPointForObjectLambdaInput) SetName(v string) *CreateAccessPointForObjectLambdaInput { 5368 s.Name = &v 5369 return s 5370} 5371 5372func (s *CreateAccessPointForObjectLambdaInput) hostLabels() map[string]string { 5373 return map[string]string{ 5374 "AccountId": aws.StringValue(s.AccountId), 5375 } 5376} 5377 5378type CreateAccessPointForObjectLambdaOutput struct { 5379 _ struct{} `type:"structure"` 5380 5381 // Specifies the ARN for the Object Lambda Access Point. 5382 ObjectLambdaAccessPointArn *string `min:"1" type:"string"` 5383} 5384 5385// String returns the string representation 5386func (s CreateAccessPointForObjectLambdaOutput) String() string { 5387 return awsutil.Prettify(s) 5388} 5389 5390// GoString returns the string representation 5391func (s CreateAccessPointForObjectLambdaOutput) GoString() string { 5392 return s.String() 5393} 5394 5395// SetObjectLambdaAccessPointArn sets the ObjectLambdaAccessPointArn field's value. 5396func (s *CreateAccessPointForObjectLambdaOutput) SetObjectLambdaAccessPointArn(v string) *CreateAccessPointForObjectLambdaOutput { 5397 s.ObjectLambdaAccessPointArn = &v 5398 return s 5399} 5400 5401type CreateAccessPointInput struct { 5402 _ struct{} `locationName:"CreateAccessPointRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 5403 5404 // The AWS account ID for the owner of the bucket for which you want to create 5405 // an access point. 5406 // 5407 // AccountId is a required field 5408 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 5409 5410 // The name of the bucket that you want to associate this access point with. 5411 // 5412 // For using this parameter with Amazon S3 on Outposts with the REST API, you 5413 // must specify the name and the x-amz-outpost-id as well. 5414 // 5415 // For using this parameter with S3 on Outposts with the AWS SDK and CLI, you 5416 // 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>. 5417 // For example, to access the bucket reports through outpost my-outpost owned 5418 // 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. 5419 // The value must be URL encoded. 5420 // 5421 // Bucket is a required field 5422 Bucket *string `min:"3" type:"string" required:"true"` 5423 5424 // The name you want to assign to this access point. 5425 // 5426 // Name is a required field 5427 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 5428 5429 // The PublicAccessBlock configuration that you want to apply to the access 5430 // point. 5431 PublicAccessBlockConfiguration *PublicAccessBlockConfiguration `type:"structure"` 5432 5433 // If you include this field, Amazon S3 restricts access to this access point 5434 // to requests from the specified virtual private cloud (VPC). 5435 // 5436 // This is required for creating an access point for Amazon S3 on Outposts buckets. 5437 VpcConfiguration *VpcConfiguration `type:"structure"` 5438} 5439 5440// String returns the string representation 5441func (s CreateAccessPointInput) String() string { 5442 return awsutil.Prettify(s) 5443} 5444 5445// GoString returns the string representation 5446func (s CreateAccessPointInput) GoString() string { 5447 return s.String() 5448} 5449 5450// Validate inspects the fields of the type to determine if they are valid. 5451func (s *CreateAccessPointInput) Validate() error { 5452 invalidParams := request.ErrInvalidParams{Context: "CreateAccessPointInput"} 5453 if s.AccountId == nil { 5454 invalidParams.Add(request.NewErrParamRequired("AccountId")) 5455 } 5456 if s.AccountId != nil && len(*s.AccountId) < 1 { 5457 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 5458 } 5459 if s.Bucket == nil { 5460 invalidParams.Add(request.NewErrParamRequired("Bucket")) 5461 } 5462 if s.Bucket != nil && len(*s.Bucket) < 3 { 5463 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 5464 } 5465 if s.Name == nil { 5466 invalidParams.Add(request.NewErrParamRequired("Name")) 5467 } 5468 if s.Name != nil && len(*s.Name) < 3 { 5469 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 5470 } 5471 if s.VpcConfiguration != nil { 5472 if err := s.VpcConfiguration.Validate(); err != nil { 5473 invalidParams.AddNested("VpcConfiguration", err.(request.ErrInvalidParams)) 5474 } 5475 } 5476 5477 if invalidParams.Len() > 0 { 5478 return invalidParams 5479 } 5480 return nil 5481} 5482 5483// SetAccountId sets the AccountId field's value. 5484func (s *CreateAccessPointInput) SetAccountId(v string) *CreateAccessPointInput { 5485 s.AccountId = &v 5486 return s 5487} 5488 5489// SetBucket sets the Bucket field's value. 5490func (s *CreateAccessPointInput) SetBucket(v string) *CreateAccessPointInput { 5491 s.Bucket = &v 5492 return s 5493} 5494 5495// SetName sets the Name field's value. 5496func (s *CreateAccessPointInput) SetName(v string) *CreateAccessPointInput { 5497 s.Name = &v 5498 return s 5499} 5500 5501// SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value. 5502func (s *CreateAccessPointInput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *CreateAccessPointInput { 5503 s.PublicAccessBlockConfiguration = v 5504 return s 5505} 5506 5507// SetVpcConfiguration sets the VpcConfiguration field's value. 5508func (s *CreateAccessPointInput) SetVpcConfiguration(v *VpcConfiguration) *CreateAccessPointInput { 5509 s.VpcConfiguration = v 5510 return s 5511} 5512 5513func (s *CreateAccessPointInput) hostLabels() map[string]string { 5514 return map[string]string{ 5515 "AccountId": aws.StringValue(s.AccountId), 5516 } 5517} 5518 5519func (s *CreateAccessPointInput) getEndpointARN() (arn.Resource, error) { 5520 if s.Bucket == nil { 5521 return nil, fmt.Errorf("member Bucket is nil") 5522 } 5523 return parseEndpointARN(*s.Bucket) 5524} 5525 5526func (s *CreateAccessPointInput) hasEndpointARN() bool { 5527 if s.Bucket == nil { 5528 return false 5529 } 5530 return arn.IsARN(*s.Bucket) 5531} 5532 5533// updateArnableField updates the value of the input field that 5534// takes an ARN as an input. This method is useful to backfill 5535// the parsed resource name from ARN into the input member. 5536// It returns a pointer to a modified copy of input and an error. 5537// Note that original input is not modified. 5538func (s CreateAccessPointInput) updateArnableField(v string) (interface{}, error) { 5539 if s.Bucket == nil { 5540 return nil, fmt.Errorf("member Bucket is nil") 5541 } 5542 s.Bucket = aws.String(v) 5543 return &s, nil 5544} 5545 5546// updateAccountID returns a pointer to a modified copy of input, 5547// if account id is not provided, we update the account id in modified input 5548// if account id is provided, but doesn't match with the one in ARN, we throw an error 5549// if account id is not updated, we return nil. Note that original input is not modified. 5550func (s CreateAccessPointInput) updateAccountID(accountId string) (interface{}, error) { 5551 if s.AccountId == nil { 5552 s.AccountId = aws.String(accountId) 5553 return &s, nil 5554 } else if *s.AccountId != accountId { 5555 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 5556 } 5557 return nil, nil 5558} 5559 5560type CreateAccessPointOutput struct { 5561 _ struct{} `type:"structure"` 5562 5563 // The ARN of the access point. 5564 // 5565 // This is only supported by Amazon S3 on Outposts. 5566 AccessPointArn *string `min:"4" type:"string"` 5567} 5568 5569// String returns the string representation 5570func (s CreateAccessPointOutput) String() string { 5571 return awsutil.Prettify(s) 5572} 5573 5574// GoString returns the string representation 5575func (s CreateAccessPointOutput) GoString() string { 5576 return s.String() 5577} 5578 5579// SetAccessPointArn sets the AccessPointArn field's value. 5580func (s *CreateAccessPointOutput) SetAccessPointArn(v string) *CreateAccessPointOutput { 5581 s.AccessPointArn = &v 5582 return s 5583} 5584 5585// The container for the bucket configuration. 5586// 5587// This is not supported by Amazon S3 on Outposts buckets. 5588type CreateBucketConfiguration struct { 5589 _ struct{} `type:"structure"` 5590 5591 // Specifies the Region where the bucket will be created. If you are creating 5592 // a bucket on the US East (N. Virginia) Region (us-east-1), you do not need 5593 // to specify the location. 5594 // 5595 // This is not supported by Amazon S3 on Outposts buckets. 5596 LocationConstraint *string `type:"string" enum:"BucketLocationConstraint"` 5597} 5598 5599// String returns the string representation 5600func (s CreateBucketConfiguration) String() string { 5601 return awsutil.Prettify(s) 5602} 5603 5604// GoString returns the string representation 5605func (s CreateBucketConfiguration) GoString() string { 5606 return s.String() 5607} 5608 5609// SetLocationConstraint sets the LocationConstraint field's value. 5610func (s *CreateBucketConfiguration) SetLocationConstraint(v string) *CreateBucketConfiguration { 5611 s.LocationConstraint = &v 5612 return s 5613} 5614 5615type CreateBucketInput struct { 5616 _ struct{} `locationName:"CreateBucketRequest" type:"structure" payload:"CreateBucketConfiguration"` 5617 5618 // The canned ACL to apply to the bucket. 5619 // 5620 // This is not supported by Amazon S3 on Outposts buckets. 5621 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"BucketCannedACL"` 5622 5623 // The name of the bucket. 5624 // 5625 // Bucket is a required field 5626 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 5627 5628 // The configuration information for the bucket. 5629 // 5630 // This is not supported by Amazon S3 on Outposts buckets. 5631 CreateBucketConfiguration *CreateBucketConfiguration `locationName:"CreateBucketConfiguration" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 5632 5633 // Allows grantee the read, write, read ACP, and write ACP permissions on the 5634 // bucket. 5635 // 5636 // This is not supported by Amazon S3 on Outposts buckets. 5637 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"` 5638 5639 // Allows grantee to list the objects in the bucket. 5640 // 5641 // This is not supported by Amazon S3 on Outposts buckets. 5642 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"` 5643 5644 // Allows grantee to read the bucket ACL. 5645 // 5646 // This is not supported by Amazon S3 on Outposts buckets. 5647 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"` 5648 5649 // Allows grantee to create, overwrite, and delete any object in the bucket. 5650 // 5651 // This is not supported by Amazon S3 on Outposts buckets. 5652 GrantWrite *string `location:"header" locationName:"x-amz-grant-write" type:"string"` 5653 5654 // Allows grantee to write the ACL for the applicable bucket. 5655 // 5656 // This is not supported by Amazon S3 on Outposts buckets. 5657 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"` 5658 5659 // Specifies whether you want S3 Object Lock to be enabled for the new bucket. 5660 // 5661 // This is not supported by Amazon S3 on Outposts buckets. 5662 ObjectLockEnabledForBucket *bool `location:"header" locationName:"x-amz-bucket-object-lock-enabled" type:"boolean"` 5663 5664 // The ID of the Outposts where the bucket is being created. 5665 // 5666 // This is required by Amazon S3 on Outposts buckets. 5667 OutpostId *string `location:"header" locationName:"x-amz-outpost-id" min:"1" type:"string"` 5668} 5669 5670// String returns the string representation 5671func (s CreateBucketInput) String() string { 5672 return awsutil.Prettify(s) 5673} 5674 5675// GoString returns the string representation 5676func (s CreateBucketInput) GoString() string { 5677 return s.String() 5678} 5679 5680// Validate inspects the fields of the type to determine if they are valid. 5681func (s *CreateBucketInput) Validate() error { 5682 invalidParams := request.ErrInvalidParams{Context: "CreateBucketInput"} 5683 if s.Bucket == nil { 5684 invalidParams.Add(request.NewErrParamRequired("Bucket")) 5685 } 5686 if s.Bucket != nil && len(*s.Bucket) < 3 { 5687 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 5688 } 5689 if s.OutpostId != nil && len(*s.OutpostId) < 1 { 5690 invalidParams.Add(request.NewErrParamMinLen("OutpostId", 1)) 5691 } 5692 5693 if invalidParams.Len() > 0 { 5694 return invalidParams 5695 } 5696 return nil 5697} 5698 5699// SetACL sets the ACL field's value. 5700func (s *CreateBucketInput) SetACL(v string) *CreateBucketInput { 5701 s.ACL = &v 5702 return s 5703} 5704 5705// SetBucket sets the Bucket field's value. 5706func (s *CreateBucketInput) SetBucket(v string) *CreateBucketInput { 5707 s.Bucket = &v 5708 return s 5709} 5710 5711// SetCreateBucketConfiguration sets the CreateBucketConfiguration field's value. 5712func (s *CreateBucketInput) SetCreateBucketConfiguration(v *CreateBucketConfiguration) *CreateBucketInput { 5713 s.CreateBucketConfiguration = v 5714 return s 5715} 5716 5717// SetGrantFullControl sets the GrantFullControl field's value. 5718func (s *CreateBucketInput) SetGrantFullControl(v string) *CreateBucketInput { 5719 s.GrantFullControl = &v 5720 return s 5721} 5722 5723// SetGrantRead sets the GrantRead field's value. 5724func (s *CreateBucketInput) SetGrantRead(v string) *CreateBucketInput { 5725 s.GrantRead = &v 5726 return s 5727} 5728 5729// SetGrantReadACP sets the GrantReadACP field's value. 5730func (s *CreateBucketInput) SetGrantReadACP(v string) *CreateBucketInput { 5731 s.GrantReadACP = &v 5732 return s 5733} 5734 5735// SetGrantWrite sets the GrantWrite field's value. 5736func (s *CreateBucketInput) SetGrantWrite(v string) *CreateBucketInput { 5737 s.GrantWrite = &v 5738 return s 5739} 5740 5741// SetGrantWriteACP sets the GrantWriteACP field's value. 5742func (s *CreateBucketInput) SetGrantWriteACP(v string) *CreateBucketInput { 5743 s.GrantWriteACP = &v 5744 return s 5745} 5746 5747// SetObjectLockEnabledForBucket sets the ObjectLockEnabledForBucket field's value. 5748func (s *CreateBucketInput) SetObjectLockEnabledForBucket(v bool) *CreateBucketInput { 5749 s.ObjectLockEnabledForBucket = &v 5750 return s 5751} 5752 5753// SetOutpostId sets the OutpostId field's value. 5754func (s *CreateBucketInput) SetOutpostId(v string) *CreateBucketInput { 5755 s.OutpostId = &v 5756 return s 5757} 5758 5759func (s *CreateBucketInput) getOutpostID() (string, error) { 5760 if s.OutpostId == nil { 5761 return "", fmt.Errorf("member OutpostId is nil") 5762 } 5763 return *s.OutpostId, nil 5764} 5765 5766func (s *CreateBucketInput) hasOutpostID() bool { 5767 if s.OutpostId == nil { 5768 return false 5769 } 5770 return true 5771} 5772 5773type CreateBucketOutput struct { 5774 _ struct{} `type:"structure"` 5775 5776 // The Amazon Resource Name (ARN) of the bucket. 5777 // 5778 // For using this parameter with Amazon S3 on Outposts with the REST API, you 5779 // must specify the name and the x-amz-outpost-id as well. 5780 // 5781 // For using this parameter with S3 on Outposts with the AWS SDK and CLI, you 5782 // 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>. 5783 // For example, to access the bucket reports through outpost my-outpost owned 5784 // 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. 5785 // The value must be URL encoded. 5786 BucketArn *string `min:"4" type:"string"` 5787 5788 // The location of the bucket. 5789 Location *string `location:"header" locationName:"Location" type:"string"` 5790} 5791 5792// String returns the string representation 5793func (s CreateBucketOutput) String() string { 5794 return awsutil.Prettify(s) 5795} 5796 5797// GoString returns the string representation 5798func (s CreateBucketOutput) GoString() string { 5799 return s.String() 5800} 5801 5802// SetBucketArn sets the BucketArn field's value. 5803func (s *CreateBucketOutput) SetBucketArn(v string) *CreateBucketOutput { 5804 s.BucketArn = &v 5805 return s 5806} 5807 5808// SetLocation sets the Location field's value. 5809func (s *CreateBucketOutput) SetLocation(v string) *CreateBucketOutput { 5810 s.Location = &v 5811 return s 5812} 5813 5814type CreateJobInput struct { 5815 _ struct{} `locationName:"CreateJobRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 5816 5817 // The AWS account ID that creates the job. 5818 // 5819 // AccountId is a required field 5820 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 5821 5822 // An idempotency token to ensure that you don't accidentally submit the same 5823 // request twice. You can use any string up to the maximum length. 5824 ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` 5825 5826 // Indicates whether confirmation is required before Amazon S3 runs the job. 5827 // Confirmation is only required for jobs created through the Amazon S3 console. 5828 ConfirmationRequired *bool `type:"boolean"` 5829 5830 // A description for this job. You can use any string within the permitted length. 5831 // Descriptions don't need to be unique and can be used for multiple jobs. 5832 Description *string `min:"1" type:"string"` 5833 5834 // Configuration parameters for the manifest. 5835 // 5836 // Manifest is a required field 5837 Manifest *JobManifest `type:"structure" required:"true"` 5838 5839 // The action that you want this job to perform on every object listed in the 5840 // manifest. For more information about the available actions, see Operations 5841 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-actions.html) 5842 // in the Amazon Simple Storage Service User Guide. 5843 // 5844 // Operation is a required field 5845 Operation *JobOperation `type:"structure" required:"true"` 5846 5847 // The numerical priority for this job. Higher numbers indicate higher priority. 5848 // 5849 // Priority is a required field 5850 Priority *int64 `type:"integer" required:"true"` 5851 5852 // Configuration parameters for the optional job-completion report. 5853 // 5854 // Report is a required field 5855 Report *JobReport `type:"structure" required:"true"` 5856 5857 // The Amazon Resource Name (ARN) for the AWS Identity and Access Management 5858 // (IAM) role that Batch Operations will use to run this job's action on every 5859 // object in the manifest. 5860 // 5861 // RoleArn is a required field 5862 RoleArn *string `min:"1" type:"string" required:"true"` 5863 5864 // A set of tags to associate with the S3 Batch Operations job. This is an optional 5865 // parameter. 5866 Tags []*S3Tag `type:"list"` 5867} 5868 5869// String returns the string representation 5870func (s CreateJobInput) String() string { 5871 return awsutil.Prettify(s) 5872} 5873 5874// GoString returns the string representation 5875func (s CreateJobInput) GoString() string { 5876 return s.String() 5877} 5878 5879// Validate inspects the fields of the type to determine if they are valid. 5880func (s *CreateJobInput) Validate() error { 5881 invalidParams := request.ErrInvalidParams{Context: "CreateJobInput"} 5882 if s.AccountId == nil { 5883 invalidParams.Add(request.NewErrParamRequired("AccountId")) 5884 } 5885 if s.AccountId != nil && len(*s.AccountId) < 1 { 5886 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 5887 } 5888 if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { 5889 invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) 5890 } 5891 if s.Description != nil && len(*s.Description) < 1 { 5892 invalidParams.Add(request.NewErrParamMinLen("Description", 1)) 5893 } 5894 if s.Manifest == nil { 5895 invalidParams.Add(request.NewErrParamRequired("Manifest")) 5896 } 5897 if s.Operation == nil { 5898 invalidParams.Add(request.NewErrParamRequired("Operation")) 5899 } 5900 if s.Priority == nil { 5901 invalidParams.Add(request.NewErrParamRequired("Priority")) 5902 } 5903 if s.Report == nil { 5904 invalidParams.Add(request.NewErrParamRequired("Report")) 5905 } 5906 if s.RoleArn == nil { 5907 invalidParams.Add(request.NewErrParamRequired("RoleArn")) 5908 } 5909 if s.RoleArn != nil && len(*s.RoleArn) < 1 { 5910 invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1)) 5911 } 5912 if s.Manifest != nil { 5913 if err := s.Manifest.Validate(); err != nil { 5914 invalidParams.AddNested("Manifest", err.(request.ErrInvalidParams)) 5915 } 5916 } 5917 if s.Operation != nil { 5918 if err := s.Operation.Validate(); err != nil { 5919 invalidParams.AddNested("Operation", err.(request.ErrInvalidParams)) 5920 } 5921 } 5922 if s.Report != nil { 5923 if err := s.Report.Validate(); err != nil { 5924 invalidParams.AddNested("Report", err.(request.ErrInvalidParams)) 5925 } 5926 } 5927 if s.Tags != nil { 5928 for i, v := range s.Tags { 5929 if v == nil { 5930 continue 5931 } 5932 if err := v.Validate(); err != nil { 5933 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 5934 } 5935 } 5936 } 5937 5938 if invalidParams.Len() > 0 { 5939 return invalidParams 5940 } 5941 return nil 5942} 5943 5944// SetAccountId sets the AccountId field's value. 5945func (s *CreateJobInput) SetAccountId(v string) *CreateJobInput { 5946 s.AccountId = &v 5947 return s 5948} 5949 5950// SetClientRequestToken sets the ClientRequestToken field's value. 5951func (s *CreateJobInput) SetClientRequestToken(v string) *CreateJobInput { 5952 s.ClientRequestToken = &v 5953 return s 5954} 5955 5956// SetConfirmationRequired sets the ConfirmationRequired field's value. 5957func (s *CreateJobInput) SetConfirmationRequired(v bool) *CreateJobInput { 5958 s.ConfirmationRequired = &v 5959 return s 5960} 5961 5962// SetDescription sets the Description field's value. 5963func (s *CreateJobInput) SetDescription(v string) *CreateJobInput { 5964 s.Description = &v 5965 return s 5966} 5967 5968// SetManifest sets the Manifest field's value. 5969func (s *CreateJobInput) SetManifest(v *JobManifest) *CreateJobInput { 5970 s.Manifest = v 5971 return s 5972} 5973 5974// SetOperation sets the Operation field's value. 5975func (s *CreateJobInput) SetOperation(v *JobOperation) *CreateJobInput { 5976 s.Operation = v 5977 return s 5978} 5979 5980// SetPriority sets the Priority field's value. 5981func (s *CreateJobInput) SetPriority(v int64) *CreateJobInput { 5982 s.Priority = &v 5983 return s 5984} 5985 5986// SetReport sets the Report field's value. 5987func (s *CreateJobInput) SetReport(v *JobReport) *CreateJobInput { 5988 s.Report = v 5989 return s 5990} 5991 5992// SetRoleArn sets the RoleArn field's value. 5993func (s *CreateJobInput) SetRoleArn(v string) *CreateJobInput { 5994 s.RoleArn = &v 5995 return s 5996} 5997 5998// SetTags sets the Tags field's value. 5999func (s *CreateJobInput) SetTags(v []*S3Tag) *CreateJobInput { 6000 s.Tags = v 6001 return s 6002} 6003 6004func (s *CreateJobInput) hostLabels() map[string]string { 6005 return map[string]string{ 6006 "AccountId": aws.StringValue(s.AccountId), 6007 } 6008} 6009 6010type CreateJobOutput struct { 6011 _ struct{} `type:"structure"` 6012 6013 // The ID for this job. Amazon S3 generates this ID automatically and returns 6014 // it after a successful Create Job request. 6015 JobId *string `min:"5" type:"string"` 6016} 6017 6018// String returns the string representation 6019func (s CreateJobOutput) String() string { 6020 return awsutil.Prettify(s) 6021} 6022 6023// GoString returns the string representation 6024func (s CreateJobOutput) GoString() string { 6025 return s.String() 6026} 6027 6028// SetJobId sets the JobId field's value. 6029func (s *CreateJobOutput) SetJobId(v string) *CreateJobOutput { 6030 s.JobId = &v 6031 return s 6032} 6033 6034type DeleteAccessPointForObjectLambdaInput struct { 6035 _ struct{} `locationName:"DeleteAccessPointForObjectLambdaRequest" type:"structure"` 6036 6037 // The account ID for the account that owns the specified Object Lambda Access 6038 // Point. 6039 // 6040 // AccountId is a required field 6041 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 6042 6043 // The name of the access point you want to delete. 6044 // 6045 // Name is a required field 6046 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 6047} 6048 6049// String returns the string representation 6050func (s DeleteAccessPointForObjectLambdaInput) String() string { 6051 return awsutil.Prettify(s) 6052} 6053 6054// GoString returns the string representation 6055func (s DeleteAccessPointForObjectLambdaInput) GoString() string { 6056 return s.String() 6057} 6058 6059// Validate inspects the fields of the type to determine if they are valid. 6060func (s *DeleteAccessPointForObjectLambdaInput) Validate() error { 6061 invalidParams := request.ErrInvalidParams{Context: "DeleteAccessPointForObjectLambdaInput"} 6062 if s.AccountId == nil { 6063 invalidParams.Add(request.NewErrParamRequired("AccountId")) 6064 } 6065 if s.AccountId != nil && len(*s.AccountId) < 1 { 6066 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 6067 } 6068 if s.Name == nil { 6069 invalidParams.Add(request.NewErrParamRequired("Name")) 6070 } 6071 if s.Name != nil && len(*s.Name) < 3 { 6072 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 6073 } 6074 6075 if invalidParams.Len() > 0 { 6076 return invalidParams 6077 } 6078 return nil 6079} 6080 6081// SetAccountId sets the AccountId field's value. 6082func (s *DeleteAccessPointForObjectLambdaInput) SetAccountId(v string) *DeleteAccessPointForObjectLambdaInput { 6083 s.AccountId = &v 6084 return s 6085} 6086 6087// SetName sets the Name field's value. 6088func (s *DeleteAccessPointForObjectLambdaInput) SetName(v string) *DeleteAccessPointForObjectLambdaInput { 6089 s.Name = &v 6090 return s 6091} 6092 6093func (s *DeleteAccessPointForObjectLambdaInput) hostLabels() map[string]string { 6094 return map[string]string{ 6095 "AccountId": aws.StringValue(s.AccountId), 6096 } 6097} 6098 6099type DeleteAccessPointForObjectLambdaOutput struct { 6100 _ struct{} `type:"structure"` 6101} 6102 6103// String returns the string representation 6104func (s DeleteAccessPointForObjectLambdaOutput) String() string { 6105 return awsutil.Prettify(s) 6106} 6107 6108// GoString returns the string representation 6109func (s DeleteAccessPointForObjectLambdaOutput) GoString() string { 6110 return s.String() 6111} 6112 6113type DeleteAccessPointInput struct { 6114 _ struct{} `locationName:"DeleteAccessPointRequest" type:"structure"` 6115 6116 // The account ID for the account that owns the specified access point. 6117 // 6118 // AccountId is a required field 6119 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 6120 6121 // The name of the access point you want to delete. 6122 // 6123 // For using this parameter with Amazon S3 on Outposts with the REST API, you 6124 // must specify the name and the x-amz-outpost-id as well. 6125 // 6126 // For using this parameter with S3 on Outposts with the AWS SDK and CLI, you 6127 // 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>. 6128 // For example, to access the access point reports-ap through outpost my-outpost 6129 // owned by account 123456789012 in Region us-west-2, use the URL encoding of 6130 // arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. 6131 // The value must be URL encoded. 6132 // 6133 // Name is a required field 6134 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 6135} 6136 6137// String returns the string representation 6138func (s DeleteAccessPointInput) String() string { 6139 return awsutil.Prettify(s) 6140} 6141 6142// GoString returns the string representation 6143func (s DeleteAccessPointInput) GoString() string { 6144 return s.String() 6145} 6146 6147// Validate inspects the fields of the type to determine if they are valid. 6148func (s *DeleteAccessPointInput) Validate() error { 6149 invalidParams := request.ErrInvalidParams{Context: "DeleteAccessPointInput"} 6150 if s.AccountId == nil { 6151 invalidParams.Add(request.NewErrParamRequired("AccountId")) 6152 } 6153 if s.AccountId != nil && len(*s.AccountId) < 1 { 6154 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 6155 } 6156 if s.Name == nil { 6157 invalidParams.Add(request.NewErrParamRequired("Name")) 6158 } 6159 if s.Name != nil && len(*s.Name) < 3 { 6160 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 6161 } 6162 6163 if invalidParams.Len() > 0 { 6164 return invalidParams 6165 } 6166 return nil 6167} 6168 6169// SetAccountId sets the AccountId field's value. 6170func (s *DeleteAccessPointInput) SetAccountId(v string) *DeleteAccessPointInput { 6171 s.AccountId = &v 6172 return s 6173} 6174 6175// SetName sets the Name field's value. 6176func (s *DeleteAccessPointInput) SetName(v string) *DeleteAccessPointInput { 6177 s.Name = &v 6178 return s 6179} 6180 6181func (s *DeleteAccessPointInput) hostLabels() map[string]string { 6182 return map[string]string{ 6183 "AccountId": aws.StringValue(s.AccountId), 6184 } 6185} 6186 6187func (s *DeleteAccessPointInput) getEndpointARN() (arn.Resource, error) { 6188 if s.Name == nil { 6189 return nil, fmt.Errorf("member Name is nil") 6190 } 6191 return parseEndpointARN(*s.Name) 6192} 6193 6194func (s *DeleteAccessPointInput) hasEndpointARN() bool { 6195 if s.Name == nil { 6196 return false 6197 } 6198 return arn.IsARN(*s.Name) 6199} 6200 6201// updateArnableField updates the value of the input field that 6202// takes an ARN as an input. This method is useful to backfill 6203// the parsed resource name from ARN into the input member. 6204// It returns a pointer to a modified copy of input and an error. 6205// Note that original input is not modified. 6206func (s DeleteAccessPointInput) updateArnableField(v string) (interface{}, error) { 6207 if s.Name == nil { 6208 return nil, fmt.Errorf("member Name is nil") 6209 } 6210 s.Name = aws.String(v) 6211 return &s, nil 6212} 6213 6214// updateAccountID returns a pointer to a modified copy of input, 6215// if account id is not provided, we update the account id in modified input 6216// if account id is provided, but doesn't match with the one in ARN, we throw an error 6217// if account id is not updated, we return nil. Note that original input is not modified. 6218func (s DeleteAccessPointInput) updateAccountID(accountId string) (interface{}, error) { 6219 if s.AccountId == nil { 6220 s.AccountId = aws.String(accountId) 6221 return &s, nil 6222 } else if *s.AccountId != accountId { 6223 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 6224 } 6225 return nil, nil 6226} 6227 6228type DeleteAccessPointOutput struct { 6229 _ struct{} `type:"structure"` 6230} 6231 6232// String returns the string representation 6233func (s DeleteAccessPointOutput) String() string { 6234 return awsutil.Prettify(s) 6235} 6236 6237// GoString returns the string representation 6238func (s DeleteAccessPointOutput) GoString() string { 6239 return s.String() 6240} 6241 6242type DeleteAccessPointPolicyForObjectLambdaInput struct { 6243 _ struct{} `locationName:"DeleteAccessPointPolicyForObjectLambdaRequest" type:"structure"` 6244 6245 // The account ID for the account that owns the specified Object Lambda Access 6246 // Point. 6247 // 6248 // AccountId is a required field 6249 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 6250 6251 // The name of the Object Lambda Access Point you want to delete the policy 6252 // for. 6253 // 6254 // Name is a required field 6255 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 6256} 6257 6258// String returns the string representation 6259func (s DeleteAccessPointPolicyForObjectLambdaInput) String() string { 6260 return awsutil.Prettify(s) 6261} 6262 6263// GoString returns the string representation 6264func (s DeleteAccessPointPolicyForObjectLambdaInput) GoString() string { 6265 return s.String() 6266} 6267 6268// Validate inspects the fields of the type to determine if they are valid. 6269func (s *DeleteAccessPointPolicyForObjectLambdaInput) Validate() error { 6270 invalidParams := request.ErrInvalidParams{Context: "DeleteAccessPointPolicyForObjectLambdaInput"} 6271 if s.AccountId == nil { 6272 invalidParams.Add(request.NewErrParamRequired("AccountId")) 6273 } 6274 if s.AccountId != nil && len(*s.AccountId) < 1 { 6275 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 6276 } 6277 if s.Name == nil { 6278 invalidParams.Add(request.NewErrParamRequired("Name")) 6279 } 6280 if s.Name != nil && len(*s.Name) < 3 { 6281 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 6282 } 6283 6284 if invalidParams.Len() > 0 { 6285 return invalidParams 6286 } 6287 return nil 6288} 6289 6290// SetAccountId sets the AccountId field's value. 6291func (s *DeleteAccessPointPolicyForObjectLambdaInput) SetAccountId(v string) *DeleteAccessPointPolicyForObjectLambdaInput { 6292 s.AccountId = &v 6293 return s 6294} 6295 6296// SetName sets the Name field's value. 6297func (s *DeleteAccessPointPolicyForObjectLambdaInput) SetName(v string) *DeleteAccessPointPolicyForObjectLambdaInput { 6298 s.Name = &v 6299 return s 6300} 6301 6302func (s *DeleteAccessPointPolicyForObjectLambdaInput) hostLabels() map[string]string { 6303 return map[string]string{ 6304 "AccountId": aws.StringValue(s.AccountId), 6305 } 6306} 6307 6308type DeleteAccessPointPolicyForObjectLambdaOutput struct { 6309 _ struct{} `type:"structure"` 6310} 6311 6312// String returns the string representation 6313func (s DeleteAccessPointPolicyForObjectLambdaOutput) String() string { 6314 return awsutil.Prettify(s) 6315} 6316 6317// GoString returns the string representation 6318func (s DeleteAccessPointPolicyForObjectLambdaOutput) GoString() string { 6319 return s.String() 6320} 6321 6322type DeleteAccessPointPolicyInput struct { 6323 _ struct{} `locationName:"DeleteAccessPointPolicyRequest" type:"structure"` 6324 6325 // The account ID for the account that owns the specified access point. 6326 // 6327 // AccountId is a required field 6328 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 6329 6330 // The name of the access point whose policy you want to delete. 6331 // 6332 // For using this parameter with Amazon S3 on Outposts with the REST API, you 6333 // must specify the name and the x-amz-outpost-id as well. 6334 // 6335 // For using this parameter with S3 on Outposts with the AWS SDK and CLI, you 6336 // 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>. 6337 // For example, to access the access point reports-ap through outpost my-outpost 6338 // owned by account 123456789012 in Region us-west-2, use the URL encoding of 6339 // arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. 6340 // The value must be URL encoded. 6341 // 6342 // Name is a required field 6343 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 6344} 6345 6346// String returns the string representation 6347func (s DeleteAccessPointPolicyInput) String() string { 6348 return awsutil.Prettify(s) 6349} 6350 6351// GoString returns the string representation 6352func (s DeleteAccessPointPolicyInput) GoString() string { 6353 return s.String() 6354} 6355 6356// Validate inspects the fields of the type to determine if they are valid. 6357func (s *DeleteAccessPointPolicyInput) Validate() error { 6358 invalidParams := request.ErrInvalidParams{Context: "DeleteAccessPointPolicyInput"} 6359 if s.AccountId == nil { 6360 invalidParams.Add(request.NewErrParamRequired("AccountId")) 6361 } 6362 if s.AccountId != nil && len(*s.AccountId) < 1 { 6363 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 6364 } 6365 if s.Name == nil { 6366 invalidParams.Add(request.NewErrParamRequired("Name")) 6367 } 6368 if s.Name != nil && len(*s.Name) < 3 { 6369 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 6370 } 6371 6372 if invalidParams.Len() > 0 { 6373 return invalidParams 6374 } 6375 return nil 6376} 6377 6378// SetAccountId sets the AccountId field's value. 6379func (s *DeleteAccessPointPolicyInput) SetAccountId(v string) *DeleteAccessPointPolicyInput { 6380 s.AccountId = &v 6381 return s 6382} 6383 6384// SetName sets the Name field's value. 6385func (s *DeleteAccessPointPolicyInput) SetName(v string) *DeleteAccessPointPolicyInput { 6386 s.Name = &v 6387 return s 6388} 6389 6390func (s *DeleteAccessPointPolicyInput) hostLabels() map[string]string { 6391 return map[string]string{ 6392 "AccountId": aws.StringValue(s.AccountId), 6393 } 6394} 6395 6396func (s *DeleteAccessPointPolicyInput) getEndpointARN() (arn.Resource, error) { 6397 if s.Name == nil { 6398 return nil, fmt.Errorf("member Name is nil") 6399 } 6400 return parseEndpointARN(*s.Name) 6401} 6402 6403func (s *DeleteAccessPointPolicyInput) hasEndpointARN() bool { 6404 if s.Name == nil { 6405 return false 6406 } 6407 return arn.IsARN(*s.Name) 6408} 6409 6410// updateArnableField updates the value of the input field that 6411// takes an ARN as an input. This method is useful to backfill 6412// the parsed resource name from ARN into the input member. 6413// It returns a pointer to a modified copy of input and an error. 6414// Note that original input is not modified. 6415func (s DeleteAccessPointPolicyInput) updateArnableField(v string) (interface{}, error) { 6416 if s.Name == nil { 6417 return nil, fmt.Errorf("member Name is nil") 6418 } 6419 s.Name = aws.String(v) 6420 return &s, nil 6421} 6422 6423// updateAccountID returns a pointer to a modified copy of input, 6424// if account id is not provided, we update the account id in modified input 6425// if account id is provided, but doesn't match with the one in ARN, we throw an error 6426// if account id is not updated, we return nil. Note that original input is not modified. 6427func (s DeleteAccessPointPolicyInput) updateAccountID(accountId string) (interface{}, error) { 6428 if s.AccountId == nil { 6429 s.AccountId = aws.String(accountId) 6430 return &s, nil 6431 } else if *s.AccountId != accountId { 6432 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 6433 } 6434 return nil, nil 6435} 6436 6437type DeleteAccessPointPolicyOutput struct { 6438 _ struct{} `type:"structure"` 6439} 6440 6441// String returns the string representation 6442func (s DeleteAccessPointPolicyOutput) String() string { 6443 return awsutil.Prettify(s) 6444} 6445 6446// GoString returns the string representation 6447func (s DeleteAccessPointPolicyOutput) GoString() string { 6448 return s.String() 6449} 6450 6451type DeleteBucketInput struct { 6452 _ struct{} `locationName:"DeleteBucketRequest" type:"structure"` 6453 6454 // The account ID that owns the Outposts bucket. 6455 // 6456 // AccountId is a required field 6457 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 6458 6459 // Specifies the bucket being deleted. 6460 // 6461 // For using this parameter with Amazon S3 on Outposts with the REST API, you 6462 // must specify the name and the x-amz-outpost-id as well. 6463 // 6464 // For using this parameter with S3 on Outposts with the AWS SDK and CLI, you 6465 // 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>. 6466 // For example, to access the bucket reports through outpost my-outpost owned 6467 // 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. 6468 // The value must be URL encoded. 6469 // 6470 // Bucket is a required field 6471 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 6472} 6473 6474// String returns the string representation 6475func (s DeleteBucketInput) String() string { 6476 return awsutil.Prettify(s) 6477} 6478 6479// GoString returns the string representation 6480func (s DeleteBucketInput) GoString() string { 6481 return s.String() 6482} 6483 6484// Validate inspects the fields of the type to determine if they are valid. 6485func (s *DeleteBucketInput) Validate() error { 6486 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketInput"} 6487 if s.AccountId == nil { 6488 invalidParams.Add(request.NewErrParamRequired("AccountId")) 6489 } 6490 if s.AccountId != nil && len(*s.AccountId) < 1 { 6491 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 6492 } 6493 if s.Bucket == nil { 6494 invalidParams.Add(request.NewErrParamRequired("Bucket")) 6495 } 6496 if s.Bucket != nil && len(*s.Bucket) < 3 { 6497 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 6498 } 6499 6500 if invalidParams.Len() > 0 { 6501 return invalidParams 6502 } 6503 return nil 6504} 6505 6506// SetAccountId sets the AccountId field's value. 6507func (s *DeleteBucketInput) SetAccountId(v string) *DeleteBucketInput { 6508 s.AccountId = &v 6509 return s 6510} 6511 6512// SetBucket sets the Bucket field's value. 6513func (s *DeleteBucketInput) SetBucket(v string) *DeleteBucketInput { 6514 s.Bucket = &v 6515 return s 6516} 6517 6518func (s *DeleteBucketInput) hostLabels() map[string]string { 6519 return map[string]string{ 6520 "AccountId": aws.StringValue(s.AccountId), 6521 } 6522} 6523 6524func (s *DeleteBucketInput) getEndpointARN() (arn.Resource, error) { 6525 if s.Bucket == nil { 6526 return nil, fmt.Errorf("member Bucket is nil") 6527 } 6528 return parseEndpointARN(*s.Bucket) 6529} 6530 6531func (s *DeleteBucketInput) hasEndpointARN() bool { 6532 if s.Bucket == nil { 6533 return false 6534 } 6535 return arn.IsARN(*s.Bucket) 6536} 6537 6538// updateArnableField updates the value of the input field that 6539// takes an ARN as an input. This method is useful to backfill 6540// the parsed resource name from ARN into the input member. 6541// It returns a pointer to a modified copy of input and an error. 6542// Note that original input is not modified. 6543func (s DeleteBucketInput) updateArnableField(v string) (interface{}, error) { 6544 if s.Bucket == nil { 6545 return nil, fmt.Errorf("member Bucket is nil") 6546 } 6547 s.Bucket = aws.String(v) 6548 return &s, nil 6549} 6550 6551// updateAccountID returns a pointer to a modified copy of input, 6552// if account id is not provided, we update the account id in modified input 6553// if account id is provided, but doesn't match with the one in ARN, we throw an error 6554// if account id is not updated, we return nil. Note that original input is not modified. 6555func (s DeleteBucketInput) updateAccountID(accountId string) (interface{}, error) { 6556 if s.AccountId == nil { 6557 s.AccountId = aws.String(accountId) 6558 return &s, nil 6559 } else if *s.AccountId != accountId { 6560 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 6561 } 6562 return nil, nil 6563} 6564 6565type DeleteBucketLifecycleConfigurationInput struct { 6566 _ struct{} `locationName:"DeleteBucketLifecycleConfigurationRequest" type:"structure"` 6567 6568 // The account ID of the lifecycle configuration to delete. 6569 // 6570 // AccountId is a required field 6571 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 6572 6573 // Specifies the bucket. 6574 // 6575 // For using this parameter with Amazon S3 on Outposts with the REST API, you 6576 // must specify the name and the x-amz-outpost-id as well. 6577 // 6578 // For using this parameter with S3 on Outposts with the AWS SDK and CLI, you 6579 // 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>. 6580 // For example, to access the bucket reports through outpost my-outpost owned 6581 // 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. 6582 // The value must be URL encoded. 6583 // 6584 // Bucket is a required field 6585 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 6586} 6587 6588// String returns the string representation 6589func (s DeleteBucketLifecycleConfigurationInput) String() string { 6590 return awsutil.Prettify(s) 6591} 6592 6593// GoString returns the string representation 6594func (s DeleteBucketLifecycleConfigurationInput) GoString() string { 6595 return s.String() 6596} 6597 6598// Validate inspects the fields of the type to determine if they are valid. 6599func (s *DeleteBucketLifecycleConfigurationInput) Validate() error { 6600 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketLifecycleConfigurationInput"} 6601 if s.AccountId == nil { 6602 invalidParams.Add(request.NewErrParamRequired("AccountId")) 6603 } 6604 if s.AccountId != nil && len(*s.AccountId) < 1 { 6605 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 6606 } 6607 if s.Bucket == nil { 6608 invalidParams.Add(request.NewErrParamRequired("Bucket")) 6609 } 6610 if s.Bucket != nil && len(*s.Bucket) < 3 { 6611 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 6612 } 6613 6614 if invalidParams.Len() > 0 { 6615 return invalidParams 6616 } 6617 return nil 6618} 6619 6620// SetAccountId sets the AccountId field's value. 6621func (s *DeleteBucketLifecycleConfigurationInput) SetAccountId(v string) *DeleteBucketLifecycleConfigurationInput { 6622 s.AccountId = &v 6623 return s 6624} 6625 6626// SetBucket sets the Bucket field's value. 6627func (s *DeleteBucketLifecycleConfigurationInput) SetBucket(v string) *DeleteBucketLifecycleConfigurationInput { 6628 s.Bucket = &v 6629 return s 6630} 6631 6632func (s *DeleteBucketLifecycleConfigurationInput) hostLabels() map[string]string { 6633 return map[string]string{ 6634 "AccountId": aws.StringValue(s.AccountId), 6635 } 6636} 6637 6638func (s *DeleteBucketLifecycleConfigurationInput) getEndpointARN() (arn.Resource, error) { 6639 if s.Bucket == nil { 6640 return nil, fmt.Errorf("member Bucket is nil") 6641 } 6642 return parseEndpointARN(*s.Bucket) 6643} 6644 6645func (s *DeleteBucketLifecycleConfigurationInput) hasEndpointARN() bool { 6646 if s.Bucket == nil { 6647 return false 6648 } 6649 return arn.IsARN(*s.Bucket) 6650} 6651 6652// updateArnableField updates the value of the input field that 6653// takes an ARN as an input. This method is useful to backfill 6654// the parsed resource name from ARN into the input member. 6655// It returns a pointer to a modified copy of input and an error. 6656// Note that original input is not modified. 6657func (s DeleteBucketLifecycleConfigurationInput) updateArnableField(v string) (interface{}, error) { 6658 if s.Bucket == nil { 6659 return nil, fmt.Errorf("member Bucket is nil") 6660 } 6661 s.Bucket = aws.String(v) 6662 return &s, nil 6663} 6664 6665// updateAccountID returns a pointer to a modified copy of input, 6666// if account id is not provided, we update the account id in modified input 6667// if account id is provided, but doesn't match with the one in ARN, we throw an error 6668// if account id is not updated, we return nil. Note that original input is not modified. 6669func (s DeleteBucketLifecycleConfigurationInput) updateAccountID(accountId string) (interface{}, error) { 6670 if s.AccountId == nil { 6671 s.AccountId = aws.String(accountId) 6672 return &s, nil 6673 } else if *s.AccountId != accountId { 6674 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 6675 } 6676 return nil, nil 6677} 6678 6679type DeleteBucketLifecycleConfigurationOutput struct { 6680 _ struct{} `type:"structure"` 6681} 6682 6683// String returns the string representation 6684func (s DeleteBucketLifecycleConfigurationOutput) String() string { 6685 return awsutil.Prettify(s) 6686} 6687 6688// GoString returns the string representation 6689func (s DeleteBucketLifecycleConfigurationOutput) GoString() string { 6690 return s.String() 6691} 6692 6693type DeleteBucketOutput struct { 6694 _ struct{} `type:"structure"` 6695} 6696 6697// String returns the string representation 6698func (s DeleteBucketOutput) String() string { 6699 return awsutil.Prettify(s) 6700} 6701 6702// GoString returns the string representation 6703func (s DeleteBucketOutput) GoString() string { 6704 return s.String() 6705} 6706 6707type DeleteBucketPolicyInput struct { 6708 _ struct{} `locationName:"DeleteBucketPolicyRequest" type:"structure"` 6709 6710 // The account ID of the Outposts bucket. 6711 // 6712 // AccountId is a required field 6713 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 6714 6715 // Specifies the bucket. 6716 // 6717 // For using this parameter with Amazon S3 on Outposts with the REST API, you 6718 // must specify the name and the x-amz-outpost-id as well. 6719 // 6720 // For using this parameter with S3 on Outposts with the AWS SDK and CLI, you 6721 // 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>. 6722 // For example, to access the bucket reports through outpost my-outpost owned 6723 // 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. 6724 // The value must be URL encoded. 6725 // 6726 // Bucket is a required field 6727 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 6728} 6729 6730// String returns the string representation 6731func (s DeleteBucketPolicyInput) String() string { 6732 return awsutil.Prettify(s) 6733} 6734 6735// GoString returns the string representation 6736func (s DeleteBucketPolicyInput) GoString() string { 6737 return s.String() 6738} 6739 6740// Validate inspects the fields of the type to determine if they are valid. 6741func (s *DeleteBucketPolicyInput) Validate() error { 6742 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketPolicyInput"} 6743 if s.AccountId == nil { 6744 invalidParams.Add(request.NewErrParamRequired("AccountId")) 6745 } 6746 if s.AccountId != nil && len(*s.AccountId) < 1 { 6747 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 6748 } 6749 if s.Bucket == nil { 6750 invalidParams.Add(request.NewErrParamRequired("Bucket")) 6751 } 6752 if s.Bucket != nil && len(*s.Bucket) < 3 { 6753 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 6754 } 6755 6756 if invalidParams.Len() > 0 { 6757 return invalidParams 6758 } 6759 return nil 6760} 6761 6762// SetAccountId sets the AccountId field's value. 6763func (s *DeleteBucketPolicyInput) SetAccountId(v string) *DeleteBucketPolicyInput { 6764 s.AccountId = &v 6765 return s 6766} 6767 6768// SetBucket sets the Bucket field's value. 6769func (s *DeleteBucketPolicyInput) SetBucket(v string) *DeleteBucketPolicyInput { 6770 s.Bucket = &v 6771 return s 6772} 6773 6774func (s *DeleteBucketPolicyInput) hostLabels() map[string]string { 6775 return map[string]string{ 6776 "AccountId": aws.StringValue(s.AccountId), 6777 } 6778} 6779 6780func (s *DeleteBucketPolicyInput) getEndpointARN() (arn.Resource, error) { 6781 if s.Bucket == nil { 6782 return nil, fmt.Errorf("member Bucket is nil") 6783 } 6784 return parseEndpointARN(*s.Bucket) 6785} 6786 6787func (s *DeleteBucketPolicyInput) hasEndpointARN() bool { 6788 if s.Bucket == nil { 6789 return false 6790 } 6791 return arn.IsARN(*s.Bucket) 6792} 6793 6794// updateArnableField updates the value of the input field that 6795// takes an ARN as an input. This method is useful to backfill 6796// the parsed resource name from ARN into the input member. 6797// It returns a pointer to a modified copy of input and an error. 6798// Note that original input is not modified. 6799func (s DeleteBucketPolicyInput) updateArnableField(v string) (interface{}, error) { 6800 if s.Bucket == nil { 6801 return nil, fmt.Errorf("member Bucket is nil") 6802 } 6803 s.Bucket = aws.String(v) 6804 return &s, nil 6805} 6806 6807// updateAccountID returns a pointer to a modified copy of input, 6808// if account id is not provided, we update the account id in modified input 6809// if account id is provided, but doesn't match with the one in ARN, we throw an error 6810// if account id is not updated, we return nil. Note that original input is not modified. 6811func (s DeleteBucketPolicyInput) updateAccountID(accountId string) (interface{}, error) { 6812 if s.AccountId == nil { 6813 s.AccountId = aws.String(accountId) 6814 return &s, nil 6815 } else if *s.AccountId != accountId { 6816 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 6817 } 6818 return nil, nil 6819} 6820 6821type DeleteBucketPolicyOutput struct { 6822 _ struct{} `type:"structure"` 6823} 6824 6825// String returns the string representation 6826func (s DeleteBucketPolicyOutput) String() string { 6827 return awsutil.Prettify(s) 6828} 6829 6830// GoString returns the string representation 6831func (s DeleteBucketPolicyOutput) GoString() string { 6832 return s.String() 6833} 6834 6835type DeleteBucketTaggingInput struct { 6836 _ struct{} `locationName:"DeleteBucketTaggingRequest" type:"structure"` 6837 6838 // The AWS account ID of the Outposts bucket tag set to be removed. 6839 // 6840 // AccountId is a required field 6841 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 6842 6843 // The bucket ARN that has the tag set to be removed. 6844 // 6845 // For using this parameter with Amazon S3 on Outposts with the REST API, you 6846 // must specify the name and the x-amz-outpost-id as well. 6847 // 6848 // For using this parameter with S3 on Outposts with the AWS SDK and CLI, you 6849 // 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>. 6850 // For example, to access the bucket reports through outpost my-outpost owned 6851 // 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. 6852 // The value must be URL encoded. 6853 // 6854 // Bucket is a required field 6855 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 6856} 6857 6858// String returns the string representation 6859func (s DeleteBucketTaggingInput) String() string { 6860 return awsutil.Prettify(s) 6861} 6862 6863// GoString returns the string representation 6864func (s DeleteBucketTaggingInput) GoString() string { 6865 return s.String() 6866} 6867 6868// Validate inspects the fields of the type to determine if they are valid. 6869func (s *DeleteBucketTaggingInput) Validate() error { 6870 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketTaggingInput"} 6871 if s.AccountId == nil { 6872 invalidParams.Add(request.NewErrParamRequired("AccountId")) 6873 } 6874 if s.AccountId != nil && len(*s.AccountId) < 1 { 6875 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 6876 } 6877 if s.Bucket == nil { 6878 invalidParams.Add(request.NewErrParamRequired("Bucket")) 6879 } 6880 if s.Bucket != nil && len(*s.Bucket) < 3 { 6881 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 6882 } 6883 6884 if invalidParams.Len() > 0 { 6885 return invalidParams 6886 } 6887 return nil 6888} 6889 6890// SetAccountId sets the AccountId field's value. 6891func (s *DeleteBucketTaggingInput) SetAccountId(v string) *DeleteBucketTaggingInput { 6892 s.AccountId = &v 6893 return s 6894} 6895 6896// SetBucket sets the Bucket field's value. 6897func (s *DeleteBucketTaggingInput) SetBucket(v string) *DeleteBucketTaggingInput { 6898 s.Bucket = &v 6899 return s 6900} 6901 6902func (s *DeleteBucketTaggingInput) hostLabels() map[string]string { 6903 return map[string]string{ 6904 "AccountId": aws.StringValue(s.AccountId), 6905 } 6906} 6907 6908func (s *DeleteBucketTaggingInput) getEndpointARN() (arn.Resource, error) { 6909 if s.Bucket == nil { 6910 return nil, fmt.Errorf("member Bucket is nil") 6911 } 6912 return parseEndpointARN(*s.Bucket) 6913} 6914 6915func (s *DeleteBucketTaggingInput) hasEndpointARN() bool { 6916 if s.Bucket == nil { 6917 return false 6918 } 6919 return arn.IsARN(*s.Bucket) 6920} 6921 6922// updateArnableField updates the value of the input field that 6923// takes an ARN as an input. This method is useful to backfill 6924// the parsed resource name from ARN into the input member. 6925// It returns a pointer to a modified copy of input and an error. 6926// Note that original input is not modified. 6927func (s DeleteBucketTaggingInput) updateArnableField(v string) (interface{}, error) { 6928 if s.Bucket == nil { 6929 return nil, fmt.Errorf("member Bucket is nil") 6930 } 6931 s.Bucket = aws.String(v) 6932 return &s, nil 6933} 6934 6935// updateAccountID returns a pointer to a modified copy of input, 6936// if account id is not provided, we update the account id in modified input 6937// if account id is provided, but doesn't match with the one in ARN, we throw an error 6938// if account id is not updated, we return nil. Note that original input is not modified. 6939func (s DeleteBucketTaggingInput) updateAccountID(accountId string) (interface{}, error) { 6940 if s.AccountId == nil { 6941 s.AccountId = aws.String(accountId) 6942 return &s, nil 6943 } else if *s.AccountId != accountId { 6944 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 6945 } 6946 return nil, nil 6947} 6948 6949type DeleteBucketTaggingOutput struct { 6950 _ struct{} `type:"structure"` 6951} 6952 6953// String returns the string representation 6954func (s DeleteBucketTaggingOutput) String() string { 6955 return awsutil.Prettify(s) 6956} 6957 6958// GoString returns the string representation 6959func (s DeleteBucketTaggingOutput) GoString() string { 6960 return s.String() 6961} 6962 6963type DeleteJobTaggingInput struct { 6964 _ struct{} `locationName:"DeleteJobTaggingRequest" type:"structure"` 6965 6966 // The AWS account ID associated with the S3 Batch Operations job. 6967 // 6968 // AccountId is a required field 6969 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 6970 6971 // The ID for the S3 Batch Operations job whose tags you want to delete. 6972 // 6973 // JobId is a required field 6974 JobId *string `location:"uri" locationName:"id" min:"5" type:"string" required:"true"` 6975} 6976 6977// String returns the string representation 6978func (s DeleteJobTaggingInput) String() string { 6979 return awsutil.Prettify(s) 6980} 6981 6982// GoString returns the string representation 6983func (s DeleteJobTaggingInput) GoString() string { 6984 return s.String() 6985} 6986 6987// Validate inspects the fields of the type to determine if they are valid. 6988func (s *DeleteJobTaggingInput) Validate() error { 6989 invalidParams := request.ErrInvalidParams{Context: "DeleteJobTaggingInput"} 6990 if s.AccountId == nil { 6991 invalidParams.Add(request.NewErrParamRequired("AccountId")) 6992 } 6993 if s.AccountId != nil && len(*s.AccountId) < 1 { 6994 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 6995 } 6996 if s.JobId == nil { 6997 invalidParams.Add(request.NewErrParamRequired("JobId")) 6998 } 6999 if s.JobId != nil && len(*s.JobId) < 5 { 7000 invalidParams.Add(request.NewErrParamMinLen("JobId", 5)) 7001 } 7002 7003 if invalidParams.Len() > 0 { 7004 return invalidParams 7005 } 7006 return nil 7007} 7008 7009// SetAccountId sets the AccountId field's value. 7010func (s *DeleteJobTaggingInput) SetAccountId(v string) *DeleteJobTaggingInput { 7011 s.AccountId = &v 7012 return s 7013} 7014 7015// SetJobId sets the JobId field's value. 7016func (s *DeleteJobTaggingInput) SetJobId(v string) *DeleteJobTaggingInput { 7017 s.JobId = &v 7018 return s 7019} 7020 7021func (s *DeleteJobTaggingInput) hostLabels() map[string]string { 7022 return map[string]string{ 7023 "AccountId": aws.StringValue(s.AccountId), 7024 } 7025} 7026 7027type DeleteJobTaggingOutput struct { 7028 _ struct{} `type:"structure"` 7029} 7030 7031// String returns the string representation 7032func (s DeleteJobTaggingOutput) String() string { 7033 return awsutil.Prettify(s) 7034} 7035 7036// GoString returns the string representation 7037func (s DeleteJobTaggingOutput) GoString() string { 7038 return s.String() 7039} 7040 7041type DeletePublicAccessBlockInput struct { 7042 _ struct{} `locationName:"DeletePublicAccessBlockRequest" type:"structure"` 7043 7044 // The account ID for the AWS account whose PublicAccessBlock configuration 7045 // you want to remove. 7046 // 7047 // AccountId is a required field 7048 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 7049} 7050 7051// String returns the string representation 7052func (s DeletePublicAccessBlockInput) String() string { 7053 return awsutil.Prettify(s) 7054} 7055 7056// GoString returns the string representation 7057func (s DeletePublicAccessBlockInput) GoString() string { 7058 return s.String() 7059} 7060 7061// Validate inspects the fields of the type to determine if they are valid. 7062func (s *DeletePublicAccessBlockInput) Validate() error { 7063 invalidParams := request.ErrInvalidParams{Context: "DeletePublicAccessBlockInput"} 7064 if s.AccountId == nil { 7065 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7066 } 7067 if s.AccountId != nil && len(*s.AccountId) < 1 { 7068 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7069 } 7070 7071 if invalidParams.Len() > 0 { 7072 return invalidParams 7073 } 7074 return nil 7075} 7076 7077// SetAccountId sets the AccountId field's value. 7078func (s *DeletePublicAccessBlockInput) SetAccountId(v string) *DeletePublicAccessBlockInput { 7079 s.AccountId = &v 7080 return s 7081} 7082 7083func (s *DeletePublicAccessBlockInput) hostLabels() map[string]string { 7084 return map[string]string{ 7085 "AccountId": aws.StringValue(s.AccountId), 7086 } 7087} 7088 7089type DeletePublicAccessBlockOutput struct { 7090 _ struct{} `type:"structure"` 7091} 7092 7093// String returns the string representation 7094func (s DeletePublicAccessBlockOutput) String() string { 7095 return awsutil.Prettify(s) 7096} 7097 7098// GoString returns the string representation 7099func (s DeletePublicAccessBlockOutput) GoString() string { 7100 return s.String() 7101} 7102 7103type DeleteStorageLensConfigurationInput struct { 7104 _ struct{} `locationName:"DeleteStorageLensConfigurationRequest" type:"structure"` 7105 7106 // The account ID of the requester. 7107 // 7108 // AccountId is a required field 7109 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 7110 7111 // The ID of the S3 Storage Lens configuration. 7112 // 7113 // ConfigId is a required field 7114 ConfigId *string `location:"uri" locationName:"storagelensid" min:"1" type:"string" required:"true"` 7115} 7116 7117// String returns the string representation 7118func (s DeleteStorageLensConfigurationInput) String() string { 7119 return awsutil.Prettify(s) 7120} 7121 7122// GoString returns the string representation 7123func (s DeleteStorageLensConfigurationInput) GoString() string { 7124 return s.String() 7125} 7126 7127// Validate inspects the fields of the type to determine if they are valid. 7128func (s *DeleteStorageLensConfigurationInput) Validate() error { 7129 invalidParams := request.ErrInvalidParams{Context: "DeleteStorageLensConfigurationInput"} 7130 if s.AccountId == nil { 7131 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7132 } 7133 if s.AccountId != nil && len(*s.AccountId) < 1 { 7134 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7135 } 7136 if s.ConfigId == nil { 7137 invalidParams.Add(request.NewErrParamRequired("ConfigId")) 7138 } 7139 if s.ConfigId != nil && len(*s.ConfigId) < 1 { 7140 invalidParams.Add(request.NewErrParamMinLen("ConfigId", 1)) 7141 } 7142 7143 if invalidParams.Len() > 0 { 7144 return invalidParams 7145 } 7146 return nil 7147} 7148 7149// SetAccountId sets the AccountId field's value. 7150func (s *DeleteStorageLensConfigurationInput) SetAccountId(v string) *DeleteStorageLensConfigurationInput { 7151 s.AccountId = &v 7152 return s 7153} 7154 7155// SetConfigId sets the ConfigId field's value. 7156func (s *DeleteStorageLensConfigurationInput) SetConfigId(v string) *DeleteStorageLensConfigurationInput { 7157 s.ConfigId = &v 7158 return s 7159} 7160 7161func (s *DeleteStorageLensConfigurationInput) hostLabels() map[string]string { 7162 return map[string]string{ 7163 "AccountId": aws.StringValue(s.AccountId), 7164 } 7165} 7166 7167type DeleteStorageLensConfigurationOutput struct { 7168 _ struct{} `type:"structure"` 7169} 7170 7171// String returns the string representation 7172func (s DeleteStorageLensConfigurationOutput) String() string { 7173 return awsutil.Prettify(s) 7174} 7175 7176// GoString returns the string representation 7177func (s DeleteStorageLensConfigurationOutput) GoString() string { 7178 return s.String() 7179} 7180 7181type DeleteStorageLensConfigurationTaggingInput struct { 7182 _ struct{} `locationName:"DeleteStorageLensConfigurationTaggingRequest" type:"structure"` 7183 7184 // The account ID of the requester. 7185 // 7186 // AccountId is a required field 7187 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 7188 7189 // The ID of the S3 Storage Lens configuration. 7190 // 7191 // ConfigId is a required field 7192 ConfigId *string `location:"uri" locationName:"storagelensid" min:"1" type:"string" required:"true"` 7193} 7194 7195// String returns the string representation 7196func (s DeleteStorageLensConfigurationTaggingInput) String() string { 7197 return awsutil.Prettify(s) 7198} 7199 7200// GoString returns the string representation 7201func (s DeleteStorageLensConfigurationTaggingInput) GoString() string { 7202 return s.String() 7203} 7204 7205// Validate inspects the fields of the type to determine if they are valid. 7206func (s *DeleteStorageLensConfigurationTaggingInput) Validate() error { 7207 invalidParams := request.ErrInvalidParams{Context: "DeleteStorageLensConfigurationTaggingInput"} 7208 if s.AccountId == nil { 7209 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7210 } 7211 if s.AccountId != nil && len(*s.AccountId) < 1 { 7212 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7213 } 7214 if s.ConfigId == nil { 7215 invalidParams.Add(request.NewErrParamRequired("ConfigId")) 7216 } 7217 if s.ConfigId != nil && len(*s.ConfigId) < 1 { 7218 invalidParams.Add(request.NewErrParamMinLen("ConfigId", 1)) 7219 } 7220 7221 if invalidParams.Len() > 0 { 7222 return invalidParams 7223 } 7224 return nil 7225} 7226 7227// SetAccountId sets the AccountId field's value. 7228func (s *DeleteStorageLensConfigurationTaggingInput) SetAccountId(v string) *DeleteStorageLensConfigurationTaggingInput { 7229 s.AccountId = &v 7230 return s 7231} 7232 7233// SetConfigId sets the ConfigId field's value. 7234func (s *DeleteStorageLensConfigurationTaggingInput) SetConfigId(v string) *DeleteStorageLensConfigurationTaggingInput { 7235 s.ConfigId = &v 7236 return s 7237} 7238 7239func (s *DeleteStorageLensConfigurationTaggingInput) hostLabels() map[string]string { 7240 return map[string]string{ 7241 "AccountId": aws.StringValue(s.AccountId), 7242 } 7243} 7244 7245type DeleteStorageLensConfigurationTaggingOutput struct { 7246 _ struct{} `type:"structure"` 7247} 7248 7249// String returns the string representation 7250func (s DeleteStorageLensConfigurationTaggingOutput) String() string { 7251 return awsutil.Prettify(s) 7252} 7253 7254// GoString returns the string representation 7255func (s DeleteStorageLensConfigurationTaggingOutput) GoString() string { 7256 return s.String() 7257} 7258 7259type DescribeJobInput struct { 7260 _ struct{} `locationName:"DescribeJobRequest" type:"structure"` 7261 7262 // The AWS account ID associated with the S3 Batch Operations job. 7263 // 7264 // AccountId is a required field 7265 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 7266 7267 // The ID for the job whose information you want to retrieve. 7268 // 7269 // JobId is a required field 7270 JobId *string `location:"uri" locationName:"id" min:"5" type:"string" required:"true"` 7271} 7272 7273// String returns the string representation 7274func (s DescribeJobInput) String() string { 7275 return awsutil.Prettify(s) 7276} 7277 7278// GoString returns the string representation 7279func (s DescribeJobInput) GoString() string { 7280 return s.String() 7281} 7282 7283// Validate inspects the fields of the type to determine if they are valid. 7284func (s *DescribeJobInput) Validate() error { 7285 invalidParams := request.ErrInvalidParams{Context: "DescribeJobInput"} 7286 if s.AccountId == nil { 7287 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7288 } 7289 if s.AccountId != nil && len(*s.AccountId) < 1 { 7290 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7291 } 7292 if s.JobId == nil { 7293 invalidParams.Add(request.NewErrParamRequired("JobId")) 7294 } 7295 if s.JobId != nil && len(*s.JobId) < 5 { 7296 invalidParams.Add(request.NewErrParamMinLen("JobId", 5)) 7297 } 7298 7299 if invalidParams.Len() > 0 { 7300 return invalidParams 7301 } 7302 return nil 7303} 7304 7305// SetAccountId sets the AccountId field's value. 7306func (s *DescribeJobInput) SetAccountId(v string) *DescribeJobInput { 7307 s.AccountId = &v 7308 return s 7309} 7310 7311// SetJobId sets the JobId field's value. 7312func (s *DescribeJobInput) SetJobId(v string) *DescribeJobInput { 7313 s.JobId = &v 7314 return s 7315} 7316 7317func (s *DescribeJobInput) hostLabels() map[string]string { 7318 return map[string]string{ 7319 "AccountId": aws.StringValue(s.AccountId), 7320 } 7321} 7322 7323type DescribeJobOutput struct { 7324 _ struct{} `type:"structure"` 7325 7326 // Contains the configuration parameters and status for the job specified in 7327 // the Describe Job request. 7328 Job *JobDescriptor `type:"structure"` 7329} 7330 7331// String returns the string representation 7332func (s DescribeJobOutput) String() string { 7333 return awsutil.Prettify(s) 7334} 7335 7336// GoString returns the string representation 7337func (s DescribeJobOutput) GoString() string { 7338 return s.String() 7339} 7340 7341// SetJob sets the Job field's value. 7342func (s *DescribeJobOutput) SetJob(v *JobDescriptor) *DescribeJobOutput { 7343 s.Job = v 7344 return s 7345} 7346 7347// A container for what Amazon S3 Storage Lens will exclude. 7348type Exclude struct { 7349 _ struct{} `type:"structure"` 7350 7351 // A container for the S3 Storage Lens bucket excludes. 7352 Buckets []*string `locationNameList:"Arn" type:"list"` 7353 7354 // A container for the S3 Storage Lens Region excludes. 7355 Regions []*string `locationNameList:"Region" type:"list"` 7356} 7357 7358// String returns the string representation 7359func (s Exclude) String() string { 7360 return awsutil.Prettify(s) 7361} 7362 7363// GoString returns the string representation 7364func (s Exclude) GoString() string { 7365 return s.String() 7366} 7367 7368// SetBuckets sets the Buckets field's value. 7369func (s *Exclude) SetBuckets(v []*string) *Exclude { 7370 s.Buckets = v 7371 return s 7372} 7373 7374// SetRegions sets the Regions field's value. 7375func (s *Exclude) SetRegions(v []*string) *Exclude { 7376 s.Regions = v 7377 return s 7378} 7379 7380type GetAccessPointConfigurationForObjectLambdaInput struct { 7381 _ struct{} `locationName:"GetAccessPointConfigurationForObjectLambdaRequest" type:"structure"` 7382 7383 // The account ID for the account that owns the specified Object Lambda Access 7384 // Point. 7385 // 7386 // AccountId is a required field 7387 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 7388 7389 // The name of the Object Lambda Access Point you want to return the configuration 7390 // for. 7391 // 7392 // Name is a required field 7393 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 7394} 7395 7396// String returns the string representation 7397func (s GetAccessPointConfigurationForObjectLambdaInput) String() string { 7398 return awsutil.Prettify(s) 7399} 7400 7401// GoString returns the string representation 7402func (s GetAccessPointConfigurationForObjectLambdaInput) GoString() string { 7403 return s.String() 7404} 7405 7406// Validate inspects the fields of the type to determine if they are valid. 7407func (s *GetAccessPointConfigurationForObjectLambdaInput) Validate() error { 7408 invalidParams := request.ErrInvalidParams{Context: "GetAccessPointConfigurationForObjectLambdaInput"} 7409 if s.AccountId == nil { 7410 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7411 } 7412 if s.AccountId != nil && len(*s.AccountId) < 1 { 7413 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7414 } 7415 if s.Name == nil { 7416 invalidParams.Add(request.NewErrParamRequired("Name")) 7417 } 7418 if s.Name != nil && len(*s.Name) < 3 { 7419 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 7420 } 7421 7422 if invalidParams.Len() > 0 { 7423 return invalidParams 7424 } 7425 return nil 7426} 7427 7428// SetAccountId sets the AccountId field's value. 7429func (s *GetAccessPointConfigurationForObjectLambdaInput) SetAccountId(v string) *GetAccessPointConfigurationForObjectLambdaInput { 7430 s.AccountId = &v 7431 return s 7432} 7433 7434// SetName sets the Name field's value. 7435func (s *GetAccessPointConfigurationForObjectLambdaInput) SetName(v string) *GetAccessPointConfigurationForObjectLambdaInput { 7436 s.Name = &v 7437 return s 7438} 7439 7440func (s *GetAccessPointConfigurationForObjectLambdaInput) hostLabels() map[string]string { 7441 return map[string]string{ 7442 "AccountId": aws.StringValue(s.AccountId), 7443 } 7444} 7445 7446type GetAccessPointConfigurationForObjectLambdaOutput struct { 7447 _ struct{} `type:"structure"` 7448 7449 // Object Lambda Access Point configuration document. 7450 Configuration *ObjectLambdaConfiguration `type:"structure"` 7451} 7452 7453// String returns the string representation 7454func (s GetAccessPointConfigurationForObjectLambdaOutput) String() string { 7455 return awsutil.Prettify(s) 7456} 7457 7458// GoString returns the string representation 7459func (s GetAccessPointConfigurationForObjectLambdaOutput) GoString() string { 7460 return s.String() 7461} 7462 7463// SetConfiguration sets the Configuration field's value. 7464func (s *GetAccessPointConfigurationForObjectLambdaOutput) SetConfiguration(v *ObjectLambdaConfiguration) *GetAccessPointConfigurationForObjectLambdaOutput { 7465 s.Configuration = v 7466 return s 7467} 7468 7469type GetAccessPointForObjectLambdaInput struct { 7470 _ struct{} `locationName:"GetAccessPointForObjectLambdaRequest" type:"structure"` 7471 7472 // The account ID for the account that owns the specified Object Lambda Access 7473 // Point. 7474 // 7475 // AccountId is a required field 7476 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 7477 7478 // The name of the Object Lambda Access Point. 7479 // 7480 // Name is a required field 7481 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 7482} 7483 7484// String returns the string representation 7485func (s GetAccessPointForObjectLambdaInput) String() string { 7486 return awsutil.Prettify(s) 7487} 7488 7489// GoString returns the string representation 7490func (s GetAccessPointForObjectLambdaInput) GoString() string { 7491 return s.String() 7492} 7493 7494// Validate inspects the fields of the type to determine if they are valid. 7495func (s *GetAccessPointForObjectLambdaInput) Validate() error { 7496 invalidParams := request.ErrInvalidParams{Context: "GetAccessPointForObjectLambdaInput"} 7497 if s.AccountId == nil { 7498 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7499 } 7500 if s.AccountId != nil && len(*s.AccountId) < 1 { 7501 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7502 } 7503 if s.Name == nil { 7504 invalidParams.Add(request.NewErrParamRequired("Name")) 7505 } 7506 if s.Name != nil && len(*s.Name) < 3 { 7507 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 7508 } 7509 7510 if invalidParams.Len() > 0 { 7511 return invalidParams 7512 } 7513 return nil 7514} 7515 7516// SetAccountId sets the AccountId field's value. 7517func (s *GetAccessPointForObjectLambdaInput) SetAccountId(v string) *GetAccessPointForObjectLambdaInput { 7518 s.AccountId = &v 7519 return s 7520} 7521 7522// SetName sets the Name field's value. 7523func (s *GetAccessPointForObjectLambdaInput) SetName(v string) *GetAccessPointForObjectLambdaInput { 7524 s.Name = &v 7525 return s 7526} 7527 7528func (s *GetAccessPointForObjectLambdaInput) hostLabels() map[string]string { 7529 return map[string]string{ 7530 "AccountId": aws.StringValue(s.AccountId), 7531 } 7532} 7533 7534type GetAccessPointForObjectLambdaOutput struct { 7535 _ struct{} `type:"structure"` 7536 7537 // The date and time when the specified Object Lambda Access Point was created. 7538 CreationDate *time.Time `type:"timestamp"` 7539 7540 // The name of the Object Lambda Access Point. 7541 Name *string `min:"3" type:"string"` 7542 7543 // Configuration to block all public access. This setting is turned on and can 7544 // not be edited. 7545 PublicAccessBlockConfiguration *PublicAccessBlockConfiguration `type:"structure"` 7546} 7547 7548// String returns the string representation 7549func (s GetAccessPointForObjectLambdaOutput) String() string { 7550 return awsutil.Prettify(s) 7551} 7552 7553// GoString returns the string representation 7554func (s GetAccessPointForObjectLambdaOutput) GoString() string { 7555 return s.String() 7556} 7557 7558// SetCreationDate sets the CreationDate field's value. 7559func (s *GetAccessPointForObjectLambdaOutput) SetCreationDate(v time.Time) *GetAccessPointForObjectLambdaOutput { 7560 s.CreationDate = &v 7561 return s 7562} 7563 7564// SetName sets the Name field's value. 7565func (s *GetAccessPointForObjectLambdaOutput) SetName(v string) *GetAccessPointForObjectLambdaOutput { 7566 s.Name = &v 7567 return s 7568} 7569 7570// SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value. 7571func (s *GetAccessPointForObjectLambdaOutput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *GetAccessPointForObjectLambdaOutput { 7572 s.PublicAccessBlockConfiguration = v 7573 return s 7574} 7575 7576type GetAccessPointInput struct { 7577 _ struct{} `locationName:"GetAccessPointRequest" type:"structure"` 7578 7579 // The account ID for the account that owns the specified access point. 7580 // 7581 // AccountId is a required field 7582 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 7583 7584 // The name of the access point whose configuration information you want to 7585 // retrieve. 7586 // 7587 // For using this parameter with Amazon S3 on Outposts with the REST API, you 7588 // must specify the name and the x-amz-outpost-id as well. 7589 // 7590 // For using this parameter with S3 on Outposts with the AWS SDK and CLI, you 7591 // 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>. 7592 // For example, to access the access point reports-ap through outpost my-outpost 7593 // owned by account 123456789012 in Region us-west-2, use the URL encoding of 7594 // arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. 7595 // The value must be URL encoded. 7596 // 7597 // Name is a required field 7598 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 7599} 7600 7601// String returns the string representation 7602func (s GetAccessPointInput) String() string { 7603 return awsutil.Prettify(s) 7604} 7605 7606// GoString returns the string representation 7607func (s GetAccessPointInput) GoString() string { 7608 return s.String() 7609} 7610 7611// Validate inspects the fields of the type to determine if they are valid. 7612func (s *GetAccessPointInput) Validate() error { 7613 invalidParams := request.ErrInvalidParams{Context: "GetAccessPointInput"} 7614 if s.AccountId == nil { 7615 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7616 } 7617 if s.AccountId != nil && len(*s.AccountId) < 1 { 7618 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7619 } 7620 if s.Name == nil { 7621 invalidParams.Add(request.NewErrParamRequired("Name")) 7622 } 7623 if s.Name != nil && len(*s.Name) < 3 { 7624 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 7625 } 7626 7627 if invalidParams.Len() > 0 { 7628 return invalidParams 7629 } 7630 return nil 7631} 7632 7633// SetAccountId sets the AccountId field's value. 7634func (s *GetAccessPointInput) SetAccountId(v string) *GetAccessPointInput { 7635 s.AccountId = &v 7636 return s 7637} 7638 7639// SetName sets the Name field's value. 7640func (s *GetAccessPointInput) SetName(v string) *GetAccessPointInput { 7641 s.Name = &v 7642 return s 7643} 7644 7645func (s *GetAccessPointInput) hostLabels() map[string]string { 7646 return map[string]string{ 7647 "AccountId": aws.StringValue(s.AccountId), 7648 } 7649} 7650 7651func (s *GetAccessPointInput) getEndpointARN() (arn.Resource, error) { 7652 if s.Name == nil { 7653 return nil, fmt.Errorf("member Name is nil") 7654 } 7655 return parseEndpointARN(*s.Name) 7656} 7657 7658func (s *GetAccessPointInput) hasEndpointARN() bool { 7659 if s.Name == nil { 7660 return false 7661 } 7662 return arn.IsARN(*s.Name) 7663} 7664 7665// updateArnableField updates the value of the input field that 7666// takes an ARN as an input. This method is useful to backfill 7667// the parsed resource name from ARN into the input member. 7668// It returns a pointer to a modified copy of input and an error. 7669// Note that original input is not modified. 7670func (s GetAccessPointInput) updateArnableField(v string) (interface{}, error) { 7671 if s.Name == nil { 7672 return nil, fmt.Errorf("member Name is nil") 7673 } 7674 s.Name = aws.String(v) 7675 return &s, nil 7676} 7677 7678// updateAccountID returns a pointer to a modified copy of input, 7679// if account id is not provided, we update the account id in modified input 7680// if account id is provided, but doesn't match with the one in ARN, we throw an error 7681// if account id is not updated, we return nil. Note that original input is not modified. 7682func (s GetAccessPointInput) updateAccountID(accountId string) (interface{}, error) { 7683 if s.AccountId == nil { 7684 s.AccountId = aws.String(accountId) 7685 return &s, nil 7686 } else if *s.AccountId != accountId { 7687 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 7688 } 7689 return nil, nil 7690} 7691 7692type GetAccessPointOutput struct { 7693 _ struct{} `type:"structure"` 7694 7695 // The name of the bucket associated with the specified access point. 7696 Bucket *string `min:"3" type:"string"` 7697 7698 // The date and time when the specified access point was created. 7699 CreationDate *time.Time `type:"timestamp"` 7700 7701 // The name of the specified access point. 7702 Name *string `min:"3" type:"string"` 7703 7704 // Indicates whether this access point allows access from the public internet. 7705 // If VpcConfiguration is specified for this access point, then NetworkOrigin 7706 // is VPC, and the access point doesn't allow access from the public internet. 7707 // Otherwise, NetworkOrigin is Internet, and the access point allows access 7708 // from the public internet, subject to the access point and bucket access policies. 7709 // 7710 // This will always be true for an Amazon S3 on Outposts access point 7711 NetworkOrigin *string `type:"string" enum:"NetworkOrigin"` 7712 7713 // The PublicAccessBlock configuration that you want to apply to this Amazon 7714 // S3 account. You can enable the configuration options in any combination. 7715 // For more information about when Amazon S3 considers a bucket or object public, 7716 // 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) 7717 // in the Amazon Simple Storage Service Developer Guide. 7718 // 7719 // This is not supported for Amazon S3 on Outposts. 7720 PublicAccessBlockConfiguration *PublicAccessBlockConfiguration `type:"structure"` 7721 7722 // Contains the virtual private cloud (VPC) configuration for the specified 7723 // access point. 7724 VpcConfiguration *VpcConfiguration `type:"structure"` 7725} 7726 7727// String returns the string representation 7728func (s GetAccessPointOutput) String() string { 7729 return awsutil.Prettify(s) 7730} 7731 7732// GoString returns the string representation 7733func (s GetAccessPointOutput) GoString() string { 7734 return s.String() 7735} 7736 7737// SetBucket sets the Bucket field's value. 7738func (s *GetAccessPointOutput) SetBucket(v string) *GetAccessPointOutput { 7739 s.Bucket = &v 7740 return s 7741} 7742 7743// SetCreationDate sets the CreationDate field's value. 7744func (s *GetAccessPointOutput) SetCreationDate(v time.Time) *GetAccessPointOutput { 7745 s.CreationDate = &v 7746 return s 7747} 7748 7749// SetName sets the Name field's value. 7750func (s *GetAccessPointOutput) SetName(v string) *GetAccessPointOutput { 7751 s.Name = &v 7752 return s 7753} 7754 7755// SetNetworkOrigin sets the NetworkOrigin field's value. 7756func (s *GetAccessPointOutput) SetNetworkOrigin(v string) *GetAccessPointOutput { 7757 s.NetworkOrigin = &v 7758 return s 7759} 7760 7761// SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value. 7762func (s *GetAccessPointOutput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *GetAccessPointOutput { 7763 s.PublicAccessBlockConfiguration = v 7764 return s 7765} 7766 7767// SetVpcConfiguration sets the VpcConfiguration field's value. 7768func (s *GetAccessPointOutput) SetVpcConfiguration(v *VpcConfiguration) *GetAccessPointOutput { 7769 s.VpcConfiguration = v 7770 return s 7771} 7772 7773type GetAccessPointPolicyForObjectLambdaInput struct { 7774 _ struct{} `locationName:"GetAccessPointPolicyForObjectLambdaRequest" type:"structure"` 7775 7776 // The account ID for the account that owns the specified Object Lambda Access 7777 // Point. 7778 // 7779 // AccountId is a required field 7780 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 7781 7782 // The name of the Object Lambda Access Point. 7783 // 7784 // Name is a required field 7785 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 7786} 7787 7788// String returns the string representation 7789func (s GetAccessPointPolicyForObjectLambdaInput) String() string { 7790 return awsutil.Prettify(s) 7791} 7792 7793// GoString returns the string representation 7794func (s GetAccessPointPolicyForObjectLambdaInput) GoString() string { 7795 return s.String() 7796} 7797 7798// Validate inspects the fields of the type to determine if they are valid. 7799func (s *GetAccessPointPolicyForObjectLambdaInput) Validate() error { 7800 invalidParams := request.ErrInvalidParams{Context: "GetAccessPointPolicyForObjectLambdaInput"} 7801 if s.AccountId == nil { 7802 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7803 } 7804 if s.AccountId != nil && len(*s.AccountId) < 1 { 7805 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7806 } 7807 if s.Name == nil { 7808 invalidParams.Add(request.NewErrParamRequired("Name")) 7809 } 7810 if s.Name != nil && len(*s.Name) < 3 { 7811 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 7812 } 7813 7814 if invalidParams.Len() > 0 { 7815 return invalidParams 7816 } 7817 return nil 7818} 7819 7820// SetAccountId sets the AccountId field's value. 7821func (s *GetAccessPointPolicyForObjectLambdaInput) SetAccountId(v string) *GetAccessPointPolicyForObjectLambdaInput { 7822 s.AccountId = &v 7823 return s 7824} 7825 7826// SetName sets the Name field's value. 7827func (s *GetAccessPointPolicyForObjectLambdaInput) SetName(v string) *GetAccessPointPolicyForObjectLambdaInput { 7828 s.Name = &v 7829 return s 7830} 7831 7832func (s *GetAccessPointPolicyForObjectLambdaInput) hostLabels() map[string]string { 7833 return map[string]string{ 7834 "AccountId": aws.StringValue(s.AccountId), 7835 } 7836} 7837 7838type GetAccessPointPolicyForObjectLambdaOutput struct { 7839 _ struct{} `type:"structure"` 7840 7841 // Object Lambda Access Point resource policy document. 7842 Policy *string `type:"string"` 7843} 7844 7845// String returns the string representation 7846func (s GetAccessPointPolicyForObjectLambdaOutput) String() string { 7847 return awsutil.Prettify(s) 7848} 7849 7850// GoString returns the string representation 7851func (s GetAccessPointPolicyForObjectLambdaOutput) GoString() string { 7852 return s.String() 7853} 7854 7855// SetPolicy sets the Policy field's value. 7856func (s *GetAccessPointPolicyForObjectLambdaOutput) SetPolicy(v string) *GetAccessPointPolicyForObjectLambdaOutput { 7857 s.Policy = &v 7858 return s 7859} 7860 7861type GetAccessPointPolicyInput struct { 7862 _ struct{} `locationName:"GetAccessPointPolicyRequest" type:"structure"` 7863 7864 // The account ID for the account that owns the specified access point. 7865 // 7866 // AccountId is a required field 7867 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 7868 7869 // The name of the access point whose policy you want to retrieve. 7870 // 7871 // For using this parameter with Amazon S3 on Outposts with the REST API, you 7872 // must specify the name and the x-amz-outpost-id as well. 7873 // 7874 // For using this parameter with S3 on Outposts with the AWS SDK and CLI, you 7875 // 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>. 7876 // For example, to access the access point reports-ap through outpost my-outpost 7877 // owned by account 123456789012 in Region us-west-2, use the URL encoding of 7878 // arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. 7879 // The value must be URL encoded. 7880 // 7881 // Name is a required field 7882 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 7883} 7884 7885// String returns the string representation 7886func (s GetAccessPointPolicyInput) String() string { 7887 return awsutil.Prettify(s) 7888} 7889 7890// GoString returns the string representation 7891func (s GetAccessPointPolicyInput) GoString() string { 7892 return s.String() 7893} 7894 7895// Validate inspects the fields of the type to determine if they are valid. 7896func (s *GetAccessPointPolicyInput) Validate() error { 7897 invalidParams := request.ErrInvalidParams{Context: "GetAccessPointPolicyInput"} 7898 if s.AccountId == nil { 7899 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7900 } 7901 if s.AccountId != nil && len(*s.AccountId) < 1 { 7902 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7903 } 7904 if s.Name == nil { 7905 invalidParams.Add(request.NewErrParamRequired("Name")) 7906 } 7907 if s.Name != nil && len(*s.Name) < 3 { 7908 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 7909 } 7910 7911 if invalidParams.Len() > 0 { 7912 return invalidParams 7913 } 7914 return nil 7915} 7916 7917// SetAccountId sets the AccountId field's value. 7918func (s *GetAccessPointPolicyInput) SetAccountId(v string) *GetAccessPointPolicyInput { 7919 s.AccountId = &v 7920 return s 7921} 7922 7923// SetName sets the Name field's value. 7924func (s *GetAccessPointPolicyInput) SetName(v string) *GetAccessPointPolicyInput { 7925 s.Name = &v 7926 return s 7927} 7928 7929func (s *GetAccessPointPolicyInput) hostLabels() map[string]string { 7930 return map[string]string{ 7931 "AccountId": aws.StringValue(s.AccountId), 7932 } 7933} 7934 7935func (s *GetAccessPointPolicyInput) getEndpointARN() (arn.Resource, error) { 7936 if s.Name == nil { 7937 return nil, fmt.Errorf("member Name is nil") 7938 } 7939 return parseEndpointARN(*s.Name) 7940} 7941 7942func (s *GetAccessPointPolicyInput) hasEndpointARN() bool { 7943 if s.Name == nil { 7944 return false 7945 } 7946 return arn.IsARN(*s.Name) 7947} 7948 7949// updateArnableField updates the value of the input field that 7950// takes an ARN as an input. This method is useful to backfill 7951// the parsed resource name from ARN into the input member. 7952// It returns a pointer to a modified copy of input and an error. 7953// Note that original input is not modified. 7954func (s GetAccessPointPolicyInput) updateArnableField(v string) (interface{}, error) { 7955 if s.Name == nil { 7956 return nil, fmt.Errorf("member Name is nil") 7957 } 7958 s.Name = aws.String(v) 7959 return &s, nil 7960} 7961 7962// updateAccountID returns a pointer to a modified copy of input, 7963// if account id is not provided, we update the account id in modified input 7964// if account id is provided, but doesn't match with the one in ARN, we throw an error 7965// if account id is not updated, we return nil. Note that original input is not modified. 7966func (s GetAccessPointPolicyInput) updateAccountID(accountId string) (interface{}, error) { 7967 if s.AccountId == nil { 7968 s.AccountId = aws.String(accountId) 7969 return &s, nil 7970 } else if *s.AccountId != accountId { 7971 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 7972 } 7973 return nil, nil 7974} 7975 7976type GetAccessPointPolicyOutput struct { 7977 _ struct{} `type:"structure"` 7978 7979 // The access point policy associated with the specified access point. 7980 Policy *string `type:"string"` 7981} 7982 7983// String returns the string representation 7984func (s GetAccessPointPolicyOutput) String() string { 7985 return awsutil.Prettify(s) 7986} 7987 7988// GoString returns the string representation 7989func (s GetAccessPointPolicyOutput) GoString() string { 7990 return s.String() 7991} 7992 7993// SetPolicy sets the Policy field's value. 7994func (s *GetAccessPointPolicyOutput) SetPolicy(v string) *GetAccessPointPolicyOutput { 7995 s.Policy = &v 7996 return s 7997} 7998 7999type GetAccessPointPolicyStatusForObjectLambdaInput struct { 8000 _ struct{} `locationName:"GetAccessPointPolicyStatusForObjectLambdaRequest" type:"structure"` 8001 8002 // The account ID for the account that owns the specified Object Lambda Access 8003 // Point. 8004 // 8005 // AccountId is a required field 8006 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 8007 8008 // The name of the Object Lambda Access Point. 8009 // 8010 // Name is a required field 8011 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 8012} 8013 8014// String returns the string representation 8015func (s GetAccessPointPolicyStatusForObjectLambdaInput) String() string { 8016 return awsutil.Prettify(s) 8017} 8018 8019// GoString returns the string representation 8020func (s GetAccessPointPolicyStatusForObjectLambdaInput) GoString() string { 8021 return s.String() 8022} 8023 8024// Validate inspects the fields of the type to determine if they are valid. 8025func (s *GetAccessPointPolicyStatusForObjectLambdaInput) Validate() error { 8026 invalidParams := request.ErrInvalidParams{Context: "GetAccessPointPolicyStatusForObjectLambdaInput"} 8027 if s.AccountId == nil { 8028 invalidParams.Add(request.NewErrParamRequired("AccountId")) 8029 } 8030 if s.AccountId != nil && len(*s.AccountId) < 1 { 8031 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 8032 } 8033 if s.Name == nil { 8034 invalidParams.Add(request.NewErrParamRequired("Name")) 8035 } 8036 if s.Name != nil && len(*s.Name) < 3 { 8037 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 8038 } 8039 8040 if invalidParams.Len() > 0 { 8041 return invalidParams 8042 } 8043 return nil 8044} 8045 8046// SetAccountId sets the AccountId field's value. 8047func (s *GetAccessPointPolicyStatusForObjectLambdaInput) SetAccountId(v string) *GetAccessPointPolicyStatusForObjectLambdaInput { 8048 s.AccountId = &v 8049 return s 8050} 8051 8052// SetName sets the Name field's value. 8053func (s *GetAccessPointPolicyStatusForObjectLambdaInput) SetName(v string) *GetAccessPointPolicyStatusForObjectLambdaInput { 8054 s.Name = &v 8055 return s 8056} 8057 8058func (s *GetAccessPointPolicyStatusForObjectLambdaInput) hostLabels() map[string]string { 8059 return map[string]string{ 8060 "AccountId": aws.StringValue(s.AccountId), 8061 } 8062} 8063 8064type GetAccessPointPolicyStatusForObjectLambdaOutput struct { 8065 _ struct{} `type:"structure"` 8066 8067 // Indicates whether this access point policy is public. For more information 8068 // about how Amazon S3 evaluates policies to determine whether they are public, 8069 // 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) 8070 // in the Amazon Simple Storage Service User Guide. 8071 PolicyStatus *PolicyStatus `type:"structure"` 8072} 8073 8074// String returns the string representation 8075func (s GetAccessPointPolicyStatusForObjectLambdaOutput) String() string { 8076 return awsutil.Prettify(s) 8077} 8078 8079// GoString returns the string representation 8080func (s GetAccessPointPolicyStatusForObjectLambdaOutput) GoString() string { 8081 return s.String() 8082} 8083 8084// SetPolicyStatus sets the PolicyStatus field's value. 8085func (s *GetAccessPointPolicyStatusForObjectLambdaOutput) SetPolicyStatus(v *PolicyStatus) *GetAccessPointPolicyStatusForObjectLambdaOutput { 8086 s.PolicyStatus = v 8087 return s 8088} 8089 8090type GetAccessPointPolicyStatusInput struct { 8091 _ struct{} `locationName:"GetAccessPointPolicyStatusRequest" type:"structure"` 8092 8093 // The account ID for the account that owns the specified access point. 8094 // 8095 // AccountId is a required field 8096 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 8097 8098 // The name of the access point whose policy status you want to retrieve. 8099 // 8100 // Name is a required field 8101 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 8102} 8103 8104// String returns the string representation 8105func (s GetAccessPointPolicyStatusInput) String() string { 8106 return awsutil.Prettify(s) 8107} 8108 8109// GoString returns the string representation 8110func (s GetAccessPointPolicyStatusInput) GoString() string { 8111 return s.String() 8112} 8113 8114// Validate inspects the fields of the type to determine if they are valid. 8115func (s *GetAccessPointPolicyStatusInput) Validate() error { 8116 invalidParams := request.ErrInvalidParams{Context: "GetAccessPointPolicyStatusInput"} 8117 if s.AccountId == nil { 8118 invalidParams.Add(request.NewErrParamRequired("AccountId")) 8119 } 8120 if s.AccountId != nil && len(*s.AccountId) < 1 { 8121 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 8122 } 8123 if s.Name == nil { 8124 invalidParams.Add(request.NewErrParamRequired("Name")) 8125 } 8126 if s.Name != nil && len(*s.Name) < 3 { 8127 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 8128 } 8129 8130 if invalidParams.Len() > 0 { 8131 return invalidParams 8132 } 8133 return nil 8134} 8135 8136// SetAccountId sets the AccountId field's value. 8137func (s *GetAccessPointPolicyStatusInput) SetAccountId(v string) *GetAccessPointPolicyStatusInput { 8138 s.AccountId = &v 8139 return s 8140} 8141 8142// SetName sets the Name field's value. 8143func (s *GetAccessPointPolicyStatusInput) SetName(v string) *GetAccessPointPolicyStatusInput { 8144 s.Name = &v 8145 return s 8146} 8147 8148func (s *GetAccessPointPolicyStatusInput) hostLabels() map[string]string { 8149 return map[string]string{ 8150 "AccountId": aws.StringValue(s.AccountId), 8151 } 8152} 8153 8154type GetAccessPointPolicyStatusOutput struct { 8155 _ struct{} `type:"structure"` 8156 8157 // Indicates the current policy status of the specified access point. 8158 PolicyStatus *PolicyStatus `type:"structure"` 8159} 8160 8161// String returns the string representation 8162func (s GetAccessPointPolicyStatusOutput) String() string { 8163 return awsutil.Prettify(s) 8164} 8165 8166// GoString returns the string representation 8167func (s GetAccessPointPolicyStatusOutput) GoString() string { 8168 return s.String() 8169} 8170 8171// SetPolicyStatus sets the PolicyStatus field's value. 8172func (s *GetAccessPointPolicyStatusOutput) SetPolicyStatus(v *PolicyStatus) *GetAccessPointPolicyStatusOutput { 8173 s.PolicyStatus = v 8174 return s 8175} 8176 8177type GetBucketInput struct { 8178 _ struct{} `locationName:"GetBucketRequest" type:"structure"` 8179 8180 // The AWS account ID of the Outposts bucket. 8181 // 8182 // AccountId is a required field 8183 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 8184 8185 // Specifies the bucket. 8186 // 8187 // For using this parameter with Amazon S3 on Outposts with the REST API, you 8188 // must specify the name and the x-amz-outpost-id as well. 8189 // 8190 // For using this parameter with S3 on Outposts with the AWS SDK and CLI, you 8191 // 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>. 8192 // For example, to access the bucket reports through outpost my-outpost owned 8193 // 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. 8194 // The value must be URL encoded. 8195 // 8196 // Bucket is a required field 8197 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 8198} 8199 8200// String returns the string representation 8201func (s GetBucketInput) String() string { 8202 return awsutil.Prettify(s) 8203} 8204 8205// GoString returns the string representation 8206func (s GetBucketInput) GoString() string { 8207 return s.String() 8208} 8209 8210// Validate inspects the fields of the type to determine if they are valid. 8211func (s *GetBucketInput) Validate() error { 8212 invalidParams := request.ErrInvalidParams{Context: "GetBucketInput"} 8213 if s.AccountId == nil { 8214 invalidParams.Add(request.NewErrParamRequired("AccountId")) 8215 } 8216 if s.AccountId != nil && len(*s.AccountId) < 1 { 8217 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 8218 } 8219 if s.Bucket == nil { 8220 invalidParams.Add(request.NewErrParamRequired("Bucket")) 8221 } 8222 if s.Bucket != nil && len(*s.Bucket) < 3 { 8223 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 8224 } 8225 8226 if invalidParams.Len() > 0 { 8227 return invalidParams 8228 } 8229 return nil 8230} 8231 8232// SetAccountId sets the AccountId field's value. 8233func (s *GetBucketInput) SetAccountId(v string) *GetBucketInput { 8234 s.AccountId = &v 8235 return s 8236} 8237 8238// SetBucket sets the Bucket field's value. 8239func (s *GetBucketInput) SetBucket(v string) *GetBucketInput { 8240 s.Bucket = &v 8241 return s 8242} 8243 8244func (s *GetBucketInput) hostLabels() map[string]string { 8245 return map[string]string{ 8246 "AccountId": aws.StringValue(s.AccountId), 8247 } 8248} 8249 8250func (s *GetBucketInput) getEndpointARN() (arn.Resource, error) { 8251 if s.Bucket == nil { 8252 return nil, fmt.Errorf("member Bucket is nil") 8253 } 8254 return parseEndpointARN(*s.Bucket) 8255} 8256 8257func (s *GetBucketInput) hasEndpointARN() bool { 8258 if s.Bucket == nil { 8259 return false 8260 } 8261 return arn.IsARN(*s.Bucket) 8262} 8263 8264// updateArnableField updates the value of the input field that 8265// takes an ARN as an input. This method is useful to backfill 8266// the parsed resource name from ARN into the input member. 8267// It returns a pointer to a modified copy of input and an error. 8268// Note that original input is not modified. 8269func (s GetBucketInput) updateArnableField(v string) (interface{}, error) { 8270 if s.Bucket == nil { 8271 return nil, fmt.Errorf("member Bucket is nil") 8272 } 8273 s.Bucket = aws.String(v) 8274 return &s, nil 8275} 8276 8277// updateAccountID returns a pointer to a modified copy of input, 8278// if account id is not provided, we update the account id in modified input 8279// if account id is provided, but doesn't match with the one in ARN, we throw an error 8280// if account id is not updated, we return nil. Note that original input is not modified. 8281func (s GetBucketInput) updateAccountID(accountId string) (interface{}, error) { 8282 if s.AccountId == nil { 8283 s.AccountId = aws.String(accountId) 8284 return &s, nil 8285 } else if *s.AccountId != accountId { 8286 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 8287 } 8288 return nil, nil 8289} 8290 8291type GetBucketLifecycleConfigurationInput struct { 8292 _ struct{} `locationName:"GetBucketLifecycleConfigurationRequest" type:"structure"` 8293 8294 // The AWS account ID of the Outposts bucket. 8295 // 8296 // AccountId is a required field 8297 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 8298 8299 // The Amazon Resource Name (ARN) of the bucket. 8300 // 8301 // For using this parameter with Amazon S3 on Outposts with the REST API, you 8302 // must specify the name and the x-amz-outpost-id as well. 8303 // 8304 // For using this parameter with S3 on Outposts with the AWS SDK and CLI, you 8305 // 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>. 8306 // For example, to access the bucket reports through outpost my-outpost owned 8307 // 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. 8308 // The value must be URL encoded. 8309 // 8310 // Bucket is a required field 8311 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 8312} 8313 8314// String returns the string representation 8315func (s GetBucketLifecycleConfigurationInput) String() string { 8316 return awsutil.Prettify(s) 8317} 8318 8319// GoString returns the string representation 8320func (s GetBucketLifecycleConfigurationInput) GoString() string { 8321 return s.String() 8322} 8323 8324// Validate inspects the fields of the type to determine if they are valid. 8325func (s *GetBucketLifecycleConfigurationInput) Validate() error { 8326 invalidParams := request.ErrInvalidParams{Context: "GetBucketLifecycleConfigurationInput"} 8327 if s.AccountId == nil { 8328 invalidParams.Add(request.NewErrParamRequired("AccountId")) 8329 } 8330 if s.AccountId != nil && len(*s.AccountId) < 1 { 8331 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 8332 } 8333 if s.Bucket == nil { 8334 invalidParams.Add(request.NewErrParamRequired("Bucket")) 8335 } 8336 if s.Bucket != nil && len(*s.Bucket) < 3 { 8337 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 8338 } 8339 8340 if invalidParams.Len() > 0 { 8341 return invalidParams 8342 } 8343 return nil 8344} 8345 8346// SetAccountId sets the AccountId field's value. 8347func (s *GetBucketLifecycleConfigurationInput) SetAccountId(v string) *GetBucketLifecycleConfigurationInput { 8348 s.AccountId = &v 8349 return s 8350} 8351 8352// SetBucket sets the Bucket field's value. 8353func (s *GetBucketLifecycleConfigurationInput) SetBucket(v string) *GetBucketLifecycleConfigurationInput { 8354 s.Bucket = &v 8355 return s 8356} 8357 8358func (s *GetBucketLifecycleConfigurationInput) hostLabels() map[string]string { 8359 return map[string]string{ 8360 "AccountId": aws.StringValue(s.AccountId), 8361 } 8362} 8363 8364func (s *GetBucketLifecycleConfigurationInput) getEndpointARN() (arn.Resource, error) { 8365 if s.Bucket == nil { 8366 return nil, fmt.Errorf("member Bucket is nil") 8367 } 8368 return parseEndpointARN(*s.Bucket) 8369} 8370 8371func (s *GetBucketLifecycleConfigurationInput) hasEndpointARN() bool { 8372 if s.Bucket == nil { 8373 return false 8374 } 8375 return arn.IsARN(*s.Bucket) 8376} 8377 8378// updateArnableField updates the value of the input field that 8379// takes an ARN as an input. This method is useful to backfill 8380// the parsed resource name from ARN into the input member. 8381// It returns a pointer to a modified copy of input and an error. 8382// Note that original input is not modified. 8383func (s GetBucketLifecycleConfigurationInput) updateArnableField(v string) (interface{}, error) { 8384 if s.Bucket == nil { 8385 return nil, fmt.Errorf("member Bucket is nil") 8386 } 8387 s.Bucket = aws.String(v) 8388 return &s, nil 8389} 8390 8391// updateAccountID returns a pointer to a modified copy of input, 8392// if account id is not provided, we update the account id in modified input 8393// if account id is provided, but doesn't match with the one in ARN, we throw an error 8394// if account id is not updated, we return nil. Note that original input is not modified. 8395func (s GetBucketLifecycleConfigurationInput) updateAccountID(accountId string) (interface{}, error) { 8396 if s.AccountId == nil { 8397 s.AccountId = aws.String(accountId) 8398 return &s, nil 8399 } else if *s.AccountId != accountId { 8400 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 8401 } 8402 return nil, nil 8403} 8404 8405type GetBucketLifecycleConfigurationOutput struct { 8406 _ struct{} `type:"structure"` 8407 8408 // Container for the lifecycle rule of the Outposts bucket. 8409 Rules []*LifecycleRule `locationNameList:"Rule" type:"list"` 8410} 8411 8412// String returns the string representation 8413func (s GetBucketLifecycleConfigurationOutput) String() string { 8414 return awsutil.Prettify(s) 8415} 8416 8417// GoString returns the string representation 8418func (s GetBucketLifecycleConfigurationOutput) GoString() string { 8419 return s.String() 8420} 8421 8422// SetRules sets the Rules field's value. 8423func (s *GetBucketLifecycleConfigurationOutput) SetRules(v []*LifecycleRule) *GetBucketLifecycleConfigurationOutput { 8424 s.Rules = v 8425 return s 8426} 8427 8428type GetBucketOutput struct { 8429 _ struct{} `type:"structure"` 8430 8431 // The Outposts bucket requested. 8432 Bucket *string `min:"3" type:"string"` 8433 8434 // The creation date of the Outposts bucket. 8435 CreationDate *time.Time `type:"timestamp"` 8436 8437 PublicAccessBlockEnabled *bool `type:"boolean"` 8438} 8439 8440// String returns the string representation 8441func (s GetBucketOutput) String() string { 8442 return awsutil.Prettify(s) 8443} 8444 8445// GoString returns the string representation 8446func (s GetBucketOutput) GoString() string { 8447 return s.String() 8448} 8449 8450// SetBucket sets the Bucket field's value. 8451func (s *GetBucketOutput) SetBucket(v string) *GetBucketOutput { 8452 s.Bucket = &v 8453 return s 8454} 8455 8456// SetCreationDate sets the CreationDate field's value. 8457func (s *GetBucketOutput) SetCreationDate(v time.Time) *GetBucketOutput { 8458 s.CreationDate = &v 8459 return s 8460} 8461 8462// SetPublicAccessBlockEnabled sets the PublicAccessBlockEnabled field's value. 8463func (s *GetBucketOutput) SetPublicAccessBlockEnabled(v bool) *GetBucketOutput { 8464 s.PublicAccessBlockEnabled = &v 8465 return s 8466} 8467 8468type GetBucketPolicyInput struct { 8469 _ struct{} `locationName:"GetBucketPolicyRequest" type:"structure"` 8470 8471 // The AWS account ID of the Outposts bucket. 8472 // 8473 // AccountId is a required field 8474 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 8475 8476 // Specifies the bucket. 8477 // 8478 // For using this parameter with Amazon S3 on Outposts with the REST API, you 8479 // must specify the name and the x-amz-outpost-id as well. 8480 // 8481 // For using this parameter with S3 on Outposts with the AWS SDK and CLI, you 8482 // 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>. 8483 // For example, to access the bucket reports through outpost my-outpost owned 8484 // 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. 8485 // The value must be URL encoded. 8486 // 8487 // Bucket is a required field 8488 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 8489} 8490 8491// String returns the string representation 8492func (s GetBucketPolicyInput) String() string { 8493 return awsutil.Prettify(s) 8494} 8495 8496// GoString returns the string representation 8497func (s GetBucketPolicyInput) GoString() string { 8498 return s.String() 8499} 8500 8501// Validate inspects the fields of the type to determine if they are valid. 8502func (s *GetBucketPolicyInput) Validate() error { 8503 invalidParams := request.ErrInvalidParams{Context: "GetBucketPolicyInput"} 8504 if s.AccountId == nil { 8505 invalidParams.Add(request.NewErrParamRequired("AccountId")) 8506 } 8507 if s.AccountId != nil && len(*s.AccountId) < 1 { 8508 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 8509 } 8510 if s.Bucket == nil { 8511 invalidParams.Add(request.NewErrParamRequired("Bucket")) 8512 } 8513 if s.Bucket != nil && len(*s.Bucket) < 3 { 8514 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 8515 } 8516 8517 if invalidParams.Len() > 0 { 8518 return invalidParams 8519 } 8520 return nil 8521} 8522 8523// SetAccountId sets the AccountId field's value. 8524func (s *GetBucketPolicyInput) SetAccountId(v string) *GetBucketPolicyInput { 8525 s.AccountId = &v 8526 return s 8527} 8528 8529// SetBucket sets the Bucket field's value. 8530func (s *GetBucketPolicyInput) SetBucket(v string) *GetBucketPolicyInput { 8531 s.Bucket = &v 8532 return s 8533} 8534 8535func (s *GetBucketPolicyInput) hostLabels() map[string]string { 8536 return map[string]string{ 8537 "AccountId": aws.StringValue(s.AccountId), 8538 } 8539} 8540 8541func (s *GetBucketPolicyInput) getEndpointARN() (arn.Resource, error) { 8542 if s.Bucket == nil { 8543 return nil, fmt.Errorf("member Bucket is nil") 8544 } 8545 return parseEndpointARN(*s.Bucket) 8546} 8547 8548func (s *GetBucketPolicyInput) hasEndpointARN() bool { 8549 if s.Bucket == nil { 8550 return false 8551 } 8552 return arn.IsARN(*s.Bucket) 8553} 8554 8555// updateArnableField updates the value of the input field that 8556// takes an ARN as an input. This method is useful to backfill 8557// the parsed resource name from ARN into the input member. 8558// It returns a pointer to a modified copy of input and an error. 8559// Note that original input is not modified. 8560func (s GetBucketPolicyInput) updateArnableField(v string) (interface{}, error) { 8561 if s.Bucket == nil { 8562 return nil, fmt.Errorf("member Bucket is nil") 8563 } 8564 s.Bucket = aws.String(v) 8565 return &s, nil 8566} 8567 8568// updateAccountID returns a pointer to a modified copy of input, 8569// if account id is not provided, we update the account id in modified input 8570// if account id is provided, but doesn't match with the one in ARN, we throw an error 8571// if account id is not updated, we return nil. Note that original input is not modified. 8572func (s GetBucketPolicyInput) updateAccountID(accountId string) (interface{}, error) { 8573 if s.AccountId == nil { 8574 s.AccountId = aws.String(accountId) 8575 return &s, nil 8576 } else if *s.AccountId != accountId { 8577 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 8578 } 8579 return nil, nil 8580} 8581 8582type GetBucketPolicyOutput struct { 8583 _ struct{} `type:"structure"` 8584 8585 // The policy of the Outposts bucket. 8586 Policy *string `type:"string"` 8587} 8588 8589// String returns the string representation 8590func (s GetBucketPolicyOutput) String() string { 8591 return awsutil.Prettify(s) 8592} 8593 8594// GoString returns the string representation 8595func (s GetBucketPolicyOutput) GoString() string { 8596 return s.String() 8597} 8598 8599// SetPolicy sets the Policy field's value. 8600func (s *GetBucketPolicyOutput) SetPolicy(v string) *GetBucketPolicyOutput { 8601 s.Policy = &v 8602 return s 8603} 8604 8605type GetBucketTaggingInput struct { 8606 _ struct{} `locationName:"GetBucketTaggingRequest" type:"structure"` 8607 8608 // The AWS account ID of the Outposts bucket. 8609 // 8610 // AccountId is a required field 8611 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 8612 8613 // Specifies the bucket. 8614 // 8615 // For using this parameter with Amazon S3 on Outposts with the REST API, you 8616 // must specify the name and the x-amz-outpost-id as well. 8617 // 8618 // For using this parameter with S3 on Outposts with the AWS SDK and CLI, you 8619 // 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>. 8620 // For example, to access the bucket reports through outpost my-outpost owned 8621 // 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. 8622 // The value must be URL encoded. 8623 // 8624 // Bucket is a required field 8625 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 8626} 8627 8628// String returns the string representation 8629func (s GetBucketTaggingInput) String() string { 8630 return awsutil.Prettify(s) 8631} 8632 8633// GoString returns the string representation 8634func (s GetBucketTaggingInput) GoString() string { 8635 return s.String() 8636} 8637 8638// Validate inspects the fields of the type to determine if they are valid. 8639func (s *GetBucketTaggingInput) Validate() error { 8640 invalidParams := request.ErrInvalidParams{Context: "GetBucketTaggingInput"} 8641 if s.AccountId == nil { 8642 invalidParams.Add(request.NewErrParamRequired("AccountId")) 8643 } 8644 if s.AccountId != nil && len(*s.AccountId) < 1 { 8645 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 8646 } 8647 if s.Bucket == nil { 8648 invalidParams.Add(request.NewErrParamRequired("Bucket")) 8649 } 8650 if s.Bucket != nil && len(*s.Bucket) < 3 { 8651 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 8652 } 8653 8654 if invalidParams.Len() > 0 { 8655 return invalidParams 8656 } 8657 return nil 8658} 8659 8660// SetAccountId sets the AccountId field's value. 8661func (s *GetBucketTaggingInput) SetAccountId(v string) *GetBucketTaggingInput { 8662 s.AccountId = &v 8663 return s 8664} 8665 8666// SetBucket sets the Bucket field's value. 8667func (s *GetBucketTaggingInput) SetBucket(v string) *GetBucketTaggingInput { 8668 s.Bucket = &v 8669 return s 8670} 8671 8672func (s *GetBucketTaggingInput) hostLabels() map[string]string { 8673 return map[string]string{ 8674 "AccountId": aws.StringValue(s.AccountId), 8675 } 8676} 8677 8678func (s *GetBucketTaggingInput) getEndpointARN() (arn.Resource, error) { 8679 if s.Bucket == nil { 8680 return nil, fmt.Errorf("member Bucket is nil") 8681 } 8682 return parseEndpointARN(*s.Bucket) 8683} 8684 8685func (s *GetBucketTaggingInput) hasEndpointARN() bool { 8686 if s.Bucket == nil { 8687 return false 8688 } 8689 return arn.IsARN(*s.Bucket) 8690} 8691 8692// updateArnableField updates the value of the input field that 8693// takes an ARN as an input. This method is useful to backfill 8694// the parsed resource name from ARN into the input member. 8695// It returns a pointer to a modified copy of input and an error. 8696// Note that original input is not modified. 8697func (s GetBucketTaggingInput) updateArnableField(v string) (interface{}, error) { 8698 if s.Bucket == nil { 8699 return nil, fmt.Errorf("member Bucket is nil") 8700 } 8701 s.Bucket = aws.String(v) 8702 return &s, nil 8703} 8704 8705// updateAccountID returns a pointer to a modified copy of input, 8706// if account id is not provided, we update the account id in modified input 8707// if account id is provided, but doesn't match with the one in ARN, we throw an error 8708// if account id is not updated, we return nil. Note that original input is not modified. 8709func (s GetBucketTaggingInput) updateAccountID(accountId string) (interface{}, error) { 8710 if s.AccountId == nil { 8711 s.AccountId = aws.String(accountId) 8712 return &s, nil 8713 } else if *s.AccountId != accountId { 8714 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 8715 } 8716 return nil, nil 8717} 8718 8719type GetBucketTaggingOutput struct { 8720 _ struct{} `type:"structure"` 8721 8722 // The tags set of the Outposts bucket. 8723 // 8724 // TagSet is a required field 8725 TagSet []*S3Tag `type:"list" required:"true"` 8726} 8727 8728// String returns the string representation 8729func (s GetBucketTaggingOutput) String() string { 8730 return awsutil.Prettify(s) 8731} 8732 8733// GoString returns the string representation 8734func (s GetBucketTaggingOutput) GoString() string { 8735 return s.String() 8736} 8737 8738// SetTagSet sets the TagSet field's value. 8739func (s *GetBucketTaggingOutput) SetTagSet(v []*S3Tag) *GetBucketTaggingOutput { 8740 s.TagSet = v 8741 return s 8742} 8743 8744type GetJobTaggingInput struct { 8745 _ struct{} `locationName:"GetJobTaggingRequest" type:"structure"` 8746 8747 // The AWS account ID associated with the S3 Batch Operations job. 8748 // 8749 // AccountId is a required field 8750 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 8751 8752 // The ID for the S3 Batch Operations job whose tags you want to retrieve. 8753 // 8754 // JobId is a required field 8755 JobId *string `location:"uri" locationName:"id" min:"5" type:"string" required:"true"` 8756} 8757 8758// String returns the string representation 8759func (s GetJobTaggingInput) String() string { 8760 return awsutil.Prettify(s) 8761} 8762 8763// GoString returns the string representation 8764func (s GetJobTaggingInput) GoString() string { 8765 return s.String() 8766} 8767 8768// Validate inspects the fields of the type to determine if they are valid. 8769func (s *GetJobTaggingInput) Validate() error { 8770 invalidParams := request.ErrInvalidParams{Context: "GetJobTaggingInput"} 8771 if s.AccountId == nil { 8772 invalidParams.Add(request.NewErrParamRequired("AccountId")) 8773 } 8774 if s.AccountId != nil && len(*s.AccountId) < 1 { 8775 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 8776 } 8777 if s.JobId == nil { 8778 invalidParams.Add(request.NewErrParamRequired("JobId")) 8779 } 8780 if s.JobId != nil && len(*s.JobId) < 5 { 8781 invalidParams.Add(request.NewErrParamMinLen("JobId", 5)) 8782 } 8783 8784 if invalidParams.Len() > 0 { 8785 return invalidParams 8786 } 8787 return nil 8788} 8789 8790// SetAccountId sets the AccountId field's value. 8791func (s *GetJobTaggingInput) SetAccountId(v string) *GetJobTaggingInput { 8792 s.AccountId = &v 8793 return s 8794} 8795 8796// SetJobId sets the JobId field's value. 8797func (s *GetJobTaggingInput) SetJobId(v string) *GetJobTaggingInput { 8798 s.JobId = &v 8799 return s 8800} 8801 8802func (s *GetJobTaggingInput) hostLabels() map[string]string { 8803 return map[string]string{ 8804 "AccountId": aws.StringValue(s.AccountId), 8805 } 8806} 8807 8808type GetJobTaggingOutput struct { 8809 _ struct{} `type:"structure"` 8810 8811 // The set of tags associated with the S3 Batch Operations job. 8812 Tags []*S3Tag `type:"list"` 8813} 8814 8815// String returns the string representation 8816func (s GetJobTaggingOutput) String() string { 8817 return awsutil.Prettify(s) 8818} 8819 8820// GoString returns the string representation 8821func (s GetJobTaggingOutput) GoString() string { 8822 return s.String() 8823} 8824 8825// SetTags sets the Tags field's value. 8826func (s *GetJobTaggingOutput) SetTags(v []*S3Tag) *GetJobTaggingOutput { 8827 s.Tags = v 8828 return s 8829} 8830 8831type GetPublicAccessBlockInput struct { 8832 _ struct{} `locationName:"GetPublicAccessBlockRequest" type:"structure"` 8833 8834 // The account ID for the AWS account whose PublicAccessBlock configuration 8835 // you want to retrieve. 8836 // 8837 // AccountId is a required field 8838 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 8839} 8840 8841// String returns the string representation 8842func (s GetPublicAccessBlockInput) String() string { 8843 return awsutil.Prettify(s) 8844} 8845 8846// GoString returns the string representation 8847func (s GetPublicAccessBlockInput) GoString() string { 8848 return s.String() 8849} 8850 8851// Validate inspects the fields of the type to determine if they are valid. 8852func (s *GetPublicAccessBlockInput) Validate() error { 8853 invalidParams := request.ErrInvalidParams{Context: "GetPublicAccessBlockInput"} 8854 if s.AccountId == nil { 8855 invalidParams.Add(request.NewErrParamRequired("AccountId")) 8856 } 8857 if s.AccountId != nil && len(*s.AccountId) < 1 { 8858 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 8859 } 8860 8861 if invalidParams.Len() > 0 { 8862 return invalidParams 8863 } 8864 return nil 8865} 8866 8867// SetAccountId sets the AccountId field's value. 8868func (s *GetPublicAccessBlockInput) SetAccountId(v string) *GetPublicAccessBlockInput { 8869 s.AccountId = &v 8870 return s 8871} 8872 8873func (s *GetPublicAccessBlockInput) hostLabels() map[string]string { 8874 return map[string]string{ 8875 "AccountId": aws.StringValue(s.AccountId), 8876 } 8877} 8878 8879type GetPublicAccessBlockOutput struct { 8880 _ struct{} `type:"structure" payload:"PublicAccessBlockConfiguration"` 8881 8882 // The PublicAccessBlock configuration currently in effect for this AWS account. 8883 PublicAccessBlockConfiguration *PublicAccessBlockConfiguration `type:"structure"` 8884} 8885 8886// String returns the string representation 8887func (s GetPublicAccessBlockOutput) String() string { 8888 return awsutil.Prettify(s) 8889} 8890 8891// GoString returns the string representation 8892func (s GetPublicAccessBlockOutput) GoString() string { 8893 return s.String() 8894} 8895 8896// SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value. 8897func (s *GetPublicAccessBlockOutput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *GetPublicAccessBlockOutput { 8898 s.PublicAccessBlockConfiguration = v 8899 return s 8900} 8901 8902type GetStorageLensConfigurationInput struct { 8903 _ struct{} `locationName:"GetStorageLensConfigurationRequest" type:"structure"` 8904 8905 // The account ID of the requester. 8906 // 8907 // AccountId is a required field 8908 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 8909 8910 // The ID of the Amazon S3 Storage Lens configuration. 8911 // 8912 // ConfigId is a required field 8913 ConfigId *string `location:"uri" locationName:"storagelensid" min:"1" type:"string" required:"true"` 8914} 8915 8916// String returns the string representation 8917func (s GetStorageLensConfigurationInput) String() string { 8918 return awsutil.Prettify(s) 8919} 8920 8921// GoString returns the string representation 8922func (s GetStorageLensConfigurationInput) GoString() string { 8923 return s.String() 8924} 8925 8926// Validate inspects the fields of the type to determine if they are valid. 8927func (s *GetStorageLensConfigurationInput) Validate() error { 8928 invalidParams := request.ErrInvalidParams{Context: "GetStorageLensConfigurationInput"} 8929 if s.AccountId == nil { 8930 invalidParams.Add(request.NewErrParamRequired("AccountId")) 8931 } 8932 if s.AccountId != nil && len(*s.AccountId) < 1 { 8933 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 8934 } 8935 if s.ConfigId == nil { 8936 invalidParams.Add(request.NewErrParamRequired("ConfigId")) 8937 } 8938 if s.ConfigId != nil && len(*s.ConfigId) < 1 { 8939 invalidParams.Add(request.NewErrParamMinLen("ConfigId", 1)) 8940 } 8941 8942 if invalidParams.Len() > 0 { 8943 return invalidParams 8944 } 8945 return nil 8946} 8947 8948// SetAccountId sets the AccountId field's value. 8949func (s *GetStorageLensConfigurationInput) SetAccountId(v string) *GetStorageLensConfigurationInput { 8950 s.AccountId = &v 8951 return s 8952} 8953 8954// SetConfigId sets the ConfigId field's value. 8955func (s *GetStorageLensConfigurationInput) SetConfigId(v string) *GetStorageLensConfigurationInput { 8956 s.ConfigId = &v 8957 return s 8958} 8959 8960func (s *GetStorageLensConfigurationInput) hostLabels() map[string]string { 8961 return map[string]string{ 8962 "AccountId": aws.StringValue(s.AccountId), 8963 } 8964} 8965 8966type GetStorageLensConfigurationOutput struct { 8967 _ struct{} `type:"structure" payload:"StorageLensConfiguration"` 8968 8969 // The S3 Storage Lens configuration requested. 8970 StorageLensConfiguration *StorageLensConfiguration `type:"structure"` 8971} 8972 8973// String returns the string representation 8974func (s GetStorageLensConfigurationOutput) String() string { 8975 return awsutil.Prettify(s) 8976} 8977 8978// GoString returns the string representation 8979func (s GetStorageLensConfigurationOutput) GoString() string { 8980 return s.String() 8981} 8982 8983// SetStorageLensConfiguration sets the StorageLensConfiguration field's value. 8984func (s *GetStorageLensConfigurationOutput) SetStorageLensConfiguration(v *StorageLensConfiguration) *GetStorageLensConfigurationOutput { 8985 s.StorageLensConfiguration = v 8986 return s 8987} 8988 8989type GetStorageLensConfigurationTaggingInput struct { 8990 _ struct{} `locationName:"GetStorageLensConfigurationTaggingRequest" type:"structure"` 8991 8992 // The account ID of the requester. 8993 // 8994 // AccountId is a required field 8995 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 8996 8997 // The ID of the Amazon S3 Storage Lens configuration. 8998 // 8999 // ConfigId is a required field 9000 ConfigId *string `location:"uri" locationName:"storagelensid" min:"1" type:"string" required:"true"` 9001} 9002 9003// String returns the string representation 9004func (s GetStorageLensConfigurationTaggingInput) String() string { 9005 return awsutil.Prettify(s) 9006} 9007 9008// GoString returns the string representation 9009func (s GetStorageLensConfigurationTaggingInput) GoString() string { 9010 return s.String() 9011} 9012 9013// Validate inspects the fields of the type to determine if they are valid. 9014func (s *GetStorageLensConfigurationTaggingInput) Validate() error { 9015 invalidParams := request.ErrInvalidParams{Context: "GetStorageLensConfigurationTaggingInput"} 9016 if s.AccountId == nil { 9017 invalidParams.Add(request.NewErrParamRequired("AccountId")) 9018 } 9019 if s.AccountId != nil && len(*s.AccountId) < 1 { 9020 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 9021 } 9022 if s.ConfigId == nil { 9023 invalidParams.Add(request.NewErrParamRequired("ConfigId")) 9024 } 9025 if s.ConfigId != nil && len(*s.ConfigId) < 1 { 9026 invalidParams.Add(request.NewErrParamMinLen("ConfigId", 1)) 9027 } 9028 9029 if invalidParams.Len() > 0 { 9030 return invalidParams 9031 } 9032 return nil 9033} 9034 9035// SetAccountId sets the AccountId field's value. 9036func (s *GetStorageLensConfigurationTaggingInput) SetAccountId(v string) *GetStorageLensConfigurationTaggingInput { 9037 s.AccountId = &v 9038 return s 9039} 9040 9041// SetConfigId sets the ConfigId field's value. 9042func (s *GetStorageLensConfigurationTaggingInput) SetConfigId(v string) *GetStorageLensConfigurationTaggingInput { 9043 s.ConfigId = &v 9044 return s 9045} 9046 9047func (s *GetStorageLensConfigurationTaggingInput) hostLabels() map[string]string { 9048 return map[string]string{ 9049 "AccountId": aws.StringValue(s.AccountId), 9050 } 9051} 9052 9053type GetStorageLensConfigurationTaggingOutput struct { 9054 _ struct{} `type:"structure"` 9055 9056 // The tags of S3 Storage Lens configuration requested. 9057 Tags []*StorageLensTag `locationNameList:"Tag" type:"list"` 9058} 9059 9060// String returns the string representation 9061func (s GetStorageLensConfigurationTaggingOutput) String() string { 9062 return awsutil.Prettify(s) 9063} 9064 9065// GoString returns the string representation 9066func (s GetStorageLensConfigurationTaggingOutput) GoString() string { 9067 return s.String() 9068} 9069 9070// SetTags sets the Tags field's value. 9071func (s *GetStorageLensConfigurationTaggingOutput) SetTags(v []*StorageLensTag) *GetStorageLensConfigurationTaggingOutput { 9072 s.Tags = v 9073 return s 9074} 9075 9076// A container for what Amazon S3 Storage Lens configuration includes. 9077type Include struct { 9078 _ struct{} `type:"structure"` 9079 9080 // A container for the S3 Storage Lens bucket includes. 9081 Buckets []*string `locationNameList:"Arn" type:"list"` 9082 9083 // A container for the S3 Storage Lens Region includes. 9084 Regions []*string `locationNameList:"Region" type:"list"` 9085} 9086 9087// String returns the string representation 9088func (s Include) String() string { 9089 return awsutil.Prettify(s) 9090} 9091 9092// GoString returns the string representation 9093func (s Include) GoString() string { 9094 return s.String() 9095} 9096 9097// SetBuckets sets the Buckets field's value. 9098func (s *Include) SetBuckets(v []*string) *Include { 9099 s.Buckets = v 9100 return s 9101} 9102 9103// SetRegions sets the Regions field's value. 9104func (s *Include) SetRegions(v []*string) *Include { 9105 s.Regions = v 9106 return s 9107} 9108 9109// A container element for the job configuration and status information returned 9110// by a Describe Job request. 9111type JobDescriptor struct { 9112 _ struct{} `type:"structure"` 9113 9114 // Indicates whether confirmation is required before Amazon S3 begins running 9115 // the specified job. Confirmation is required only for jobs created through 9116 // the Amazon S3 console. 9117 ConfirmationRequired *bool `type:"boolean"` 9118 9119 // A timestamp indicating when this job was created. 9120 CreationTime *time.Time `type:"timestamp"` 9121 9122 // The description for this job, if one was provided in this job's Create Job 9123 // request. 9124 Description *string `min:"1" type:"string"` 9125 9126 // If the specified job failed, this field contains information describing the 9127 // failure. 9128 FailureReasons []*JobFailure `type:"list"` 9129 9130 // The Amazon Resource Name (ARN) for this job. 9131 JobArn *string `min:"1" type:"string"` 9132 9133 // The ID for the specified job. 9134 JobId *string `min:"5" type:"string"` 9135 9136 // The configuration information for the specified job's manifest object. 9137 Manifest *JobManifest `type:"structure"` 9138 9139 // The operation that the specified job is configured to run on the objects 9140 // listed in the manifest. 9141 Operation *JobOperation `type:"structure"` 9142 9143 // The priority of the specified job. 9144 Priority *int64 `type:"integer"` 9145 9146 // Describes the total number of tasks that the specified job has run, the number 9147 // of tasks that succeeded, and the number of tasks that failed. 9148 ProgressSummary *JobProgressSummary `type:"structure"` 9149 9150 // Contains the configuration information for the job-completion report if you 9151 // requested one in the Create Job request. 9152 Report *JobReport `type:"structure"` 9153 9154 // The Amazon Resource Name (ARN) for the AWS Identity and Access Management 9155 // (IAM) role assigned to run the tasks for this job. 9156 RoleArn *string `min:"1" type:"string"` 9157 9158 // The current status of the specified job. 9159 Status *string `type:"string" enum:"JobStatus"` 9160 9161 // The reason for updating the job. 9162 StatusUpdateReason *string `min:"1" type:"string"` 9163 9164 // The reason why the specified job was suspended. A job is only suspended if 9165 // you create it through the Amazon S3 console. When you create the job, it 9166 // enters the Suspended state to await confirmation before running. After you 9167 // confirm the job, it automatically exits the Suspended state. 9168 SuspendedCause *string `min:"1" type:"string"` 9169 9170 // The timestamp when this job was suspended, if it has been suspended. 9171 SuspendedDate *time.Time `type:"timestamp"` 9172 9173 // A timestamp indicating when this job terminated. A job's termination date 9174 // is the date and time when it succeeded, failed, or was canceled. 9175 TerminationDate *time.Time `type:"timestamp"` 9176} 9177 9178// String returns the string representation 9179func (s JobDescriptor) String() string { 9180 return awsutil.Prettify(s) 9181} 9182 9183// GoString returns the string representation 9184func (s JobDescriptor) GoString() string { 9185 return s.String() 9186} 9187 9188// SetConfirmationRequired sets the ConfirmationRequired field's value. 9189func (s *JobDescriptor) SetConfirmationRequired(v bool) *JobDescriptor { 9190 s.ConfirmationRequired = &v 9191 return s 9192} 9193 9194// SetCreationTime sets the CreationTime field's value. 9195func (s *JobDescriptor) SetCreationTime(v time.Time) *JobDescriptor { 9196 s.CreationTime = &v 9197 return s 9198} 9199 9200// SetDescription sets the Description field's value. 9201func (s *JobDescriptor) SetDescription(v string) *JobDescriptor { 9202 s.Description = &v 9203 return s 9204} 9205 9206// SetFailureReasons sets the FailureReasons field's value. 9207func (s *JobDescriptor) SetFailureReasons(v []*JobFailure) *JobDescriptor { 9208 s.FailureReasons = v 9209 return s 9210} 9211 9212// SetJobArn sets the JobArn field's value. 9213func (s *JobDescriptor) SetJobArn(v string) *JobDescriptor { 9214 s.JobArn = &v 9215 return s 9216} 9217 9218// SetJobId sets the JobId field's value. 9219func (s *JobDescriptor) SetJobId(v string) *JobDescriptor { 9220 s.JobId = &v 9221 return s 9222} 9223 9224// SetManifest sets the Manifest field's value. 9225func (s *JobDescriptor) SetManifest(v *JobManifest) *JobDescriptor { 9226 s.Manifest = v 9227 return s 9228} 9229 9230// SetOperation sets the Operation field's value. 9231func (s *JobDescriptor) SetOperation(v *JobOperation) *JobDescriptor { 9232 s.Operation = v 9233 return s 9234} 9235 9236// SetPriority sets the Priority field's value. 9237func (s *JobDescriptor) SetPriority(v int64) *JobDescriptor { 9238 s.Priority = &v 9239 return s 9240} 9241 9242// SetProgressSummary sets the ProgressSummary field's value. 9243func (s *JobDescriptor) SetProgressSummary(v *JobProgressSummary) *JobDescriptor { 9244 s.ProgressSummary = v 9245 return s 9246} 9247 9248// SetReport sets the Report field's value. 9249func (s *JobDescriptor) SetReport(v *JobReport) *JobDescriptor { 9250 s.Report = v 9251 return s 9252} 9253 9254// SetRoleArn sets the RoleArn field's value. 9255func (s *JobDescriptor) SetRoleArn(v string) *JobDescriptor { 9256 s.RoleArn = &v 9257 return s 9258} 9259 9260// SetStatus sets the Status field's value. 9261func (s *JobDescriptor) SetStatus(v string) *JobDescriptor { 9262 s.Status = &v 9263 return s 9264} 9265 9266// SetStatusUpdateReason sets the StatusUpdateReason field's value. 9267func (s *JobDescriptor) SetStatusUpdateReason(v string) *JobDescriptor { 9268 s.StatusUpdateReason = &v 9269 return s 9270} 9271 9272// SetSuspendedCause sets the SuspendedCause field's value. 9273func (s *JobDescriptor) SetSuspendedCause(v string) *JobDescriptor { 9274 s.SuspendedCause = &v 9275 return s 9276} 9277 9278// SetSuspendedDate sets the SuspendedDate field's value. 9279func (s *JobDescriptor) SetSuspendedDate(v time.Time) *JobDescriptor { 9280 s.SuspendedDate = &v 9281 return s 9282} 9283 9284// SetTerminationDate sets the TerminationDate field's value. 9285func (s *JobDescriptor) SetTerminationDate(v time.Time) *JobDescriptor { 9286 s.TerminationDate = &v 9287 return s 9288} 9289 9290// If this job failed, this element indicates why the job failed. 9291type JobFailure struct { 9292 _ struct{} `type:"structure"` 9293 9294 // The failure code, if any, for the specified job. 9295 FailureCode *string `min:"1" type:"string"` 9296 9297 // The failure reason, if any, for the specified job. 9298 FailureReason *string `min:"1" type:"string"` 9299} 9300 9301// String returns the string representation 9302func (s JobFailure) String() string { 9303 return awsutil.Prettify(s) 9304} 9305 9306// GoString returns the string representation 9307func (s JobFailure) GoString() string { 9308 return s.String() 9309} 9310 9311// SetFailureCode sets the FailureCode field's value. 9312func (s *JobFailure) SetFailureCode(v string) *JobFailure { 9313 s.FailureCode = &v 9314 return s 9315} 9316 9317// SetFailureReason sets the FailureReason field's value. 9318func (s *JobFailure) SetFailureReason(v string) *JobFailure { 9319 s.FailureReason = &v 9320 return s 9321} 9322 9323// Contains the configuration and status information for a single job retrieved 9324// as part of a job list. 9325type JobListDescriptor struct { 9326 _ struct{} `type:"structure"` 9327 9328 // A timestamp indicating when the specified job was created. 9329 CreationTime *time.Time `type:"timestamp"` 9330 9331 // The user-specified description that was included in the specified job's Create 9332 // Job request. 9333 Description *string `min:"1" type:"string"` 9334 9335 // The ID for the specified job. 9336 JobId *string `min:"5" type:"string"` 9337 9338 // The operation that the specified job is configured to run on every object 9339 // listed in the manifest. 9340 Operation *string `type:"string" enum:"OperationName"` 9341 9342 // The current priority for the specified job. 9343 Priority *int64 `type:"integer"` 9344 9345 // Describes the total number of tasks that the specified job has run, the number 9346 // of tasks that succeeded, and the number of tasks that failed. 9347 ProgressSummary *JobProgressSummary `type:"structure"` 9348 9349 // The specified job's current status. 9350 Status *string `type:"string" enum:"JobStatus"` 9351 9352 // A timestamp indicating when the specified job terminated. A job's termination 9353 // date is the date and time when it succeeded, failed, or was canceled. 9354 TerminationDate *time.Time `type:"timestamp"` 9355} 9356 9357// String returns the string representation 9358func (s JobListDescriptor) String() string { 9359 return awsutil.Prettify(s) 9360} 9361 9362// GoString returns the string representation 9363func (s JobListDescriptor) GoString() string { 9364 return s.String() 9365} 9366 9367// SetCreationTime sets the CreationTime field's value. 9368func (s *JobListDescriptor) SetCreationTime(v time.Time) *JobListDescriptor { 9369 s.CreationTime = &v 9370 return s 9371} 9372 9373// SetDescription sets the Description field's value. 9374func (s *JobListDescriptor) SetDescription(v string) *JobListDescriptor { 9375 s.Description = &v 9376 return s 9377} 9378 9379// SetJobId sets the JobId field's value. 9380func (s *JobListDescriptor) SetJobId(v string) *JobListDescriptor { 9381 s.JobId = &v 9382 return s 9383} 9384 9385// SetOperation sets the Operation field's value. 9386func (s *JobListDescriptor) SetOperation(v string) *JobListDescriptor { 9387 s.Operation = &v 9388 return s 9389} 9390 9391// SetPriority sets the Priority field's value. 9392func (s *JobListDescriptor) SetPriority(v int64) *JobListDescriptor { 9393 s.Priority = &v 9394 return s 9395} 9396 9397// SetProgressSummary sets the ProgressSummary field's value. 9398func (s *JobListDescriptor) SetProgressSummary(v *JobProgressSummary) *JobListDescriptor { 9399 s.ProgressSummary = v 9400 return s 9401} 9402 9403// SetStatus sets the Status field's value. 9404func (s *JobListDescriptor) SetStatus(v string) *JobListDescriptor { 9405 s.Status = &v 9406 return s 9407} 9408 9409// SetTerminationDate sets the TerminationDate field's value. 9410func (s *JobListDescriptor) SetTerminationDate(v time.Time) *JobListDescriptor { 9411 s.TerminationDate = &v 9412 return s 9413} 9414 9415// Contains the configuration information for a job's manifest. 9416type JobManifest struct { 9417 _ struct{} `type:"structure"` 9418 9419 // Contains the information required to locate the specified job's manifest. 9420 // 9421 // Location is a required field 9422 Location *JobManifestLocation `type:"structure" required:"true"` 9423 9424 // Describes the format of the specified job's manifest. If the manifest is 9425 // in CSV format, also describes the columns contained within the manifest. 9426 // 9427 // Spec is a required field 9428 Spec *JobManifestSpec `type:"structure" required:"true"` 9429} 9430 9431// String returns the string representation 9432func (s JobManifest) String() string { 9433 return awsutil.Prettify(s) 9434} 9435 9436// GoString returns the string representation 9437func (s JobManifest) GoString() string { 9438 return s.String() 9439} 9440 9441// Validate inspects the fields of the type to determine if they are valid. 9442func (s *JobManifest) Validate() error { 9443 invalidParams := request.ErrInvalidParams{Context: "JobManifest"} 9444 if s.Location == nil { 9445 invalidParams.Add(request.NewErrParamRequired("Location")) 9446 } 9447 if s.Spec == nil { 9448 invalidParams.Add(request.NewErrParamRequired("Spec")) 9449 } 9450 if s.Location != nil { 9451 if err := s.Location.Validate(); err != nil { 9452 invalidParams.AddNested("Location", err.(request.ErrInvalidParams)) 9453 } 9454 } 9455 if s.Spec != nil { 9456 if err := s.Spec.Validate(); err != nil { 9457 invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) 9458 } 9459 } 9460 9461 if invalidParams.Len() > 0 { 9462 return invalidParams 9463 } 9464 return nil 9465} 9466 9467// SetLocation sets the Location field's value. 9468func (s *JobManifest) SetLocation(v *JobManifestLocation) *JobManifest { 9469 s.Location = v 9470 return s 9471} 9472 9473// SetSpec sets the Spec field's value. 9474func (s *JobManifest) SetSpec(v *JobManifestSpec) *JobManifest { 9475 s.Spec = v 9476 return s 9477} 9478 9479// Contains the information required to locate a manifest object. 9480type JobManifestLocation struct { 9481 _ struct{} `type:"structure"` 9482 9483 // The ETag for the specified manifest object. 9484 // 9485 // ETag is a required field 9486 ETag *string `min:"1" type:"string" required:"true"` 9487 9488 // The Amazon Resource Name (ARN) for a manifest object. 9489 // 9490 // Replacement must be made for object keys containing special characters (such 9491 // as carriage returns) when using XML requests. For more information, see XML 9492 // related object key constraints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints). 9493 // 9494 // ObjectArn is a required field 9495 ObjectArn *string `min:"1" type:"string" required:"true"` 9496 9497 // The optional version ID to identify a specific version of the manifest object. 9498 ObjectVersionId *string `min:"1" type:"string"` 9499} 9500 9501// String returns the string representation 9502func (s JobManifestLocation) String() string { 9503 return awsutil.Prettify(s) 9504} 9505 9506// GoString returns the string representation 9507func (s JobManifestLocation) GoString() string { 9508 return s.String() 9509} 9510 9511// Validate inspects the fields of the type to determine if they are valid. 9512func (s *JobManifestLocation) Validate() error { 9513 invalidParams := request.ErrInvalidParams{Context: "JobManifestLocation"} 9514 if s.ETag == nil { 9515 invalidParams.Add(request.NewErrParamRequired("ETag")) 9516 } 9517 if s.ETag != nil && len(*s.ETag) < 1 { 9518 invalidParams.Add(request.NewErrParamMinLen("ETag", 1)) 9519 } 9520 if s.ObjectArn == nil { 9521 invalidParams.Add(request.NewErrParamRequired("ObjectArn")) 9522 } 9523 if s.ObjectArn != nil && len(*s.ObjectArn) < 1 { 9524 invalidParams.Add(request.NewErrParamMinLen("ObjectArn", 1)) 9525 } 9526 if s.ObjectVersionId != nil && len(*s.ObjectVersionId) < 1 { 9527 invalidParams.Add(request.NewErrParamMinLen("ObjectVersionId", 1)) 9528 } 9529 9530 if invalidParams.Len() > 0 { 9531 return invalidParams 9532 } 9533 return nil 9534} 9535 9536// SetETag sets the ETag field's value. 9537func (s *JobManifestLocation) SetETag(v string) *JobManifestLocation { 9538 s.ETag = &v 9539 return s 9540} 9541 9542// SetObjectArn sets the ObjectArn field's value. 9543func (s *JobManifestLocation) SetObjectArn(v string) *JobManifestLocation { 9544 s.ObjectArn = &v 9545 return s 9546} 9547 9548// SetObjectVersionId sets the ObjectVersionId field's value. 9549func (s *JobManifestLocation) SetObjectVersionId(v string) *JobManifestLocation { 9550 s.ObjectVersionId = &v 9551 return s 9552} 9553 9554// Describes the format of a manifest. If the manifest is in CSV format, also 9555// describes the columns contained within the manifest. 9556type JobManifestSpec struct { 9557 _ struct{} `type:"structure"` 9558 9559 // If the specified manifest object is in the S3BatchOperations_CSV_20180820 9560 // format, this element describes which columns contain the required data. 9561 Fields []*string `type:"list"` 9562 9563 // Indicates which of the available formats the specified manifest uses. 9564 // 9565 // Format is a required field 9566 Format *string `type:"string" required:"true" enum:"JobManifestFormat"` 9567} 9568 9569// String returns the string representation 9570func (s JobManifestSpec) String() string { 9571 return awsutil.Prettify(s) 9572} 9573 9574// GoString returns the string representation 9575func (s JobManifestSpec) GoString() string { 9576 return s.String() 9577} 9578 9579// Validate inspects the fields of the type to determine if they are valid. 9580func (s *JobManifestSpec) Validate() error { 9581 invalidParams := request.ErrInvalidParams{Context: "JobManifestSpec"} 9582 if s.Format == nil { 9583 invalidParams.Add(request.NewErrParamRequired("Format")) 9584 } 9585 9586 if invalidParams.Len() > 0 { 9587 return invalidParams 9588 } 9589 return nil 9590} 9591 9592// SetFields sets the Fields field's value. 9593func (s *JobManifestSpec) SetFields(v []*string) *JobManifestSpec { 9594 s.Fields = v 9595 return s 9596} 9597 9598// SetFormat sets the Format field's value. 9599func (s *JobManifestSpec) SetFormat(v string) *JobManifestSpec { 9600 s.Format = &v 9601 return s 9602} 9603 9604// The operation that you want this job to perform on every object listed in 9605// the manifest. For more information about the available operations, see Operations 9606// (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-operations.html) 9607// in the Amazon Simple Storage Service User Guide. 9608type JobOperation struct { 9609 _ struct{} `type:"structure"` 9610 9611 // Directs the specified job to invoke an AWS Lambda function on every object 9612 // in the manifest. 9613 LambdaInvoke *LambdaInvokeOperation `type:"structure"` 9614 9615 // Directs the specified job to execute a DELETE Object tagging call on every 9616 // object in the manifest. 9617 S3DeleteObjectTagging *S3DeleteObjectTaggingOperation `type:"structure"` 9618 9619 // Directs the specified job to initiate restore requests for every archived 9620 // object in the manifest. 9621 S3InitiateRestoreObject *S3InitiateRestoreObjectOperation `type:"structure"` 9622 9623 // Directs the specified job to run a PUT Object acl call on every object in 9624 // the manifest. 9625 S3PutObjectAcl *S3SetObjectAclOperation `type:"structure"` 9626 9627 // Directs the specified job to run a PUT Copy object call on every object in 9628 // the manifest. 9629 S3PutObjectCopy *S3CopyObjectOperation `type:"structure"` 9630 9631 // Contains the configuration for an S3 Object Lock legal hold operation that 9632 // an S3 Batch Operations job passes every object to the underlying PutObjectLegalHold 9633 // API. For more information, see Using S3 Object Lock legal hold with S3 Batch 9634 // Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-legal-hold.html) 9635 // in the Amazon Simple Storage Service User Guide. 9636 S3PutObjectLegalHold *S3SetObjectLegalHoldOperation `type:"structure"` 9637 9638 // Contains the configuration parameters for the Object Lock retention action 9639 // for an S3 Batch Operations job. Batch Operations passes every object to the 9640 // underlying PutObjectRetention API. For more information, see Using S3 Object 9641 // Lock retention with S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html) 9642 // in the Amazon Simple Storage Service User Guide. 9643 S3PutObjectRetention *S3SetObjectRetentionOperation `type:"structure"` 9644 9645 // Directs the specified job to run a PUT Object tagging call on every object 9646 // in the manifest. 9647 S3PutObjectTagging *S3SetObjectTaggingOperation `type:"structure"` 9648} 9649 9650// String returns the string representation 9651func (s JobOperation) String() string { 9652 return awsutil.Prettify(s) 9653} 9654 9655// GoString returns the string representation 9656func (s JobOperation) GoString() string { 9657 return s.String() 9658} 9659 9660// Validate inspects the fields of the type to determine if they are valid. 9661func (s *JobOperation) Validate() error { 9662 invalidParams := request.ErrInvalidParams{Context: "JobOperation"} 9663 if s.LambdaInvoke != nil { 9664 if err := s.LambdaInvoke.Validate(); err != nil { 9665 invalidParams.AddNested("LambdaInvoke", err.(request.ErrInvalidParams)) 9666 } 9667 } 9668 if s.S3PutObjectAcl != nil { 9669 if err := s.S3PutObjectAcl.Validate(); err != nil { 9670 invalidParams.AddNested("S3PutObjectAcl", err.(request.ErrInvalidParams)) 9671 } 9672 } 9673 if s.S3PutObjectCopy != nil { 9674 if err := s.S3PutObjectCopy.Validate(); err != nil { 9675 invalidParams.AddNested("S3PutObjectCopy", err.(request.ErrInvalidParams)) 9676 } 9677 } 9678 if s.S3PutObjectLegalHold != nil { 9679 if err := s.S3PutObjectLegalHold.Validate(); err != nil { 9680 invalidParams.AddNested("S3PutObjectLegalHold", err.(request.ErrInvalidParams)) 9681 } 9682 } 9683 if s.S3PutObjectRetention != nil { 9684 if err := s.S3PutObjectRetention.Validate(); err != nil { 9685 invalidParams.AddNested("S3PutObjectRetention", err.(request.ErrInvalidParams)) 9686 } 9687 } 9688 if s.S3PutObjectTagging != nil { 9689 if err := s.S3PutObjectTagging.Validate(); err != nil { 9690 invalidParams.AddNested("S3PutObjectTagging", err.(request.ErrInvalidParams)) 9691 } 9692 } 9693 9694 if invalidParams.Len() > 0 { 9695 return invalidParams 9696 } 9697 return nil 9698} 9699 9700// SetLambdaInvoke sets the LambdaInvoke field's value. 9701func (s *JobOperation) SetLambdaInvoke(v *LambdaInvokeOperation) *JobOperation { 9702 s.LambdaInvoke = v 9703 return s 9704} 9705 9706// SetS3DeleteObjectTagging sets the S3DeleteObjectTagging field's value. 9707func (s *JobOperation) SetS3DeleteObjectTagging(v *S3DeleteObjectTaggingOperation) *JobOperation { 9708 s.S3DeleteObjectTagging = v 9709 return s 9710} 9711 9712// SetS3InitiateRestoreObject sets the S3InitiateRestoreObject field's value. 9713func (s *JobOperation) SetS3InitiateRestoreObject(v *S3InitiateRestoreObjectOperation) *JobOperation { 9714 s.S3InitiateRestoreObject = v 9715 return s 9716} 9717 9718// SetS3PutObjectAcl sets the S3PutObjectAcl field's value. 9719func (s *JobOperation) SetS3PutObjectAcl(v *S3SetObjectAclOperation) *JobOperation { 9720 s.S3PutObjectAcl = v 9721 return s 9722} 9723 9724// SetS3PutObjectCopy sets the S3PutObjectCopy field's value. 9725func (s *JobOperation) SetS3PutObjectCopy(v *S3CopyObjectOperation) *JobOperation { 9726 s.S3PutObjectCopy = v 9727 return s 9728} 9729 9730// SetS3PutObjectLegalHold sets the S3PutObjectLegalHold field's value. 9731func (s *JobOperation) SetS3PutObjectLegalHold(v *S3SetObjectLegalHoldOperation) *JobOperation { 9732 s.S3PutObjectLegalHold = v 9733 return s 9734} 9735 9736// SetS3PutObjectRetention sets the S3PutObjectRetention field's value. 9737func (s *JobOperation) SetS3PutObjectRetention(v *S3SetObjectRetentionOperation) *JobOperation { 9738 s.S3PutObjectRetention = v 9739 return s 9740} 9741 9742// SetS3PutObjectTagging sets the S3PutObjectTagging field's value. 9743func (s *JobOperation) SetS3PutObjectTagging(v *S3SetObjectTaggingOperation) *JobOperation { 9744 s.S3PutObjectTagging = v 9745 return s 9746} 9747 9748// Describes the total number of tasks that the specified job has started, the 9749// number of tasks that succeeded, and the number of tasks that failed. 9750type JobProgressSummary struct { 9751 _ struct{} `type:"structure"` 9752 9753 NumberOfTasksFailed *int64 `type:"long"` 9754 9755 NumberOfTasksSucceeded *int64 `type:"long"` 9756 9757 TotalNumberOfTasks *int64 `type:"long"` 9758} 9759 9760// String returns the string representation 9761func (s JobProgressSummary) String() string { 9762 return awsutil.Prettify(s) 9763} 9764 9765// GoString returns the string representation 9766func (s JobProgressSummary) GoString() string { 9767 return s.String() 9768} 9769 9770// SetNumberOfTasksFailed sets the NumberOfTasksFailed field's value. 9771func (s *JobProgressSummary) SetNumberOfTasksFailed(v int64) *JobProgressSummary { 9772 s.NumberOfTasksFailed = &v 9773 return s 9774} 9775 9776// SetNumberOfTasksSucceeded sets the NumberOfTasksSucceeded field's value. 9777func (s *JobProgressSummary) SetNumberOfTasksSucceeded(v int64) *JobProgressSummary { 9778 s.NumberOfTasksSucceeded = &v 9779 return s 9780} 9781 9782// SetTotalNumberOfTasks sets the TotalNumberOfTasks field's value. 9783func (s *JobProgressSummary) SetTotalNumberOfTasks(v int64) *JobProgressSummary { 9784 s.TotalNumberOfTasks = &v 9785 return s 9786} 9787 9788// Contains the configuration parameters for a job-completion report. 9789type JobReport struct { 9790 _ struct{} `type:"structure"` 9791 9792 // The Amazon Resource Name (ARN) for the bucket where specified job-completion 9793 // report will be stored. 9794 Bucket *string `min:"1" type:"string"` 9795 9796 // Indicates whether the specified job will generate a job-completion report. 9797 // 9798 // Enabled is a required field 9799 Enabled *bool `type:"boolean" required:"true"` 9800 9801 // The format of the specified job-completion report. 9802 Format *string `type:"string" enum:"JobReportFormat"` 9803 9804 // An optional prefix to describe where in the specified bucket the job-completion 9805 // report will be stored. Amazon S3 stores the job-completion report at <prefix>/job-<job-id>/report.json. 9806 Prefix *string `min:"1" type:"string"` 9807 9808 // Indicates whether the job-completion report will include details of all tasks 9809 // or only failed tasks. 9810 ReportScope *string `type:"string" enum:"JobReportScope"` 9811} 9812 9813// String returns the string representation 9814func (s JobReport) String() string { 9815 return awsutil.Prettify(s) 9816} 9817 9818// GoString returns the string representation 9819func (s JobReport) GoString() string { 9820 return s.String() 9821} 9822 9823// Validate inspects the fields of the type to determine if they are valid. 9824func (s *JobReport) Validate() error { 9825 invalidParams := request.ErrInvalidParams{Context: "JobReport"} 9826 if s.Bucket != nil && len(*s.Bucket) < 1 { 9827 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 9828 } 9829 if s.Enabled == nil { 9830 invalidParams.Add(request.NewErrParamRequired("Enabled")) 9831 } 9832 if s.Prefix != nil && len(*s.Prefix) < 1 { 9833 invalidParams.Add(request.NewErrParamMinLen("Prefix", 1)) 9834 } 9835 9836 if invalidParams.Len() > 0 { 9837 return invalidParams 9838 } 9839 return nil 9840} 9841 9842// SetBucket sets the Bucket field's value. 9843func (s *JobReport) SetBucket(v string) *JobReport { 9844 s.Bucket = &v 9845 return s 9846} 9847 9848// SetEnabled sets the Enabled field's value. 9849func (s *JobReport) SetEnabled(v bool) *JobReport { 9850 s.Enabled = &v 9851 return s 9852} 9853 9854// SetFormat sets the Format field's value. 9855func (s *JobReport) SetFormat(v string) *JobReport { 9856 s.Format = &v 9857 return s 9858} 9859 9860// SetPrefix sets the Prefix field's value. 9861func (s *JobReport) SetPrefix(v string) *JobReport { 9862 s.Prefix = &v 9863 return s 9864} 9865 9866// SetReportScope sets the ReportScope field's value. 9867func (s *JobReport) SetReportScope(v string) *JobReport { 9868 s.ReportScope = &v 9869 return s 9870} 9871 9872// Contains the configuration parameters for a Lambda Invoke operation. 9873type LambdaInvokeOperation struct { 9874 _ struct{} `type:"structure"` 9875 9876 // The Amazon Resource Name (ARN) for the AWS Lambda function that the specified 9877 // job will invoke on every object in the manifest. 9878 FunctionArn *string `min:"1" type:"string"` 9879} 9880 9881// String returns the string representation 9882func (s LambdaInvokeOperation) String() string { 9883 return awsutil.Prettify(s) 9884} 9885 9886// GoString returns the string representation 9887func (s LambdaInvokeOperation) GoString() string { 9888 return s.String() 9889} 9890 9891// Validate inspects the fields of the type to determine if they are valid. 9892func (s *LambdaInvokeOperation) Validate() error { 9893 invalidParams := request.ErrInvalidParams{Context: "LambdaInvokeOperation"} 9894 if s.FunctionArn != nil && len(*s.FunctionArn) < 1 { 9895 invalidParams.Add(request.NewErrParamMinLen("FunctionArn", 1)) 9896 } 9897 9898 if invalidParams.Len() > 0 { 9899 return invalidParams 9900 } 9901 return nil 9902} 9903 9904// SetFunctionArn sets the FunctionArn field's value. 9905func (s *LambdaInvokeOperation) SetFunctionArn(v string) *LambdaInvokeOperation { 9906 s.FunctionArn = &v 9907 return s 9908} 9909 9910// The container for the Outposts bucket lifecycle configuration. 9911type LifecycleConfiguration struct { 9912 _ struct{} `type:"structure"` 9913 9914 // A lifecycle rule for individual objects in an Outposts bucket. 9915 Rules []*LifecycleRule `locationNameList:"Rule" type:"list"` 9916} 9917 9918// String returns the string representation 9919func (s LifecycleConfiguration) String() string { 9920 return awsutil.Prettify(s) 9921} 9922 9923// GoString returns the string representation 9924func (s LifecycleConfiguration) GoString() string { 9925 return s.String() 9926} 9927 9928// Validate inspects the fields of the type to determine if they are valid. 9929func (s *LifecycleConfiguration) Validate() error { 9930 invalidParams := request.ErrInvalidParams{Context: "LifecycleConfiguration"} 9931 if s.Rules != nil { 9932 for i, v := range s.Rules { 9933 if v == nil { 9934 continue 9935 } 9936 if err := v.Validate(); err != nil { 9937 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams)) 9938 } 9939 } 9940 } 9941 9942 if invalidParams.Len() > 0 { 9943 return invalidParams 9944 } 9945 return nil 9946} 9947 9948// SetRules sets the Rules field's value. 9949func (s *LifecycleConfiguration) SetRules(v []*LifecycleRule) *LifecycleConfiguration { 9950 s.Rules = v 9951 return s 9952} 9953 9954// The container of the Outposts bucket lifecycle expiration. 9955type LifecycleExpiration struct { 9956 _ struct{} `type:"structure"` 9957 9958 // Indicates at what date the object is to be deleted. Should be in GMT ISO 9959 // 8601 format. 9960 Date *time.Time `type:"timestamp"` 9961 9962 // Indicates the lifetime, in days, of the objects that are subject to the rule. 9963 // The value must be a non-zero positive integer. 9964 Days *int64 `type:"integer"` 9965 9966 // Indicates whether Amazon S3 will remove a delete marker with no noncurrent 9967 // versions. If set to true, the delete marker will be expired. If set to false, 9968 // the policy takes no action. This cannot be specified with Days or Date in 9969 // a Lifecycle Expiration Policy. 9970 ExpiredObjectDeleteMarker *bool `type:"boolean"` 9971} 9972 9973// String returns the string representation 9974func (s LifecycleExpiration) String() string { 9975 return awsutil.Prettify(s) 9976} 9977 9978// GoString returns the string representation 9979func (s LifecycleExpiration) GoString() string { 9980 return s.String() 9981} 9982 9983// SetDate sets the Date field's value. 9984func (s *LifecycleExpiration) SetDate(v time.Time) *LifecycleExpiration { 9985 s.Date = &v 9986 return s 9987} 9988 9989// SetDays sets the Days field's value. 9990func (s *LifecycleExpiration) SetDays(v int64) *LifecycleExpiration { 9991 s.Days = &v 9992 return s 9993} 9994 9995// SetExpiredObjectDeleteMarker sets the ExpiredObjectDeleteMarker field's value. 9996func (s *LifecycleExpiration) SetExpiredObjectDeleteMarker(v bool) *LifecycleExpiration { 9997 s.ExpiredObjectDeleteMarker = &v 9998 return s 9999} 10000 10001// The container for the Outposts bucket lifecycle rule. 10002type LifecycleRule struct { 10003 _ struct{} `type:"structure"` 10004 10005 // Specifies the days since the initiation of an incomplete multipart upload 10006 // that Amazon S3 waits before permanently removing all parts of the upload. 10007 // For more information, see Aborting Incomplete Multipart Uploads Using a Bucket 10008 // Lifecycle Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config) 10009 // in the Amazon Simple Storage Service Developer Guide. 10010 AbortIncompleteMultipartUpload *AbortIncompleteMultipartUpload `type:"structure"` 10011 10012 // Specifies the expiration for the lifecycle of the object in the form of date, 10013 // days and, whether the object has a delete marker. 10014 Expiration *LifecycleExpiration `type:"structure"` 10015 10016 // The container for the filter of lifecycle rule. 10017 Filter *LifecycleRuleFilter `type:"structure"` 10018 10019 // Unique identifier for the rule. The value cannot be longer than 255 characters. 10020 ID *string `type:"string"` 10021 10022 // The noncurrent version expiration of the lifecycle rule. 10023 // 10024 // This is not supported by Amazon S3 on Outposts buckets. 10025 NoncurrentVersionExpiration *NoncurrentVersionExpiration `type:"structure"` 10026 10027 // Specifies the transition rule for the lifecycle rule that describes when 10028 // noncurrent objects transition to a specific storage class. If your bucket 10029 // is versioning-enabled (or versioning is suspended), you can set this action 10030 // to request that Amazon S3 transition noncurrent object versions to a specific 10031 // storage class at a set period in the object's lifetime. 10032 // 10033 // This is not supported by Amazon S3 on Outposts buckets. 10034 NoncurrentVersionTransitions []*NoncurrentVersionTransition `locationNameList:"NoncurrentVersionTransition" type:"list"` 10035 10036 // If 'Enabled', the rule is currently being applied. If 'Disabled', the rule 10037 // is not currently being applied. 10038 // 10039 // Status is a required field 10040 Status *string `type:"string" required:"true" enum:"ExpirationStatus"` 10041 10042 // Specifies when an Amazon S3 object transitions to a specified storage class. 10043 // 10044 // This is not supported by Amazon S3 on Outposts buckets. 10045 Transitions []*Transition `locationNameList:"Transition" type:"list"` 10046} 10047 10048// String returns the string representation 10049func (s LifecycleRule) String() string { 10050 return awsutil.Prettify(s) 10051} 10052 10053// GoString returns the string representation 10054func (s LifecycleRule) GoString() string { 10055 return s.String() 10056} 10057 10058// Validate inspects the fields of the type to determine if they are valid. 10059func (s *LifecycleRule) Validate() error { 10060 invalidParams := request.ErrInvalidParams{Context: "LifecycleRule"} 10061 if s.Status == nil { 10062 invalidParams.Add(request.NewErrParamRequired("Status")) 10063 } 10064 if s.Filter != nil { 10065 if err := s.Filter.Validate(); err != nil { 10066 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 10067 } 10068 } 10069 10070 if invalidParams.Len() > 0 { 10071 return invalidParams 10072 } 10073 return nil 10074} 10075 10076// SetAbortIncompleteMultipartUpload sets the AbortIncompleteMultipartUpload field's value. 10077func (s *LifecycleRule) SetAbortIncompleteMultipartUpload(v *AbortIncompleteMultipartUpload) *LifecycleRule { 10078 s.AbortIncompleteMultipartUpload = v 10079 return s 10080} 10081 10082// SetExpiration sets the Expiration field's value. 10083func (s *LifecycleRule) SetExpiration(v *LifecycleExpiration) *LifecycleRule { 10084 s.Expiration = v 10085 return s 10086} 10087 10088// SetFilter sets the Filter field's value. 10089func (s *LifecycleRule) SetFilter(v *LifecycleRuleFilter) *LifecycleRule { 10090 s.Filter = v 10091 return s 10092} 10093 10094// SetID sets the ID field's value. 10095func (s *LifecycleRule) SetID(v string) *LifecycleRule { 10096 s.ID = &v 10097 return s 10098} 10099 10100// SetNoncurrentVersionExpiration sets the NoncurrentVersionExpiration field's value. 10101func (s *LifecycleRule) SetNoncurrentVersionExpiration(v *NoncurrentVersionExpiration) *LifecycleRule { 10102 s.NoncurrentVersionExpiration = v 10103 return s 10104} 10105 10106// SetNoncurrentVersionTransitions sets the NoncurrentVersionTransitions field's value. 10107func (s *LifecycleRule) SetNoncurrentVersionTransitions(v []*NoncurrentVersionTransition) *LifecycleRule { 10108 s.NoncurrentVersionTransitions = v 10109 return s 10110} 10111 10112// SetStatus sets the Status field's value. 10113func (s *LifecycleRule) SetStatus(v string) *LifecycleRule { 10114 s.Status = &v 10115 return s 10116} 10117 10118// SetTransitions sets the Transitions field's value. 10119func (s *LifecycleRule) SetTransitions(v []*Transition) *LifecycleRule { 10120 s.Transitions = v 10121 return s 10122} 10123 10124// The container for the Outposts bucket lifecycle rule and operator. 10125type LifecycleRuleAndOperator struct { 10126 _ struct{} `type:"structure"` 10127 10128 // Prefix identifying one or more objects to which the rule applies. 10129 Prefix *string `type:"string"` 10130 10131 // All of these tags must exist in the object's tag set in order for the rule 10132 // to apply. 10133 Tags []*S3Tag `type:"list"` 10134} 10135 10136// String returns the string representation 10137func (s LifecycleRuleAndOperator) String() string { 10138 return awsutil.Prettify(s) 10139} 10140 10141// GoString returns the string representation 10142func (s LifecycleRuleAndOperator) GoString() string { 10143 return s.String() 10144} 10145 10146// Validate inspects the fields of the type to determine if they are valid. 10147func (s *LifecycleRuleAndOperator) Validate() error { 10148 invalidParams := request.ErrInvalidParams{Context: "LifecycleRuleAndOperator"} 10149 if s.Tags != nil { 10150 for i, v := range s.Tags { 10151 if v == nil { 10152 continue 10153 } 10154 if err := v.Validate(); err != nil { 10155 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 10156 } 10157 } 10158 } 10159 10160 if invalidParams.Len() > 0 { 10161 return invalidParams 10162 } 10163 return nil 10164} 10165 10166// SetPrefix sets the Prefix field's value. 10167func (s *LifecycleRuleAndOperator) SetPrefix(v string) *LifecycleRuleAndOperator { 10168 s.Prefix = &v 10169 return s 10170} 10171 10172// SetTags sets the Tags field's value. 10173func (s *LifecycleRuleAndOperator) SetTags(v []*S3Tag) *LifecycleRuleAndOperator { 10174 s.Tags = v 10175 return s 10176} 10177 10178// The container for the filter of the lifecycle rule. 10179type LifecycleRuleFilter struct { 10180 _ struct{} `type:"structure"` 10181 10182 // The container for the AND condition for the lifecycle rule. 10183 And *LifecycleRuleAndOperator `type:"structure"` 10184 10185 // Prefix identifying one or more objects to which the rule applies. 10186 // 10187 // Replacement must be made for object keys containing special characters (such 10188 // as carriage returns) when using XML requests. For more information, see XML 10189 // related object key constraints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints). 10190 Prefix *string `type:"string"` 10191 10192 Tag *S3Tag `type:"structure"` 10193} 10194 10195// String returns the string representation 10196func (s LifecycleRuleFilter) String() string { 10197 return awsutil.Prettify(s) 10198} 10199 10200// GoString returns the string representation 10201func (s LifecycleRuleFilter) GoString() string { 10202 return s.String() 10203} 10204 10205// Validate inspects the fields of the type to determine if they are valid. 10206func (s *LifecycleRuleFilter) Validate() error { 10207 invalidParams := request.ErrInvalidParams{Context: "LifecycleRuleFilter"} 10208 if s.And != nil { 10209 if err := s.And.Validate(); err != nil { 10210 invalidParams.AddNested("And", err.(request.ErrInvalidParams)) 10211 } 10212 } 10213 if s.Tag != nil { 10214 if err := s.Tag.Validate(); err != nil { 10215 invalidParams.AddNested("Tag", err.(request.ErrInvalidParams)) 10216 } 10217 } 10218 10219 if invalidParams.Len() > 0 { 10220 return invalidParams 10221 } 10222 return nil 10223} 10224 10225// SetAnd sets the And field's value. 10226func (s *LifecycleRuleFilter) SetAnd(v *LifecycleRuleAndOperator) *LifecycleRuleFilter { 10227 s.And = v 10228 return s 10229} 10230 10231// SetPrefix sets the Prefix field's value. 10232func (s *LifecycleRuleFilter) SetPrefix(v string) *LifecycleRuleFilter { 10233 s.Prefix = &v 10234 return s 10235} 10236 10237// SetTag sets the Tag field's value. 10238func (s *LifecycleRuleFilter) SetTag(v *S3Tag) *LifecycleRuleFilter { 10239 s.Tag = v 10240 return s 10241} 10242 10243type ListAccessPointsForObjectLambdaInput struct { 10244 _ struct{} `locationName:"ListAccessPointsForObjectLambdaRequest" type:"structure"` 10245 10246 // The account ID for the account that owns the specified Object Lambda Access 10247 // Point. 10248 // 10249 // AccountId is a required field 10250 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 10251 10252 // The maximum number of access points that you want to include in the list. 10253 // If there are more than this number of access points, then the response will 10254 // include a continuation token in the NextToken field that you can use to retrieve 10255 // the next page of access points. 10256 MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` 10257 10258 // If the list has more access points than can be returned in one call to this 10259 // API, this field contains a continuation token that you can provide in subsequent 10260 // calls to this API to retrieve additional access points. 10261 NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` 10262} 10263 10264// String returns the string representation 10265func (s ListAccessPointsForObjectLambdaInput) String() string { 10266 return awsutil.Prettify(s) 10267} 10268 10269// GoString returns the string representation 10270func (s ListAccessPointsForObjectLambdaInput) GoString() string { 10271 return s.String() 10272} 10273 10274// Validate inspects the fields of the type to determine if they are valid. 10275func (s *ListAccessPointsForObjectLambdaInput) Validate() error { 10276 invalidParams := request.ErrInvalidParams{Context: "ListAccessPointsForObjectLambdaInput"} 10277 if s.AccountId == nil { 10278 invalidParams.Add(request.NewErrParamRequired("AccountId")) 10279 } 10280 if s.AccountId != nil && len(*s.AccountId) < 1 { 10281 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 10282 } 10283 if s.NextToken != nil && len(*s.NextToken) < 1 { 10284 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 10285 } 10286 10287 if invalidParams.Len() > 0 { 10288 return invalidParams 10289 } 10290 return nil 10291} 10292 10293// SetAccountId sets the AccountId field's value. 10294func (s *ListAccessPointsForObjectLambdaInput) SetAccountId(v string) *ListAccessPointsForObjectLambdaInput { 10295 s.AccountId = &v 10296 return s 10297} 10298 10299// SetMaxResults sets the MaxResults field's value. 10300func (s *ListAccessPointsForObjectLambdaInput) SetMaxResults(v int64) *ListAccessPointsForObjectLambdaInput { 10301 s.MaxResults = &v 10302 return s 10303} 10304 10305// SetNextToken sets the NextToken field's value. 10306func (s *ListAccessPointsForObjectLambdaInput) SetNextToken(v string) *ListAccessPointsForObjectLambdaInput { 10307 s.NextToken = &v 10308 return s 10309} 10310 10311func (s *ListAccessPointsForObjectLambdaInput) hostLabels() map[string]string { 10312 return map[string]string{ 10313 "AccountId": aws.StringValue(s.AccountId), 10314 } 10315} 10316 10317type ListAccessPointsForObjectLambdaOutput struct { 10318 _ struct{} `type:"structure"` 10319 10320 // If the list has more access points than can be returned in one call to this 10321 // API, this field contains a continuation token that you can provide in subsequent 10322 // calls to this API to retrieve additional access points. 10323 NextToken *string `min:"1" type:"string"` 10324 10325 // Returns list of Object Lambda Access Points. 10326 ObjectLambdaAccessPointList []*ObjectLambdaAccessPoint `locationNameList:"ObjectLambdaAccessPoint" type:"list"` 10327} 10328 10329// String returns the string representation 10330func (s ListAccessPointsForObjectLambdaOutput) String() string { 10331 return awsutil.Prettify(s) 10332} 10333 10334// GoString returns the string representation 10335func (s ListAccessPointsForObjectLambdaOutput) GoString() string { 10336 return s.String() 10337} 10338 10339// SetNextToken sets the NextToken field's value. 10340func (s *ListAccessPointsForObjectLambdaOutput) SetNextToken(v string) *ListAccessPointsForObjectLambdaOutput { 10341 s.NextToken = &v 10342 return s 10343} 10344 10345// SetObjectLambdaAccessPointList sets the ObjectLambdaAccessPointList field's value. 10346func (s *ListAccessPointsForObjectLambdaOutput) SetObjectLambdaAccessPointList(v []*ObjectLambdaAccessPoint) *ListAccessPointsForObjectLambdaOutput { 10347 s.ObjectLambdaAccessPointList = v 10348 return s 10349} 10350 10351type ListAccessPointsInput struct { 10352 _ struct{} `locationName:"ListAccessPointsRequest" type:"structure"` 10353 10354 // The AWS account ID for owner of the bucket whose access points you want to 10355 // list. 10356 // 10357 // AccountId is a required field 10358 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 10359 10360 // The name of the bucket whose associated access points you want to list. 10361 // 10362 // For using this parameter with Amazon S3 on Outposts with the REST API, you 10363 // must specify the name and the x-amz-outpost-id as well. 10364 // 10365 // For using this parameter with S3 on Outposts with the AWS SDK and CLI, you 10366 // 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>. 10367 // For example, to access the bucket reports through outpost my-outpost owned 10368 // 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. 10369 // The value must be URL encoded. 10370 Bucket *string `location:"querystring" locationName:"bucket" min:"3" type:"string"` 10371 10372 // The maximum number of access points that you want to include in the list. 10373 // If the specified bucket has more than this number of access points, then 10374 // the response will include a continuation token in the NextToken field that 10375 // you can use to retrieve the next page of access points. 10376 MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` 10377 10378 // A continuation token. If a previous call to ListAccessPoints returned a continuation 10379 // token in the NextToken field, then providing that value here causes Amazon 10380 // S3 to retrieve the next page of results. 10381 NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` 10382} 10383 10384// String returns the string representation 10385func (s ListAccessPointsInput) String() string { 10386 return awsutil.Prettify(s) 10387} 10388 10389// GoString returns the string representation 10390func (s ListAccessPointsInput) GoString() string { 10391 return s.String() 10392} 10393 10394// Validate inspects the fields of the type to determine if they are valid. 10395func (s *ListAccessPointsInput) Validate() error { 10396 invalidParams := request.ErrInvalidParams{Context: "ListAccessPointsInput"} 10397 if s.AccountId == nil { 10398 invalidParams.Add(request.NewErrParamRequired("AccountId")) 10399 } 10400 if s.AccountId != nil && len(*s.AccountId) < 1 { 10401 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 10402 } 10403 if s.Bucket != nil && len(*s.Bucket) < 3 { 10404 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 10405 } 10406 if s.NextToken != nil && len(*s.NextToken) < 1 { 10407 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 10408 } 10409 10410 if invalidParams.Len() > 0 { 10411 return invalidParams 10412 } 10413 return nil 10414} 10415 10416// SetAccountId sets the AccountId field's value. 10417func (s *ListAccessPointsInput) SetAccountId(v string) *ListAccessPointsInput { 10418 s.AccountId = &v 10419 return s 10420} 10421 10422// SetBucket sets the Bucket field's value. 10423func (s *ListAccessPointsInput) SetBucket(v string) *ListAccessPointsInput { 10424 s.Bucket = &v 10425 return s 10426} 10427 10428// SetMaxResults sets the MaxResults field's value. 10429func (s *ListAccessPointsInput) SetMaxResults(v int64) *ListAccessPointsInput { 10430 s.MaxResults = &v 10431 return s 10432} 10433 10434// SetNextToken sets the NextToken field's value. 10435func (s *ListAccessPointsInput) SetNextToken(v string) *ListAccessPointsInput { 10436 s.NextToken = &v 10437 return s 10438} 10439 10440func (s *ListAccessPointsInput) hostLabels() map[string]string { 10441 return map[string]string{ 10442 "AccountId": aws.StringValue(s.AccountId), 10443 } 10444} 10445 10446func (s *ListAccessPointsInput) getEndpointARN() (arn.Resource, error) { 10447 if s.Bucket == nil { 10448 return nil, fmt.Errorf("member Bucket is nil") 10449 } 10450 return parseEndpointARN(*s.Bucket) 10451} 10452 10453func (s *ListAccessPointsInput) hasEndpointARN() bool { 10454 if s.Bucket == nil { 10455 return false 10456 } 10457 return arn.IsARN(*s.Bucket) 10458} 10459 10460// updateArnableField updates the value of the input field that 10461// takes an ARN as an input. This method is useful to backfill 10462// the parsed resource name from ARN into the input member. 10463// It returns a pointer to a modified copy of input and an error. 10464// Note that original input is not modified. 10465func (s ListAccessPointsInput) updateArnableField(v string) (interface{}, error) { 10466 if s.Bucket == nil { 10467 return nil, fmt.Errorf("member Bucket is nil") 10468 } 10469 s.Bucket = aws.String(v) 10470 return &s, nil 10471} 10472 10473// updateAccountID returns a pointer to a modified copy of input, 10474// if account id is not provided, we update the account id in modified input 10475// if account id is provided, but doesn't match with the one in ARN, we throw an error 10476// if account id is not updated, we return nil. Note that original input is not modified. 10477func (s ListAccessPointsInput) updateAccountID(accountId string) (interface{}, error) { 10478 if s.AccountId == nil { 10479 s.AccountId = aws.String(accountId) 10480 return &s, nil 10481 } else if *s.AccountId != accountId { 10482 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 10483 } 10484 return nil, nil 10485} 10486 10487type ListAccessPointsOutput struct { 10488 _ struct{} `type:"structure"` 10489 10490 // Contains identification and configuration information for one or more access 10491 // points associated with the specified bucket. 10492 AccessPointList []*AccessPoint `locationNameList:"AccessPoint" type:"list"` 10493 10494 // If the specified bucket has more access points than can be returned in one 10495 // call to this API, this field contains a continuation token that you can provide 10496 // in subsequent calls to this API to retrieve additional access points. 10497 NextToken *string `min:"1" type:"string"` 10498} 10499 10500// String returns the string representation 10501func (s ListAccessPointsOutput) String() string { 10502 return awsutil.Prettify(s) 10503} 10504 10505// GoString returns the string representation 10506func (s ListAccessPointsOutput) GoString() string { 10507 return s.String() 10508} 10509 10510// SetAccessPointList sets the AccessPointList field's value. 10511func (s *ListAccessPointsOutput) SetAccessPointList(v []*AccessPoint) *ListAccessPointsOutput { 10512 s.AccessPointList = v 10513 return s 10514} 10515 10516// SetNextToken sets the NextToken field's value. 10517func (s *ListAccessPointsOutput) SetNextToken(v string) *ListAccessPointsOutput { 10518 s.NextToken = &v 10519 return s 10520} 10521 10522type ListJobsInput struct { 10523 _ struct{} `locationName:"ListJobsRequest" type:"structure"` 10524 10525 // The AWS account ID associated with the S3 Batch Operations job. 10526 // 10527 // AccountId is a required field 10528 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 10529 10530 // The List Jobs request returns jobs that match the statuses listed in this 10531 // element. 10532 JobStatuses []*string `location:"querystring" locationName:"jobStatuses" type:"list"` 10533 10534 // The maximum number of jobs that Amazon S3 will include in the List Jobs response. 10535 // If there are more jobs than this number, the response will include a pagination 10536 // token in the NextToken field to enable you to retrieve the next page of results. 10537 MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` 10538 10539 // A pagination token to request the next page of results. Use the token that 10540 // Amazon S3 returned in the NextToken element of the ListJobsResult from the 10541 // previous List Jobs request. 10542 NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` 10543} 10544 10545// String returns the string representation 10546func (s ListJobsInput) String() string { 10547 return awsutil.Prettify(s) 10548} 10549 10550// GoString returns the string representation 10551func (s ListJobsInput) GoString() string { 10552 return s.String() 10553} 10554 10555// Validate inspects the fields of the type to determine if they are valid. 10556func (s *ListJobsInput) Validate() error { 10557 invalidParams := request.ErrInvalidParams{Context: "ListJobsInput"} 10558 if s.AccountId == nil { 10559 invalidParams.Add(request.NewErrParamRequired("AccountId")) 10560 } 10561 if s.AccountId != nil && len(*s.AccountId) < 1 { 10562 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 10563 } 10564 if s.NextToken != nil && len(*s.NextToken) < 1 { 10565 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 10566 } 10567 10568 if invalidParams.Len() > 0 { 10569 return invalidParams 10570 } 10571 return nil 10572} 10573 10574// SetAccountId sets the AccountId field's value. 10575func (s *ListJobsInput) SetAccountId(v string) *ListJobsInput { 10576 s.AccountId = &v 10577 return s 10578} 10579 10580// SetJobStatuses sets the JobStatuses field's value. 10581func (s *ListJobsInput) SetJobStatuses(v []*string) *ListJobsInput { 10582 s.JobStatuses = v 10583 return s 10584} 10585 10586// SetMaxResults sets the MaxResults field's value. 10587func (s *ListJobsInput) SetMaxResults(v int64) *ListJobsInput { 10588 s.MaxResults = &v 10589 return s 10590} 10591 10592// SetNextToken sets the NextToken field's value. 10593func (s *ListJobsInput) SetNextToken(v string) *ListJobsInput { 10594 s.NextToken = &v 10595 return s 10596} 10597 10598func (s *ListJobsInput) hostLabels() map[string]string { 10599 return map[string]string{ 10600 "AccountId": aws.StringValue(s.AccountId), 10601 } 10602} 10603 10604type ListJobsOutput struct { 10605 _ struct{} `type:"structure"` 10606 10607 // The list of current jobs and jobs that have ended within the last 30 days. 10608 Jobs []*JobListDescriptor `type:"list"` 10609 10610 // If the List Jobs request produced more than the maximum number of results, 10611 // you can pass this value into a subsequent List Jobs request in order to retrieve 10612 // the next page of results. 10613 NextToken *string `min:"1" type:"string"` 10614} 10615 10616// String returns the string representation 10617func (s ListJobsOutput) String() string { 10618 return awsutil.Prettify(s) 10619} 10620 10621// GoString returns the string representation 10622func (s ListJobsOutput) GoString() string { 10623 return s.String() 10624} 10625 10626// SetJobs sets the Jobs field's value. 10627func (s *ListJobsOutput) SetJobs(v []*JobListDescriptor) *ListJobsOutput { 10628 s.Jobs = v 10629 return s 10630} 10631 10632// SetNextToken sets the NextToken field's value. 10633func (s *ListJobsOutput) SetNextToken(v string) *ListJobsOutput { 10634 s.NextToken = &v 10635 return s 10636} 10637 10638type ListRegionalBucketsInput struct { 10639 _ struct{} `locationName:"ListRegionalBucketsRequest" type:"structure"` 10640 10641 // The AWS account ID of the Outposts bucket. 10642 // 10643 // AccountId is a required field 10644 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 10645 10646 MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` 10647 10648 NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` 10649 10650 // The ID of the AWS Outposts. 10651 // 10652 // This is required by Amazon S3 on Outposts buckets. 10653 OutpostId *string `location:"header" locationName:"x-amz-outpost-id" min:"1" type:"string"` 10654} 10655 10656// String returns the string representation 10657func (s ListRegionalBucketsInput) String() string { 10658 return awsutil.Prettify(s) 10659} 10660 10661// GoString returns the string representation 10662func (s ListRegionalBucketsInput) GoString() string { 10663 return s.String() 10664} 10665 10666// Validate inspects the fields of the type to determine if they are valid. 10667func (s *ListRegionalBucketsInput) Validate() error { 10668 invalidParams := request.ErrInvalidParams{Context: "ListRegionalBucketsInput"} 10669 if s.AccountId == nil { 10670 invalidParams.Add(request.NewErrParamRequired("AccountId")) 10671 } 10672 if s.AccountId != nil && len(*s.AccountId) < 1 { 10673 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 10674 } 10675 if s.NextToken != nil && len(*s.NextToken) < 1 { 10676 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 10677 } 10678 if s.OutpostId != nil && len(*s.OutpostId) < 1 { 10679 invalidParams.Add(request.NewErrParamMinLen("OutpostId", 1)) 10680 } 10681 10682 if invalidParams.Len() > 0 { 10683 return invalidParams 10684 } 10685 return nil 10686} 10687 10688// SetAccountId sets the AccountId field's value. 10689func (s *ListRegionalBucketsInput) SetAccountId(v string) *ListRegionalBucketsInput { 10690 s.AccountId = &v 10691 return s 10692} 10693 10694// SetMaxResults sets the MaxResults field's value. 10695func (s *ListRegionalBucketsInput) SetMaxResults(v int64) *ListRegionalBucketsInput { 10696 s.MaxResults = &v 10697 return s 10698} 10699 10700// SetNextToken sets the NextToken field's value. 10701func (s *ListRegionalBucketsInput) SetNextToken(v string) *ListRegionalBucketsInput { 10702 s.NextToken = &v 10703 return s 10704} 10705 10706// SetOutpostId sets the OutpostId field's value. 10707func (s *ListRegionalBucketsInput) SetOutpostId(v string) *ListRegionalBucketsInput { 10708 s.OutpostId = &v 10709 return s 10710} 10711 10712func (s *ListRegionalBucketsInput) hostLabels() map[string]string { 10713 return map[string]string{ 10714 "AccountId": aws.StringValue(s.AccountId), 10715 } 10716} 10717 10718func (s *ListRegionalBucketsInput) getOutpostID() (string, error) { 10719 if s.OutpostId == nil { 10720 return "", fmt.Errorf("member OutpostId is nil") 10721 } 10722 return *s.OutpostId, nil 10723} 10724 10725func (s *ListRegionalBucketsInput) hasOutpostID() bool { 10726 if s.OutpostId == nil { 10727 return false 10728 } 10729 return true 10730} 10731 10732type ListRegionalBucketsOutput struct { 10733 _ struct{} `type:"structure"` 10734 10735 // NextToken is sent when isTruncated is true, which means there are more buckets 10736 // that can be listed. The next list requests to Amazon S3 can be continued 10737 // with this NextToken. NextToken is obfuscated and is not a real key. 10738 NextToken *string `min:"1" type:"string"` 10739 10740 RegionalBucketList []*RegionalBucket `locationNameList:"RegionalBucket" type:"list"` 10741} 10742 10743// String returns the string representation 10744func (s ListRegionalBucketsOutput) String() string { 10745 return awsutil.Prettify(s) 10746} 10747 10748// GoString returns the string representation 10749func (s ListRegionalBucketsOutput) GoString() string { 10750 return s.String() 10751} 10752 10753// SetNextToken sets the NextToken field's value. 10754func (s *ListRegionalBucketsOutput) SetNextToken(v string) *ListRegionalBucketsOutput { 10755 s.NextToken = &v 10756 return s 10757} 10758 10759// SetRegionalBucketList sets the RegionalBucketList field's value. 10760func (s *ListRegionalBucketsOutput) SetRegionalBucketList(v []*RegionalBucket) *ListRegionalBucketsOutput { 10761 s.RegionalBucketList = v 10762 return s 10763} 10764 10765// Part of ListStorageLensConfigurationResult. Each entry includes the description 10766// of the S3 Storage Lens configuration, its home Region, whether it is enabled, 10767// its Amazon Resource Name (ARN), and config ID. 10768type ListStorageLensConfigurationEntry struct { 10769 _ struct{} `type:"structure"` 10770 10771 // A container for the S3 Storage Lens home Region. Your metrics data is stored 10772 // and retained in your designated S3 Storage Lens home Region. 10773 // 10774 // HomeRegion is a required field 10775 HomeRegion *string `min:"5" type:"string" required:"true"` 10776 10777 // A container for the S3 Storage Lens configuration ID. 10778 // 10779 // Id is a required field 10780 Id *string `min:"1" type:"string" required:"true"` 10781 10782 // A container for whether the S3 Storage Lens configuration is enabled. This 10783 // property is required. 10784 IsEnabled *bool `type:"boolean"` 10785 10786 // The ARN of the S3 Storage Lens configuration. This property is read-only. 10787 // 10788 // StorageLensArn is a required field 10789 StorageLensArn *string `min:"1" type:"string" required:"true"` 10790} 10791 10792// String returns the string representation 10793func (s ListStorageLensConfigurationEntry) String() string { 10794 return awsutil.Prettify(s) 10795} 10796 10797// GoString returns the string representation 10798func (s ListStorageLensConfigurationEntry) GoString() string { 10799 return s.String() 10800} 10801 10802// SetHomeRegion sets the HomeRegion field's value. 10803func (s *ListStorageLensConfigurationEntry) SetHomeRegion(v string) *ListStorageLensConfigurationEntry { 10804 s.HomeRegion = &v 10805 return s 10806} 10807 10808// SetId sets the Id field's value. 10809func (s *ListStorageLensConfigurationEntry) SetId(v string) *ListStorageLensConfigurationEntry { 10810 s.Id = &v 10811 return s 10812} 10813 10814// SetIsEnabled sets the IsEnabled field's value. 10815func (s *ListStorageLensConfigurationEntry) SetIsEnabled(v bool) *ListStorageLensConfigurationEntry { 10816 s.IsEnabled = &v 10817 return s 10818} 10819 10820// SetStorageLensArn sets the StorageLensArn field's value. 10821func (s *ListStorageLensConfigurationEntry) SetStorageLensArn(v string) *ListStorageLensConfigurationEntry { 10822 s.StorageLensArn = &v 10823 return s 10824} 10825 10826type ListStorageLensConfigurationsInput struct { 10827 _ struct{} `locationName:"ListStorageLensConfigurationsRequest" type:"structure"` 10828 10829 // The account ID of the requester. 10830 // 10831 // AccountId is a required field 10832 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 10833 10834 // A pagination token to request the next page of results. 10835 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 10836} 10837 10838// String returns the string representation 10839func (s ListStorageLensConfigurationsInput) String() string { 10840 return awsutil.Prettify(s) 10841} 10842 10843// GoString returns the string representation 10844func (s ListStorageLensConfigurationsInput) GoString() string { 10845 return s.String() 10846} 10847 10848// Validate inspects the fields of the type to determine if they are valid. 10849func (s *ListStorageLensConfigurationsInput) Validate() error { 10850 invalidParams := request.ErrInvalidParams{Context: "ListStorageLensConfigurationsInput"} 10851 if s.AccountId == nil { 10852 invalidParams.Add(request.NewErrParamRequired("AccountId")) 10853 } 10854 if s.AccountId != nil && len(*s.AccountId) < 1 { 10855 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 10856 } 10857 10858 if invalidParams.Len() > 0 { 10859 return invalidParams 10860 } 10861 return nil 10862} 10863 10864// SetAccountId sets the AccountId field's value. 10865func (s *ListStorageLensConfigurationsInput) SetAccountId(v string) *ListStorageLensConfigurationsInput { 10866 s.AccountId = &v 10867 return s 10868} 10869 10870// SetNextToken sets the NextToken field's value. 10871func (s *ListStorageLensConfigurationsInput) SetNextToken(v string) *ListStorageLensConfigurationsInput { 10872 s.NextToken = &v 10873 return s 10874} 10875 10876func (s *ListStorageLensConfigurationsInput) hostLabels() map[string]string { 10877 return map[string]string{ 10878 "AccountId": aws.StringValue(s.AccountId), 10879 } 10880} 10881 10882type ListStorageLensConfigurationsOutput struct { 10883 _ struct{} `type:"structure"` 10884 10885 // If the request produced more than the maximum number of S3 Storage Lens configuration 10886 // results, you can pass this value into a subsequent request to retrieve the 10887 // next page of results. 10888 NextToken *string `type:"string"` 10889 10890 // A list of S3 Storage Lens configurations. 10891 StorageLensConfigurationList []*ListStorageLensConfigurationEntry `locationNameList:"StorageLensConfiguration" type:"list" flattened:"true"` 10892} 10893 10894// String returns the string representation 10895func (s ListStorageLensConfigurationsOutput) String() string { 10896 return awsutil.Prettify(s) 10897} 10898 10899// GoString returns the string representation 10900func (s ListStorageLensConfigurationsOutput) GoString() string { 10901 return s.String() 10902} 10903 10904// SetNextToken sets the NextToken field's value. 10905func (s *ListStorageLensConfigurationsOutput) SetNextToken(v string) *ListStorageLensConfigurationsOutput { 10906 s.NextToken = &v 10907 return s 10908} 10909 10910// SetStorageLensConfigurationList sets the StorageLensConfigurationList field's value. 10911func (s *ListStorageLensConfigurationsOutput) SetStorageLensConfigurationList(v []*ListStorageLensConfigurationEntry) *ListStorageLensConfigurationsOutput { 10912 s.StorageLensConfigurationList = v 10913 return s 10914} 10915 10916// The container of the noncurrent version expiration. 10917type NoncurrentVersionExpiration struct { 10918 _ struct{} `type:"structure"` 10919 10920 // Specifies the number of days an object is noncurrent before Amazon S3 can 10921 // perform the associated action. For information about the noncurrent days 10922 // calculations, see How Amazon S3 Calculates When an Object Became Noncurrent 10923 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) 10924 // in the Amazon Simple Storage Service Developer Guide. 10925 NoncurrentDays *int64 `type:"integer"` 10926} 10927 10928// String returns the string representation 10929func (s NoncurrentVersionExpiration) String() string { 10930 return awsutil.Prettify(s) 10931} 10932 10933// GoString returns the string representation 10934func (s NoncurrentVersionExpiration) GoString() string { 10935 return s.String() 10936} 10937 10938// SetNoncurrentDays sets the NoncurrentDays field's value. 10939func (s *NoncurrentVersionExpiration) SetNoncurrentDays(v int64) *NoncurrentVersionExpiration { 10940 s.NoncurrentDays = &v 10941 return s 10942} 10943 10944// The container for the noncurrent version transition. 10945type NoncurrentVersionTransition struct { 10946 _ struct{} `type:"structure"` 10947 10948 // Specifies the number of days an object is noncurrent before Amazon S3 can 10949 // perform the associated action. For information about the noncurrent days 10950 // calculations, see How Amazon S3 Calculates How Long an Object Has Been Noncurrent 10951 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) 10952 // in the Amazon Simple Storage Service Developer Guide. 10953 NoncurrentDays *int64 `type:"integer"` 10954 10955 // The class of storage used to store the object. 10956 StorageClass *string `type:"string" enum:"TransitionStorageClass"` 10957} 10958 10959// String returns the string representation 10960func (s NoncurrentVersionTransition) String() string { 10961 return awsutil.Prettify(s) 10962} 10963 10964// GoString returns the string representation 10965func (s NoncurrentVersionTransition) GoString() string { 10966 return s.String() 10967} 10968 10969// SetNoncurrentDays sets the NoncurrentDays field's value. 10970func (s *NoncurrentVersionTransition) SetNoncurrentDays(v int64) *NoncurrentVersionTransition { 10971 s.NoncurrentDays = &v 10972 return s 10973} 10974 10975// SetStorageClass sets the StorageClass field's value. 10976func (s *NoncurrentVersionTransition) SetStorageClass(v string) *NoncurrentVersionTransition { 10977 s.StorageClass = &v 10978 return s 10979} 10980 10981// An access point with an attached AWS Lambda function used to access transformed 10982// data from an Amazon S3 bucket. 10983type ObjectLambdaAccessPoint struct { 10984 _ struct{} `type:"structure"` 10985 10986 // The name of the Object Lambda Access Point. 10987 // 10988 // Name is a required field 10989 Name *string `min:"3" type:"string" required:"true"` 10990 10991 // Specifies the ARN for the Object Lambda Access Point. 10992 ObjectLambdaAccessPointArn *string `min:"1" type:"string"` 10993} 10994 10995// String returns the string representation 10996func (s ObjectLambdaAccessPoint) String() string { 10997 return awsutil.Prettify(s) 10998} 10999 11000// GoString returns the string representation 11001func (s ObjectLambdaAccessPoint) GoString() string { 11002 return s.String() 11003} 11004 11005// SetName sets the Name field's value. 11006func (s *ObjectLambdaAccessPoint) SetName(v string) *ObjectLambdaAccessPoint { 11007 s.Name = &v 11008 return s 11009} 11010 11011// SetObjectLambdaAccessPointArn sets the ObjectLambdaAccessPointArn field's value. 11012func (s *ObjectLambdaAccessPoint) SetObjectLambdaAccessPointArn(v string) *ObjectLambdaAccessPoint { 11013 s.ObjectLambdaAccessPointArn = &v 11014 return s 11015} 11016 11017// A configuration used when creating an Object Lambda Access Point. 11018type ObjectLambdaConfiguration struct { 11019 _ struct{} `type:"structure"` 11020 11021 // A container for allowed features. Valid inputs are GetObject-Range and GetObject-PartNumber. 11022 AllowedFeatures []*string `locationNameList:"AllowedFeature" type:"list"` 11023 11024 // A container for whether the CloudWatch metrics configuration is enabled. 11025 CloudWatchMetricsEnabled *bool `type:"boolean"` 11026 11027 // Standard access point associated with the Object Lambda Access Point. 11028 // 11029 // SupportingAccessPoint is a required field 11030 SupportingAccessPoint *string `min:"1" type:"string" required:"true"` 11031 11032 // A container for transformation configurations for an Object Lambda Access 11033 // Point. 11034 // 11035 // TransformationConfigurations is a required field 11036 TransformationConfigurations []*ObjectLambdaTransformationConfiguration `locationNameList:"TransformationConfiguration" type:"list" required:"true"` 11037} 11038 11039// String returns the string representation 11040func (s ObjectLambdaConfiguration) String() string { 11041 return awsutil.Prettify(s) 11042} 11043 11044// GoString returns the string representation 11045func (s ObjectLambdaConfiguration) GoString() string { 11046 return s.String() 11047} 11048 11049// Validate inspects the fields of the type to determine if they are valid. 11050func (s *ObjectLambdaConfiguration) Validate() error { 11051 invalidParams := request.ErrInvalidParams{Context: "ObjectLambdaConfiguration"} 11052 if s.SupportingAccessPoint == nil { 11053 invalidParams.Add(request.NewErrParamRequired("SupportingAccessPoint")) 11054 } 11055 if s.SupportingAccessPoint != nil && len(*s.SupportingAccessPoint) < 1 { 11056 invalidParams.Add(request.NewErrParamMinLen("SupportingAccessPoint", 1)) 11057 } 11058 if s.TransformationConfigurations == nil { 11059 invalidParams.Add(request.NewErrParamRequired("TransformationConfigurations")) 11060 } 11061 if s.TransformationConfigurations != nil { 11062 for i, v := range s.TransformationConfigurations { 11063 if v == nil { 11064 continue 11065 } 11066 if err := v.Validate(); err != nil { 11067 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TransformationConfigurations", i), err.(request.ErrInvalidParams)) 11068 } 11069 } 11070 } 11071 11072 if invalidParams.Len() > 0 { 11073 return invalidParams 11074 } 11075 return nil 11076} 11077 11078// SetAllowedFeatures sets the AllowedFeatures field's value. 11079func (s *ObjectLambdaConfiguration) SetAllowedFeatures(v []*string) *ObjectLambdaConfiguration { 11080 s.AllowedFeatures = v 11081 return s 11082} 11083 11084// SetCloudWatchMetricsEnabled sets the CloudWatchMetricsEnabled field's value. 11085func (s *ObjectLambdaConfiguration) SetCloudWatchMetricsEnabled(v bool) *ObjectLambdaConfiguration { 11086 s.CloudWatchMetricsEnabled = &v 11087 return s 11088} 11089 11090// SetSupportingAccessPoint sets the SupportingAccessPoint field's value. 11091func (s *ObjectLambdaConfiguration) SetSupportingAccessPoint(v string) *ObjectLambdaConfiguration { 11092 s.SupportingAccessPoint = &v 11093 return s 11094} 11095 11096// SetTransformationConfigurations sets the TransformationConfigurations field's value. 11097func (s *ObjectLambdaConfiguration) SetTransformationConfigurations(v []*ObjectLambdaTransformationConfiguration) *ObjectLambdaConfiguration { 11098 s.TransformationConfigurations = v 11099 return s 11100} 11101 11102// A container for AwsLambdaTransformation. 11103type ObjectLambdaContentTransformation struct { 11104 _ struct{} `type:"structure"` 11105 11106 // A container for an AWS Lambda function. 11107 AwsLambda *AwsLambdaTransformation `type:"structure"` 11108} 11109 11110// String returns the string representation 11111func (s ObjectLambdaContentTransformation) String() string { 11112 return awsutil.Prettify(s) 11113} 11114 11115// GoString returns the string representation 11116func (s ObjectLambdaContentTransformation) GoString() string { 11117 return s.String() 11118} 11119 11120// Validate inspects the fields of the type to determine if they are valid. 11121func (s *ObjectLambdaContentTransformation) Validate() error { 11122 invalidParams := request.ErrInvalidParams{Context: "ObjectLambdaContentTransformation"} 11123 if s.AwsLambda != nil { 11124 if err := s.AwsLambda.Validate(); err != nil { 11125 invalidParams.AddNested("AwsLambda", err.(request.ErrInvalidParams)) 11126 } 11127 } 11128 11129 if invalidParams.Len() > 0 { 11130 return invalidParams 11131 } 11132 return nil 11133} 11134 11135// SetAwsLambda sets the AwsLambda field's value. 11136func (s *ObjectLambdaContentTransformation) SetAwsLambda(v *AwsLambdaTransformation) *ObjectLambdaContentTransformation { 11137 s.AwsLambda = v 11138 return s 11139} 11140 11141// A configuration used when creating an Object Lambda Access Point transformation. 11142type ObjectLambdaTransformationConfiguration struct { 11143 _ struct{} `type:"structure"` 11144 11145 // A container for the action of an Object Lambda Access Point configuration. 11146 // Valid input is GetObject. 11147 // 11148 // Actions is a required field 11149 Actions []*string `locationNameList:"Action" type:"list" required:"true"` 11150 11151 // A container for the content transformation of an Object Lambda Access Point 11152 // configuration. 11153 // 11154 // ContentTransformation is a required field 11155 ContentTransformation *ObjectLambdaContentTransformation `type:"structure" required:"true"` 11156} 11157 11158// String returns the string representation 11159func (s ObjectLambdaTransformationConfiguration) String() string { 11160 return awsutil.Prettify(s) 11161} 11162 11163// GoString returns the string representation 11164func (s ObjectLambdaTransformationConfiguration) GoString() string { 11165 return s.String() 11166} 11167 11168// Validate inspects the fields of the type to determine if they are valid. 11169func (s *ObjectLambdaTransformationConfiguration) Validate() error { 11170 invalidParams := request.ErrInvalidParams{Context: "ObjectLambdaTransformationConfiguration"} 11171 if s.Actions == nil { 11172 invalidParams.Add(request.NewErrParamRequired("Actions")) 11173 } 11174 if s.ContentTransformation == nil { 11175 invalidParams.Add(request.NewErrParamRequired("ContentTransformation")) 11176 } 11177 if s.ContentTransformation != nil { 11178 if err := s.ContentTransformation.Validate(); err != nil { 11179 invalidParams.AddNested("ContentTransformation", err.(request.ErrInvalidParams)) 11180 } 11181 } 11182 11183 if invalidParams.Len() > 0 { 11184 return invalidParams 11185 } 11186 return nil 11187} 11188 11189// SetActions sets the Actions field's value. 11190func (s *ObjectLambdaTransformationConfiguration) SetActions(v []*string) *ObjectLambdaTransformationConfiguration { 11191 s.Actions = v 11192 return s 11193} 11194 11195// SetContentTransformation sets the ContentTransformation field's value. 11196func (s *ObjectLambdaTransformationConfiguration) SetContentTransformation(v *ObjectLambdaContentTransformation) *ObjectLambdaTransformationConfiguration { 11197 s.ContentTransformation = v 11198 return s 11199} 11200 11201// Indicates whether this access point policy is public. For more information 11202// about how Amazon S3 evaluates policies to determine whether they are public, 11203// 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) 11204// in the Amazon Simple Storage Service User Guide. 11205type PolicyStatus struct { 11206 _ struct{} `type:"structure"` 11207 11208 IsPublic *bool `locationName:"IsPublic" type:"boolean"` 11209} 11210 11211// String returns the string representation 11212func (s PolicyStatus) String() string { 11213 return awsutil.Prettify(s) 11214} 11215 11216// GoString returns the string representation 11217func (s PolicyStatus) GoString() string { 11218 return s.String() 11219} 11220 11221// SetIsPublic sets the IsPublic field's value. 11222func (s *PolicyStatus) SetIsPublic(v bool) *PolicyStatus { 11223 s.IsPublic = &v 11224 return s 11225} 11226 11227// A container for the prefix-level configuration. 11228type PrefixLevel struct { 11229 _ struct{} `type:"structure"` 11230 11231 // A container for the prefix-level storage metrics for S3 Storage Lens. 11232 // 11233 // StorageMetrics is a required field 11234 StorageMetrics *PrefixLevelStorageMetrics `type:"structure" required:"true"` 11235} 11236 11237// String returns the string representation 11238func (s PrefixLevel) String() string { 11239 return awsutil.Prettify(s) 11240} 11241 11242// GoString returns the string representation 11243func (s PrefixLevel) GoString() string { 11244 return s.String() 11245} 11246 11247// Validate inspects the fields of the type to determine if they are valid. 11248func (s *PrefixLevel) Validate() error { 11249 invalidParams := request.ErrInvalidParams{Context: "PrefixLevel"} 11250 if s.StorageMetrics == nil { 11251 invalidParams.Add(request.NewErrParamRequired("StorageMetrics")) 11252 } 11253 if s.StorageMetrics != nil { 11254 if err := s.StorageMetrics.Validate(); err != nil { 11255 invalidParams.AddNested("StorageMetrics", err.(request.ErrInvalidParams)) 11256 } 11257 } 11258 11259 if invalidParams.Len() > 0 { 11260 return invalidParams 11261 } 11262 return nil 11263} 11264 11265// SetStorageMetrics sets the StorageMetrics field's value. 11266func (s *PrefixLevel) SetStorageMetrics(v *PrefixLevelStorageMetrics) *PrefixLevel { 11267 s.StorageMetrics = v 11268 return s 11269} 11270 11271// A container for the prefix-level storage metrics for S3 Storage Lens. 11272type PrefixLevelStorageMetrics struct { 11273 _ struct{} `type:"structure"` 11274 11275 // A container for whether prefix-level storage metrics are enabled. 11276 IsEnabled *bool `type:"boolean"` 11277 11278 SelectionCriteria *SelectionCriteria `type:"structure"` 11279} 11280 11281// String returns the string representation 11282func (s PrefixLevelStorageMetrics) String() string { 11283 return awsutil.Prettify(s) 11284} 11285 11286// GoString returns the string representation 11287func (s PrefixLevelStorageMetrics) GoString() string { 11288 return s.String() 11289} 11290 11291// Validate inspects the fields of the type to determine if they are valid. 11292func (s *PrefixLevelStorageMetrics) Validate() error { 11293 invalidParams := request.ErrInvalidParams{Context: "PrefixLevelStorageMetrics"} 11294 if s.SelectionCriteria != nil { 11295 if err := s.SelectionCriteria.Validate(); err != nil { 11296 invalidParams.AddNested("SelectionCriteria", err.(request.ErrInvalidParams)) 11297 } 11298 } 11299 11300 if invalidParams.Len() > 0 { 11301 return invalidParams 11302 } 11303 return nil 11304} 11305 11306// SetIsEnabled sets the IsEnabled field's value. 11307func (s *PrefixLevelStorageMetrics) SetIsEnabled(v bool) *PrefixLevelStorageMetrics { 11308 s.IsEnabled = &v 11309 return s 11310} 11311 11312// SetSelectionCriteria sets the SelectionCriteria field's value. 11313func (s *PrefixLevelStorageMetrics) SetSelectionCriteria(v *SelectionCriteria) *PrefixLevelStorageMetrics { 11314 s.SelectionCriteria = v 11315 return s 11316} 11317 11318// The PublicAccessBlock configuration that you want to apply to this Amazon 11319// S3 account. You can enable the configuration options in any combination. 11320// For more information about when Amazon S3 considers a bucket or object public, 11321// 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) 11322// in the Amazon Simple Storage Service Developer Guide. 11323// 11324// This is not supported for Amazon S3 on Outposts. 11325type PublicAccessBlockConfiguration struct { 11326 _ struct{} `type:"structure"` 11327 11328 // Specifies whether Amazon S3 should block public access control lists (ACLs) 11329 // for buckets in this account. Setting this element to TRUE causes the following 11330 // behavior: 11331 // 11332 // * PUT Bucket acl and PUT Object acl calls fail if the specified ACL is 11333 // public. 11334 // 11335 // * PUT Object calls fail if the request includes a public ACL. 11336 // 11337 // * PUT Bucket calls fail if the request includes a public ACL. 11338 // 11339 // Enabling this setting doesn't affect existing policies or ACLs. 11340 // 11341 // This is not supported for Amazon S3 on Outposts. 11342 BlockPublicAcls *bool `locationName:"BlockPublicAcls" type:"boolean"` 11343 11344 // Specifies whether Amazon S3 should block public bucket policies for buckets 11345 // in this account. Setting this element to TRUE causes Amazon S3 to reject 11346 // calls to PUT Bucket policy if the specified bucket policy allows public access. 11347 // 11348 // Enabling this setting doesn't affect existing bucket policies. 11349 // 11350 // This is not supported for Amazon S3 on Outposts. 11351 BlockPublicPolicy *bool `locationName:"BlockPublicPolicy" type:"boolean"` 11352 11353 // Specifies whether Amazon S3 should ignore public ACLs for buckets in this 11354 // account. Setting this element to TRUE causes Amazon S3 to ignore all public 11355 // ACLs on buckets in this account and any objects that they contain. 11356 // 11357 // Enabling this setting doesn't affect the persistence of any existing ACLs 11358 // and doesn't prevent new public ACLs from being set. 11359 // 11360 // This is not supported for Amazon S3 on Outposts. 11361 IgnorePublicAcls *bool `locationName:"IgnorePublicAcls" type:"boolean"` 11362 11363 // Specifies whether Amazon S3 should restrict public bucket policies for buckets 11364 // in this account. Setting this element to TRUE restricts access to buckets 11365 // with public policies to only AWS service principals and authorized users 11366 // within this account. 11367 // 11368 // Enabling this setting doesn't affect previously stored bucket policies, except 11369 // that public and cross-account access within any public bucket policy, including 11370 // non-public delegation to specific accounts, is blocked. 11371 // 11372 // This is not supported for Amazon S3 on Outposts. 11373 RestrictPublicBuckets *bool `locationName:"RestrictPublicBuckets" type:"boolean"` 11374} 11375 11376// String returns the string representation 11377func (s PublicAccessBlockConfiguration) String() string { 11378 return awsutil.Prettify(s) 11379} 11380 11381// GoString returns the string representation 11382func (s PublicAccessBlockConfiguration) GoString() string { 11383 return s.String() 11384} 11385 11386// SetBlockPublicAcls sets the BlockPublicAcls field's value. 11387func (s *PublicAccessBlockConfiguration) SetBlockPublicAcls(v bool) *PublicAccessBlockConfiguration { 11388 s.BlockPublicAcls = &v 11389 return s 11390} 11391 11392// SetBlockPublicPolicy sets the BlockPublicPolicy field's value. 11393func (s *PublicAccessBlockConfiguration) SetBlockPublicPolicy(v bool) *PublicAccessBlockConfiguration { 11394 s.BlockPublicPolicy = &v 11395 return s 11396} 11397 11398// SetIgnorePublicAcls sets the IgnorePublicAcls field's value. 11399func (s *PublicAccessBlockConfiguration) SetIgnorePublicAcls(v bool) *PublicAccessBlockConfiguration { 11400 s.IgnorePublicAcls = &v 11401 return s 11402} 11403 11404// SetRestrictPublicBuckets sets the RestrictPublicBuckets field's value. 11405func (s *PublicAccessBlockConfiguration) SetRestrictPublicBuckets(v bool) *PublicAccessBlockConfiguration { 11406 s.RestrictPublicBuckets = &v 11407 return s 11408} 11409 11410type PutAccessPointConfigurationForObjectLambdaInput struct { 11411 _ struct{} `locationName:"PutAccessPointConfigurationForObjectLambdaRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 11412 11413 // The account ID for the account that owns the specified Object Lambda Access 11414 // Point. 11415 // 11416 // AccountId is a required field 11417 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 11418 11419 // Object Lambda Access Point configuration document. 11420 // 11421 // Configuration is a required field 11422 Configuration *ObjectLambdaConfiguration `type:"structure" required:"true"` 11423 11424 // The name of the Object Lambda Access Point. 11425 // 11426 // Name is a required field 11427 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 11428} 11429 11430// String returns the string representation 11431func (s PutAccessPointConfigurationForObjectLambdaInput) String() string { 11432 return awsutil.Prettify(s) 11433} 11434 11435// GoString returns the string representation 11436func (s PutAccessPointConfigurationForObjectLambdaInput) GoString() string { 11437 return s.String() 11438} 11439 11440// Validate inspects the fields of the type to determine if they are valid. 11441func (s *PutAccessPointConfigurationForObjectLambdaInput) Validate() error { 11442 invalidParams := request.ErrInvalidParams{Context: "PutAccessPointConfigurationForObjectLambdaInput"} 11443 if s.AccountId == nil { 11444 invalidParams.Add(request.NewErrParamRequired("AccountId")) 11445 } 11446 if s.AccountId != nil && len(*s.AccountId) < 1 { 11447 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 11448 } 11449 if s.Configuration == nil { 11450 invalidParams.Add(request.NewErrParamRequired("Configuration")) 11451 } 11452 if s.Name == nil { 11453 invalidParams.Add(request.NewErrParamRequired("Name")) 11454 } 11455 if s.Name != nil && len(*s.Name) < 3 { 11456 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 11457 } 11458 if s.Configuration != nil { 11459 if err := s.Configuration.Validate(); err != nil { 11460 invalidParams.AddNested("Configuration", err.(request.ErrInvalidParams)) 11461 } 11462 } 11463 11464 if invalidParams.Len() > 0 { 11465 return invalidParams 11466 } 11467 return nil 11468} 11469 11470// SetAccountId sets the AccountId field's value. 11471func (s *PutAccessPointConfigurationForObjectLambdaInput) SetAccountId(v string) *PutAccessPointConfigurationForObjectLambdaInput { 11472 s.AccountId = &v 11473 return s 11474} 11475 11476// SetConfiguration sets the Configuration field's value. 11477func (s *PutAccessPointConfigurationForObjectLambdaInput) SetConfiguration(v *ObjectLambdaConfiguration) *PutAccessPointConfigurationForObjectLambdaInput { 11478 s.Configuration = v 11479 return s 11480} 11481 11482// SetName sets the Name field's value. 11483func (s *PutAccessPointConfigurationForObjectLambdaInput) SetName(v string) *PutAccessPointConfigurationForObjectLambdaInput { 11484 s.Name = &v 11485 return s 11486} 11487 11488func (s *PutAccessPointConfigurationForObjectLambdaInput) hostLabels() map[string]string { 11489 return map[string]string{ 11490 "AccountId": aws.StringValue(s.AccountId), 11491 } 11492} 11493 11494type PutAccessPointConfigurationForObjectLambdaOutput struct { 11495 _ struct{} `type:"structure"` 11496} 11497 11498// String returns the string representation 11499func (s PutAccessPointConfigurationForObjectLambdaOutput) String() string { 11500 return awsutil.Prettify(s) 11501} 11502 11503// GoString returns the string representation 11504func (s PutAccessPointConfigurationForObjectLambdaOutput) GoString() string { 11505 return s.String() 11506} 11507 11508type PutAccessPointPolicyForObjectLambdaInput struct { 11509 _ struct{} `locationName:"PutAccessPointPolicyForObjectLambdaRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 11510 11511 // The account ID for the account that owns the specified Object Lambda Access 11512 // Point. 11513 // 11514 // AccountId is a required field 11515 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 11516 11517 // The name of the Object Lambda Access Point. 11518 // 11519 // Name is a required field 11520 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 11521 11522 // Object Lambda Access Point resource policy document. 11523 // 11524 // Policy is a required field 11525 Policy *string `type:"string" required:"true"` 11526} 11527 11528// String returns the string representation 11529func (s PutAccessPointPolicyForObjectLambdaInput) String() string { 11530 return awsutil.Prettify(s) 11531} 11532 11533// GoString returns the string representation 11534func (s PutAccessPointPolicyForObjectLambdaInput) GoString() string { 11535 return s.String() 11536} 11537 11538// Validate inspects the fields of the type to determine if they are valid. 11539func (s *PutAccessPointPolicyForObjectLambdaInput) Validate() error { 11540 invalidParams := request.ErrInvalidParams{Context: "PutAccessPointPolicyForObjectLambdaInput"} 11541 if s.AccountId == nil { 11542 invalidParams.Add(request.NewErrParamRequired("AccountId")) 11543 } 11544 if s.AccountId != nil && len(*s.AccountId) < 1 { 11545 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 11546 } 11547 if s.Name == nil { 11548 invalidParams.Add(request.NewErrParamRequired("Name")) 11549 } 11550 if s.Name != nil && len(*s.Name) < 3 { 11551 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 11552 } 11553 if s.Policy == nil { 11554 invalidParams.Add(request.NewErrParamRequired("Policy")) 11555 } 11556 11557 if invalidParams.Len() > 0 { 11558 return invalidParams 11559 } 11560 return nil 11561} 11562 11563// SetAccountId sets the AccountId field's value. 11564func (s *PutAccessPointPolicyForObjectLambdaInput) SetAccountId(v string) *PutAccessPointPolicyForObjectLambdaInput { 11565 s.AccountId = &v 11566 return s 11567} 11568 11569// SetName sets the Name field's value. 11570func (s *PutAccessPointPolicyForObjectLambdaInput) SetName(v string) *PutAccessPointPolicyForObjectLambdaInput { 11571 s.Name = &v 11572 return s 11573} 11574 11575// SetPolicy sets the Policy field's value. 11576func (s *PutAccessPointPolicyForObjectLambdaInput) SetPolicy(v string) *PutAccessPointPolicyForObjectLambdaInput { 11577 s.Policy = &v 11578 return s 11579} 11580 11581func (s *PutAccessPointPolicyForObjectLambdaInput) hostLabels() map[string]string { 11582 return map[string]string{ 11583 "AccountId": aws.StringValue(s.AccountId), 11584 } 11585} 11586 11587type PutAccessPointPolicyForObjectLambdaOutput struct { 11588 _ struct{} `type:"structure"` 11589} 11590 11591// String returns the string representation 11592func (s PutAccessPointPolicyForObjectLambdaOutput) String() string { 11593 return awsutil.Prettify(s) 11594} 11595 11596// GoString returns the string representation 11597func (s PutAccessPointPolicyForObjectLambdaOutput) GoString() string { 11598 return s.String() 11599} 11600 11601type PutAccessPointPolicyInput struct { 11602 _ struct{} `locationName:"PutAccessPointPolicyRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 11603 11604 // The AWS account ID for owner of the bucket associated with the specified 11605 // access point. 11606 // 11607 // AccountId is a required field 11608 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 11609 11610 // The name of the access point that you want to associate with the specified 11611 // policy. 11612 // 11613 // For using this parameter with Amazon S3 on Outposts with the REST API, you 11614 // must specify the name and the x-amz-outpost-id as well. 11615 // 11616 // For using this parameter with S3 on Outposts with the AWS SDK and CLI, you 11617 // 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>. 11618 // For example, to access the access point reports-ap through outpost my-outpost 11619 // owned by account 123456789012 in Region us-west-2, use the URL encoding of 11620 // arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. 11621 // The value must be URL encoded. 11622 // 11623 // Name is a required field 11624 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 11625 11626 // The policy that you want to apply to the specified access point. For more 11627 // information about access point policies, see Managing data access with Amazon 11628 // S3 Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html) 11629 // in the Amazon Simple Storage Service User Guide. 11630 // 11631 // Policy is a required field 11632 Policy *string `type:"string" required:"true"` 11633} 11634 11635// String returns the string representation 11636func (s PutAccessPointPolicyInput) String() string { 11637 return awsutil.Prettify(s) 11638} 11639 11640// GoString returns the string representation 11641func (s PutAccessPointPolicyInput) GoString() string { 11642 return s.String() 11643} 11644 11645// Validate inspects the fields of the type to determine if they are valid. 11646func (s *PutAccessPointPolicyInput) Validate() error { 11647 invalidParams := request.ErrInvalidParams{Context: "PutAccessPointPolicyInput"} 11648 if s.AccountId == nil { 11649 invalidParams.Add(request.NewErrParamRequired("AccountId")) 11650 } 11651 if s.AccountId != nil && len(*s.AccountId) < 1 { 11652 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 11653 } 11654 if s.Name == nil { 11655 invalidParams.Add(request.NewErrParamRequired("Name")) 11656 } 11657 if s.Name != nil && len(*s.Name) < 3 { 11658 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 11659 } 11660 if s.Policy == nil { 11661 invalidParams.Add(request.NewErrParamRequired("Policy")) 11662 } 11663 11664 if invalidParams.Len() > 0 { 11665 return invalidParams 11666 } 11667 return nil 11668} 11669 11670// SetAccountId sets the AccountId field's value. 11671func (s *PutAccessPointPolicyInput) SetAccountId(v string) *PutAccessPointPolicyInput { 11672 s.AccountId = &v 11673 return s 11674} 11675 11676// SetName sets the Name field's value. 11677func (s *PutAccessPointPolicyInput) SetName(v string) *PutAccessPointPolicyInput { 11678 s.Name = &v 11679 return s 11680} 11681 11682// SetPolicy sets the Policy field's value. 11683func (s *PutAccessPointPolicyInput) SetPolicy(v string) *PutAccessPointPolicyInput { 11684 s.Policy = &v 11685 return s 11686} 11687 11688func (s *PutAccessPointPolicyInput) hostLabels() map[string]string { 11689 return map[string]string{ 11690 "AccountId": aws.StringValue(s.AccountId), 11691 } 11692} 11693 11694func (s *PutAccessPointPolicyInput) getEndpointARN() (arn.Resource, error) { 11695 if s.Name == nil { 11696 return nil, fmt.Errorf("member Name is nil") 11697 } 11698 return parseEndpointARN(*s.Name) 11699} 11700 11701func (s *PutAccessPointPolicyInput) hasEndpointARN() bool { 11702 if s.Name == nil { 11703 return false 11704 } 11705 return arn.IsARN(*s.Name) 11706} 11707 11708// updateArnableField updates the value of the input field that 11709// takes an ARN as an input. This method is useful to backfill 11710// the parsed resource name from ARN into the input member. 11711// It returns a pointer to a modified copy of input and an error. 11712// Note that original input is not modified. 11713func (s PutAccessPointPolicyInput) updateArnableField(v string) (interface{}, error) { 11714 if s.Name == nil { 11715 return nil, fmt.Errorf("member Name is nil") 11716 } 11717 s.Name = aws.String(v) 11718 return &s, nil 11719} 11720 11721// updateAccountID returns a pointer to a modified copy of input, 11722// if account id is not provided, we update the account id in modified input 11723// if account id is provided, but doesn't match with the one in ARN, we throw an error 11724// if account id is not updated, we return nil. Note that original input is not modified. 11725func (s PutAccessPointPolicyInput) updateAccountID(accountId string) (interface{}, error) { 11726 if s.AccountId == nil { 11727 s.AccountId = aws.String(accountId) 11728 return &s, nil 11729 } else if *s.AccountId != accountId { 11730 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 11731 } 11732 return nil, nil 11733} 11734 11735type PutAccessPointPolicyOutput struct { 11736 _ struct{} `type:"structure"` 11737} 11738 11739// String returns the string representation 11740func (s PutAccessPointPolicyOutput) String() string { 11741 return awsutil.Prettify(s) 11742} 11743 11744// GoString returns the string representation 11745func (s PutAccessPointPolicyOutput) GoString() string { 11746 return s.String() 11747} 11748 11749type PutBucketLifecycleConfigurationInput struct { 11750 _ struct{} `locationName:"PutBucketLifecycleConfigurationRequest" type:"structure" payload:"LifecycleConfiguration"` 11751 11752 // The AWS account ID of the Outposts bucket. 11753 // 11754 // AccountId is a required field 11755 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 11756 11757 // The name of the bucket for which to set the configuration. 11758 // 11759 // Bucket is a required field 11760 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 11761 11762 // Container for lifecycle rules. You can add as many as 1,000 rules. 11763 LifecycleConfiguration *LifecycleConfiguration `locationName:"LifecycleConfiguration" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 11764} 11765 11766// String returns the string representation 11767func (s PutBucketLifecycleConfigurationInput) String() string { 11768 return awsutil.Prettify(s) 11769} 11770 11771// GoString returns the string representation 11772func (s PutBucketLifecycleConfigurationInput) GoString() string { 11773 return s.String() 11774} 11775 11776// Validate inspects the fields of the type to determine if they are valid. 11777func (s *PutBucketLifecycleConfigurationInput) Validate() error { 11778 invalidParams := request.ErrInvalidParams{Context: "PutBucketLifecycleConfigurationInput"} 11779 if s.AccountId == nil { 11780 invalidParams.Add(request.NewErrParamRequired("AccountId")) 11781 } 11782 if s.AccountId != nil && len(*s.AccountId) < 1 { 11783 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 11784 } 11785 if s.Bucket == nil { 11786 invalidParams.Add(request.NewErrParamRequired("Bucket")) 11787 } 11788 if s.Bucket != nil && len(*s.Bucket) < 3 { 11789 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 11790 } 11791 if s.LifecycleConfiguration != nil { 11792 if err := s.LifecycleConfiguration.Validate(); err != nil { 11793 invalidParams.AddNested("LifecycleConfiguration", err.(request.ErrInvalidParams)) 11794 } 11795 } 11796 11797 if invalidParams.Len() > 0 { 11798 return invalidParams 11799 } 11800 return nil 11801} 11802 11803// SetAccountId sets the AccountId field's value. 11804func (s *PutBucketLifecycleConfigurationInput) SetAccountId(v string) *PutBucketLifecycleConfigurationInput { 11805 s.AccountId = &v 11806 return s 11807} 11808 11809// SetBucket sets the Bucket field's value. 11810func (s *PutBucketLifecycleConfigurationInput) SetBucket(v string) *PutBucketLifecycleConfigurationInput { 11811 s.Bucket = &v 11812 return s 11813} 11814 11815// SetLifecycleConfiguration sets the LifecycleConfiguration field's value. 11816func (s *PutBucketLifecycleConfigurationInput) SetLifecycleConfiguration(v *LifecycleConfiguration) *PutBucketLifecycleConfigurationInput { 11817 s.LifecycleConfiguration = v 11818 return s 11819} 11820 11821func (s *PutBucketLifecycleConfigurationInput) hostLabels() map[string]string { 11822 return map[string]string{ 11823 "AccountId": aws.StringValue(s.AccountId), 11824 } 11825} 11826 11827func (s *PutBucketLifecycleConfigurationInput) getEndpointARN() (arn.Resource, error) { 11828 if s.Bucket == nil { 11829 return nil, fmt.Errorf("member Bucket is nil") 11830 } 11831 return parseEndpointARN(*s.Bucket) 11832} 11833 11834func (s *PutBucketLifecycleConfigurationInput) hasEndpointARN() bool { 11835 if s.Bucket == nil { 11836 return false 11837 } 11838 return arn.IsARN(*s.Bucket) 11839} 11840 11841// updateArnableField updates the value of the input field that 11842// takes an ARN as an input. This method is useful to backfill 11843// the parsed resource name from ARN into the input member. 11844// It returns a pointer to a modified copy of input and an error. 11845// Note that original input is not modified. 11846func (s PutBucketLifecycleConfigurationInput) updateArnableField(v string) (interface{}, error) { 11847 if s.Bucket == nil { 11848 return nil, fmt.Errorf("member Bucket is nil") 11849 } 11850 s.Bucket = aws.String(v) 11851 return &s, nil 11852} 11853 11854// updateAccountID returns a pointer to a modified copy of input, 11855// if account id is not provided, we update the account id in modified input 11856// if account id is provided, but doesn't match with the one in ARN, we throw an error 11857// if account id is not updated, we return nil. Note that original input is not modified. 11858func (s PutBucketLifecycleConfigurationInput) updateAccountID(accountId string) (interface{}, error) { 11859 if s.AccountId == nil { 11860 s.AccountId = aws.String(accountId) 11861 return &s, nil 11862 } else if *s.AccountId != accountId { 11863 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 11864 } 11865 return nil, nil 11866} 11867 11868type PutBucketLifecycleConfigurationOutput struct { 11869 _ struct{} `type:"structure"` 11870} 11871 11872// String returns the string representation 11873func (s PutBucketLifecycleConfigurationOutput) String() string { 11874 return awsutil.Prettify(s) 11875} 11876 11877// GoString returns the string representation 11878func (s PutBucketLifecycleConfigurationOutput) GoString() string { 11879 return s.String() 11880} 11881 11882type PutBucketPolicyInput struct { 11883 _ struct{} `locationName:"PutBucketPolicyRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 11884 11885 // The AWS account ID of the Outposts bucket. 11886 // 11887 // AccountId is a required field 11888 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 11889 11890 // Specifies the bucket. 11891 // 11892 // For using this parameter with Amazon S3 on Outposts with the REST API, you 11893 // must specify the name and the x-amz-outpost-id as well. 11894 // 11895 // For using this parameter with S3 on Outposts with the AWS SDK and CLI, you 11896 // 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>. 11897 // For example, to access the bucket reports through outpost my-outpost owned 11898 // 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. 11899 // The value must be URL encoded. 11900 // 11901 // Bucket is a required field 11902 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 11903 11904 // Set this parameter to true to confirm that you want to remove your permissions 11905 // to change this bucket policy in the future. 11906 // 11907 // This is not supported by Amazon S3 on Outposts buckets. 11908 ConfirmRemoveSelfBucketAccess *bool `location:"header" locationName:"x-amz-confirm-remove-self-bucket-access" type:"boolean"` 11909 11910 // The bucket policy as a JSON document. 11911 // 11912 // Policy is a required field 11913 Policy *string `type:"string" required:"true"` 11914} 11915 11916// String returns the string representation 11917func (s PutBucketPolicyInput) String() string { 11918 return awsutil.Prettify(s) 11919} 11920 11921// GoString returns the string representation 11922func (s PutBucketPolicyInput) GoString() string { 11923 return s.String() 11924} 11925 11926// Validate inspects the fields of the type to determine if they are valid. 11927func (s *PutBucketPolicyInput) Validate() error { 11928 invalidParams := request.ErrInvalidParams{Context: "PutBucketPolicyInput"} 11929 if s.AccountId == nil { 11930 invalidParams.Add(request.NewErrParamRequired("AccountId")) 11931 } 11932 if s.AccountId != nil && len(*s.AccountId) < 1 { 11933 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 11934 } 11935 if s.Bucket == nil { 11936 invalidParams.Add(request.NewErrParamRequired("Bucket")) 11937 } 11938 if s.Bucket != nil && len(*s.Bucket) < 3 { 11939 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 11940 } 11941 if s.Policy == nil { 11942 invalidParams.Add(request.NewErrParamRequired("Policy")) 11943 } 11944 11945 if invalidParams.Len() > 0 { 11946 return invalidParams 11947 } 11948 return nil 11949} 11950 11951// SetAccountId sets the AccountId field's value. 11952func (s *PutBucketPolicyInput) SetAccountId(v string) *PutBucketPolicyInput { 11953 s.AccountId = &v 11954 return s 11955} 11956 11957// SetBucket sets the Bucket field's value. 11958func (s *PutBucketPolicyInput) SetBucket(v string) *PutBucketPolicyInput { 11959 s.Bucket = &v 11960 return s 11961} 11962 11963// SetConfirmRemoveSelfBucketAccess sets the ConfirmRemoveSelfBucketAccess field's value. 11964func (s *PutBucketPolicyInput) SetConfirmRemoveSelfBucketAccess(v bool) *PutBucketPolicyInput { 11965 s.ConfirmRemoveSelfBucketAccess = &v 11966 return s 11967} 11968 11969// SetPolicy sets the Policy field's value. 11970func (s *PutBucketPolicyInput) SetPolicy(v string) *PutBucketPolicyInput { 11971 s.Policy = &v 11972 return s 11973} 11974 11975func (s *PutBucketPolicyInput) hostLabels() map[string]string { 11976 return map[string]string{ 11977 "AccountId": aws.StringValue(s.AccountId), 11978 } 11979} 11980 11981func (s *PutBucketPolicyInput) getEndpointARN() (arn.Resource, error) { 11982 if s.Bucket == nil { 11983 return nil, fmt.Errorf("member Bucket is nil") 11984 } 11985 return parseEndpointARN(*s.Bucket) 11986} 11987 11988func (s *PutBucketPolicyInput) hasEndpointARN() bool { 11989 if s.Bucket == nil { 11990 return false 11991 } 11992 return arn.IsARN(*s.Bucket) 11993} 11994 11995// updateArnableField updates the value of the input field that 11996// takes an ARN as an input. This method is useful to backfill 11997// the parsed resource name from ARN into the input member. 11998// It returns a pointer to a modified copy of input and an error. 11999// Note that original input is not modified. 12000func (s PutBucketPolicyInput) updateArnableField(v string) (interface{}, error) { 12001 if s.Bucket == nil { 12002 return nil, fmt.Errorf("member Bucket is nil") 12003 } 12004 s.Bucket = aws.String(v) 12005 return &s, nil 12006} 12007 12008// updateAccountID returns a pointer to a modified copy of input, 12009// if account id is not provided, we update the account id in modified input 12010// if account id is provided, but doesn't match with the one in ARN, we throw an error 12011// if account id is not updated, we return nil. Note that original input is not modified. 12012func (s PutBucketPolicyInput) updateAccountID(accountId string) (interface{}, error) { 12013 if s.AccountId == nil { 12014 s.AccountId = aws.String(accountId) 12015 return &s, nil 12016 } else if *s.AccountId != accountId { 12017 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 12018 } 12019 return nil, nil 12020} 12021 12022type PutBucketPolicyOutput struct { 12023 _ struct{} `type:"structure"` 12024} 12025 12026// String returns the string representation 12027func (s PutBucketPolicyOutput) String() string { 12028 return awsutil.Prettify(s) 12029} 12030 12031// GoString returns the string representation 12032func (s PutBucketPolicyOutput) GoString() string { 12033 return s.String() 12034} 12035 12036type PutBucketTaggingInput struct { 12037 _ struct{} `locationName:"PutBucketTaggingRequest" type:"structure" payload:"Tagging"` 12038 12039 // The AWS account ID of the Outposts bucket. 12040 // 12041 // AccountId is a required field 12042 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 12043 12044 // The Amazon Resource Name (ARN) of the bucket. 12045 // 12046 // For using this parameter with Amazon S3 on Outposts with the REST API, you 12047 // must specify the name and the x-amz-outpost-id as well. 12048 // 12049 // For using this parameter with S3 on Outposts with the AWS SDK and CLI, you 12050 // 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>. 12051 // For example, to access the bucket reports through outpost my-outpost owned 12052 // 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. 12053 // The value must be URL encoded. 12054 // 12055 // Bucket is a required field 12056 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 12057 12058 // Tagging is a required field 12059 Tagging *Tagging `locationName:"Tagging" type:"structure" required:"true" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 12060} 12061 12062// String returns the string representation 12063func (s PutBucketTaggingInput) String() string { 12064 return awsutil.Prettify(s) 12065} 12066 12067// GoString returns the string representation 12068func (s PutBucketTaggingInput) GoString() string { 12069 return s.String() 12070} 12071 12072// Validate inspects the fields of the type to determine if they are valid. 12073func (s *PutBucketTaggingInput) Validate() error { 12074 invalidParams := request.ErrInvalidParams{Context: "PutBucketTaggingInput"} 12075 if s.AccountId == nil { 12076 invalidParams.Add(request.NewErrParamRequired("AccountId")) 12077 } 12078 if s.AccountId != nil && len(*s.AccountId) < 1 { 12079 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 12080 } 12081 if s.Bucket == nil { 12082 invalidParams.Add(request.NewErrParamRequired("Bucket")) 12083 } 12084 if s.Bucket != nil && len(*s.Bucket) < 3 { 12085 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 12086 } 12087 if s.Tagging == nil { 12088 invalidParams.Add(request.NewErrParamRequired("Tagging")) 12089 } 12090 if s.Tagging != nil { 12091 if err := s.Tagging.Validate(); err != nil { 12092 invalidParams.AddNested("Tagging", err.(request.ErrInvalidParams)) 12093 } 12094 } 12095 12096 if invalidParams.Len() > 0 { 12097 return invalidParams 12098 } 12099 return nil 12100} 12101 12102// SetAccountId sets the AccountId field's value. 12103func (s *PutBucketTaggingInput) SetAccountId(v string) *PutBucketTaggingInput { 12104 s.AccountId = &v 12105 return s 12106} 12107 12108// SetBucket sets the Bucket field's value. 12109func (s *PutBucketTaggingInput) SetBucket(v string) *PutBucketTaggingInput { 12110 s.Bucket = &v 12111 return s 12112} 12113 12114// SetTagging sets the Tagging field's value. 12115func (s *PutBucketTaggingInput) SetTagging(v *Tagging) *PutBucketTaggingInput { 12116 s.Tagging = v 12117 return s 12118} 12119 12120func (s *PutBucketTaggingInput) hostLabels() map[string]string { 12121 return map[string]string{ 12122 "AccountId": aws.StringValue(s.AccountId), 12123 } 12124} 12125 12126func (s *PutBucketTaggingInput) getEndpointARN() (arn.Resource, error) { 12127 if s.Bucket == nil { 12128 return nil, fmt.Errorf("member Bucket is nil") 12129 } 12130 return parseEndpointARN(*s.Bucket) 12131} 12132 12133func (s *PutBucketTaggingInput) hasEndpointARN() bool { 12134 if s.Bucket == nil { 12135 return false 12136 } 12137 return arn.IsARN(*s.Bucket) 12138} 12139 12140// updateArnableField updates the value of the input field that 12141// takes an ARN as an input. This method is useful to backfill 12142// the parsed resource name from ARN into the input member. 12143// It returns a pointer to a modified copy of input and an error. 12144// Note that original input is not modified. 12145func (s PutBucketTaggingInput) updateArnableField(v string) (interface{}, error) { 12146 if s.Bucket == nil { 12147 return nil, fmt.Errorf("member Bucket is nil") 12148 } 12149 s.Bucket = aws.String(v) 12150 return &s, nil 12151} 12152 12153// updateAccountID returns a pointer to a modified copy of input, 12154// if account id is not provided, we update the account id in modified input 12155// if account id is provided, but doesn't match with the one in ARN, we throw an error 12156// if account id is not updated, we return nil. Note that original input is not modified. 12157func (s PutBucketTaggingInput) updateAccountID(accountId string) (interface{}, error) { 12158 if s.AccountId == nil { 12159 s.AccountId = aws.String(accountId) 12160 return &s, nil 12161 } else if *s.AccountId != accountId { 12162 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 12163 } 12164 return nil, nil 12165} 12166 12167type PutBucketTaggingOutput struct { 12168 _ struct{} `type:"structure"` 12169} 12170 12171// String returns the string representation 12172func (s PutBucketTaggingOutput) String() string { 12173 return awsutil.Prettify(s) 12174} 12175 12176// GoString returns the string representation 12177func (s PutBucketTaggingOutput) GoString() string { 12178 return s.String() 12179} 12180 12181type PutJobTaggingInput struct { 12182 _ struct{} `locationName:"PutJobTaggingRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 12183 12184 // The AWS account ID associated with the S3 Batch Operations job. 12185 // 12186 // AccountId is a required field 12187 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 12188 12189 // The ID for the S3 Batch Operations job whose tags you want to replace. 12190 // 12191 // JobId is a required field 12192 JobId *string `location:"uri" locationName:"id" min:"5" type:"string" required:"true"` 12193 12194 // The set of tags to associate with the S3 Batch Operations job. 12195 // 12196 // Tags is a required field 12197 Tags []*S3Tag `type:"list" required:"true"` 12198} 12199 12200// String returns the string representation 12201func (s PutJobTaggingInput) String() string { 12202 return awsutil.Prettify(s) 12203} 12204 12205// GoString returns the string representation 12206func (s PutJobTaggingInput) GoString() string { 12207 return s.String() 12208} 12209 12210// Validate inspects the fields of the type to determine if they are valid. 12211func (s *PutJobTaggingInput) Validate() error { 12212 invalidParams := request.ErrInvalidParams{Context: "PutJobTaggingInput"} 12213 if s.AccountId == nil { 12214 invalidParams.Add(request.NewErrParamRequired("AccountId")) 12215 } 12216 if s.AccountId != nil && len(*s.AccountId) < 1 { 12217 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 12218 } 12219 if s.JobId == nil { 12220 invalidParams.Add(request.NewErrParamRequired("JobId")) 12221 } 12222 if s.JobId != nil && len(*s.JobId) < 5 { 12223 invalidParams.Add(request.NewErrParamMinLen("JobId", 5)) 12224 } 12225 if s.Tags == nil { 12226 invalidParams.Add(request.NewErrParamRequired("Tags")) 12227 } 12228 if s.Tags != nil { 12229 for i, v := range s.Tags { 12230 if v == nil { 12231 continue 12232 } 12233 if err := v.Validate(); err != nil { 12234 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 12235 } 12236 } 12237 } 12238 12239 if invalidParams.Len() > 0 { 12240 return invalidParams 12241 } 12242 return nil 12243} 12244 12245// SetAccountId sets the AccountId field's value. 12246func (s *PutJobTaggingInput) SetAccountId(v string) *PutJobTaggingInput { 12247 s.AccountId = &v 12248 return s 12249} 12250 12251// SetJobId sets the JobId field's value. 12252func (s *PutJobTaggingInput) SetJobId(v string) *PutJobTaggingInput { 12253 s.JobId = &v 12254 return s 12255} 12256 12257// SetTags sets the Tags field's value. 12258func (s *PutJobTaggingInput) SetTags(v []*S3Tag) *PutJobTaggingInput { 12259 s.Tags = v 12260 return s 12261} 12262 12263func (s *PutJobTaggingInput) hostLabels() map[string]string { 12264 return map[string]string{ 12265 "AccountId": aws.StringValue(s.AccountId), 12266 } 12267} 12268 12269type PutJobTaggingOutput struct { 12270 _ struct{} `type:"structure"` 12271} 12272 12273// String returns the string representation 12274func (s PutJobTaggingOutput) String() string { 12275 return awsutil.Prettify(s) 12276} 12277 12278// GoString returns the string representation 12279func (s PutJobTaggingOutput) GoString() string { 12280 return s.String() 12281} 12282 12283type PutPublicAccessBlockInput struct { 12284 _ struct{} `locationName:"PutPublicAccessBlockRequest" type:"structure" payload:"PublicAccessBlockConfiguration"` 12285 12286 // The account ID for the AWS account whose PublicAccessBlock configuration 12287 // you want to set. 12288 // 12289 // AccountId is a required field 12290 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 12291 12292 // The PublicAccessBlock configuration that you want to apply to the specified 12293 // AWS account. 12294 // 12295 // PublicAccessBlockConfiguration is a required field 12296 PublicAccessBlockConfiguration *PublicAccessBlockConfiguration `locationName:"PublicAccessBlockConfiguration" type:"structure" required:"true" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 12297} 12298 12299// String returns the string representation 12300func (s PutPublicAccessBlockInput) String() string { 12301 return awsutil.Prettify(s) 12302} 12303 12304// GoString returns the string representation 12305func (s PutPublicAccessBlockInput) GoString() string { 12306 return s.String() 12307} 12308 12309// Validate inspects the fields of the type to determine if they are valid. 12310func (s *PutPublicAccessBlockInput) Validate() error { 12311 invalidParams := request.ErrInvalidParams{Context: "PutPublicAccessBlockInput"} 12312 if s.AccountId == nil { 12313 invalidParams.Add(request.NewErrParamRequired("AccountId")) 12314 } 12315 if s.AccountId != nil && len(*s.AccountId) < 1 { 12316 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 12317 } 12318 if s.PublicAccessBlockConfiguration == nil { 12319 invalidParams.Add(request.NewErrParamRequired("PublicAccessBlockConfiguration")) 12320 } 12321 12322 if invalidParams.Len() > 0 { 12323 return invalidParams 12324 } 12325 return nil 12326} 12327 12328// SetAccountId sets the AccountId field's value. 12329func (s *PutPublicAccessBlockInput) SetAccountId(v string) *PutPublicAccessBlockInput { 12330 s.AccountId = &v 12331 return s 12332} 12333 12334// SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value. 12335func (s *PutPublicAccessBlockInput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *PutPublicAccessBlockInput { 12336 s.PublicAccessBlockConfiguration = v 12337 return s 12338} 12339 12340func (s *PutPublicAccessBlockInput) hostLabels() map[string]string { 12341 return map[string]string{ 12342 "AccountId": aws.StringValue(s.AccountId), 12343 } 12344} 12345 12346type PutPublicAccessBlockOutput struct { 12347 _ struct{} `type:"structure"` 12348} 12349 12350// String returns the string representation 12351func (s PutPublicAccessBlockOutput) String() string { 12352 return awsutil.Prettify(s) 12353} 12354 12355// GoString returns the string representation 12356func (s PutPublicAccessBlockOutput) GoString() string { 12357 return s.String() 12358} 12359 12360type PutStorageLensConfigurationInput struct { 12361 _ struct{} `locationName:"PutStorageLensConfigurationRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 12362 12363 // The account ID of the requester. 12364 // 12365 // AccountId is a required field 12366 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 12367 12368 // The ID of the S3 Storage Lens configuration. 12369 // 12370 // ConfigId is a required field 12371 ConfigId *string `location:"uri" locationName:"storagelensid" min:"1" type:"string" required:"true"` 12372 12373 // The S3 Storage Lens configuration. 12374 // 12375 // StorageLensConfiguration is a required field 12376 StorageLensConfiguration *StorageLensConfiguration `type:"structure" required:"true"` 12377 12378 // The tag set of the S3 Storage Lens configuration. 12379 // 12380 // You can set up to a maximum of 50 tags. 12381 Tags []*StorageLensTag `locationNameList:"Tag" type:"list"` 12382} 12383 12384// String returns the string representation 12385func (s PutStorageLensConfigurationInput) String() string { 12386 return awsutil.Prettify(s) 12387} 12388 12389// GoString returns the string representation 12390func (s PutStorageLensConfigurationInput) GoString() string { 12391 return s.String() 12392} 12393 12394// Validate inspects the fields of the type to determine if they are valid. 12395func (s *PutStorageLensConfigurationInput) Validate() error { 12396 invalidParams := request.ErrInvalidParams{Context: "PutStorageLensConfigurationInput"} 12397 if s.AccountId == nil { 12398 invalidParams.Add(request.NewErrParamRequired("AccountId")) 12399 } 12400 if s.AccountId != nil && len(*s.AccountId) < 1 { 12401 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 12402 } 12403 if s.ConfigId == nil { 12404 invalidParams.Add(request.NewErrParamRequired("ConfigId")) 12405 } 12406 if s.ConfigId != nil && len(*s.ConfigId) < 1 { 12407 invalidParams.Add(request.NewErrParamMinLen("ConfigId", 1)) 12408 } 12409 if s.StorageLensConfiguration == nil { 12410 invalidParams.Add(request.NewErrParamRequired("StorageLensConfiguration")) 12411 } 12412 if s.StorageLensConfiguration != nil { 12413 if err := s.StorageLensConfiguration.Validate(); err != nil { 12414 invalidParams.AddNested("StorageLensConfiguration", err.(request.ErrInvalidParams)) 12415 } 12416 } 12417 if s.Tags != nil { 12418 for i, v := range s.Tags { 12419 if v == nil { 12420 continue 12421 } 12422 if err := v.Validate(); err != nil { 12423 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 12424 } 12425 } 12426 } 12427 12428 if invalidParams.Len() > 0 { 12429 return invalidParams 12430 } 12431 return nil 12432} 12433 12434// SetAccountId sets the AccountId field's value. 12435func (s *PutStorageLensConfigurationInput) SetAccountId(v string) *PutStorageLensConfigurationInput { 12436 s.AccountId = &v 12437 return s 12438} 12439 12440// SetConfigId sets the ConfigId field's value. 12441func (s *PutStorageLensConfigurationInput) SetConfigId(v string) *PutStorageLensConfigurationInput { 12442 s.ConfigId = &v 12443 return s 12444} 12445 12446// SetStorageLensConfiguration sets the StorageLensConfiguration field's value. 12447func (s *PutStorageLensConfigurationInput) SetStorageLensConfiguration(v *StorageLensConfiguration) *PutStorageLensConfigurationInput { 12448 s.StorageLensConfiguration = v 12449 return s 12450} 12451 12452// SetTags sets the Tags field's value. 12453func (s *PutStorageLensConfigurationInput) SetTags(v []*StorageLensTag) *PutStorageLensConfigurationInput { 12454 s.Tags = v 12455 return s 12456} 12457 12458func (s *PutStorageLensConfigurationInput) hostLabels() map[string]string { 12459 return map[string]string{ 12460 "AccountId": aws.StringValue(s.AccountId), 12461 } 12462} 12463 12464type PutStorageLensConfigurationOutput struct { 12465 _ struct{} `type:"structure"` 12466} 12467 12468// String returns the string representation 12469func (s PutStorageLensConfigurationOutput) String() string { 12470 return awsutil.Prettify(s) 12471} 12472 12473// GoString returns the string representation 12474func (s PutStorageLensConfigurationOutput) GoString() string { 12475 return s.String() 12476} 12477 12478type PutStorageLensConfigurationTaggingInput struct { 12479 _ struct{} `locationName:"PutStorageLensConfigurationTaggingRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 12480 12481 // The account ID of the requester. 12482 // 12483 // AccountId is a required field 12484 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 12485 12486 // The ID of the S3 Storage Lens configuration. 12487 // 12488 // ConfigId is a required field 12489 ConfigId *string `location:"uri" locationName:"storagelensid" min:"1" type:"string" required:"true"` 12490 12491 // The tag set of the S3 Storage Lens configuration. 12492 // 12493 // You can set up to a maximum of 50 tags. 12494 // 12495 // Tags is a required field 12496 Tags []*StorageLensTag `locationNameList:"Tag" type:"list" required:"true"` 12497} 12498 12499// String returns the string representation 12500func (s PutStorageLensConfigurationTaggingInput) String() string { 12501 return awsutil.Prettify(s) 12502} 12503 12504// GoString returns the string representation 12505func (s PutStorageLensConfigurationTaggingInput) GoString() string { 12506 return s.String() 12507} 12508 12509// Validate inspects the fields of the type to determine if they are valid. 12510func (s *PutStorageLensConfigurationTaggingInput) Validate() error { 12511 invalidParams := request.ErrInvalidParams{Context: "PutStorageLensConfigurationTaggingInput"} 12512 if s.AccountId == nil { 12513 invalidParams.Add(request.NewErrParamRequired("AccountId")) 12514 } 12515 if s.AccountId != nil && len(*s.AccountId) < 1 { 12516 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 12517 } 12518 if s.ConfigId == nil { 12519 invalidParams.Add(request.NewErrParamRequired("ConfigId")) 12520 } 12521 if s.ConfigId != nil && len(*s.ConfigId) < 1 { 12522 invalidParams.Add(request.NewErrParamMinLen("ConfigId", 1)) 12523 } 12524 if s.Tags == nil { 12525 invalidParams.Add(request.NewErrParamRequired("Tags")) 12526 } 12527 if s.Tags != nil { 12528 for i, v := range s.Tags { 12529 if v == nil { 12530 continue 12531 } 12532 if err := v.Validate(); err != nil { 12533 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 12534 } 12535 } 12536 } 12537 12538 if invalidParams.Len() > 0 { 12539 return invalidParams 12540 } 12541 return nil 12542} 12543 12544// SetAccountId sets the AccountId field's value. 12545func (s *PutStorageLensConfigurationTaggingInput) SetAccountId(v string) *PutStorageLensConfigurationTaggingInput { 12546 s.AccountId = &v 12547 return s 12548} 12549 12550// SetConfigId sets the ConfigId field's value. 12551func (s *PutStorageLensConfigurationTaggingInput) SetConfigId(v string) *PutStorageLensConfigurationTaggingInput { 12552 s.ConfigId = &v 12553 return s 12554} 12555 12556// SetTags sets the Tags field's value. 12557func (s *PutStorageLensConfigurationTaggingInput) SetTags(v []*StorageLensTag) *PutStorageLensConfigurationTaggingInput { 12558 s.Tags = v 12559 return s 12560} 12561 12562func (s *PutStorageLensConfigurationTaggingInput) hostLabels() map[string]string { 12563 return map[string]string{ 12564 "AccountId": aws.StringValue(s.AccountId), 12565 } 12566} 12567 12568type PutStorageLensConfigurationTaggingOutput struct { 12569 _ struct{} `type:"structure"` 12570} 12571 12572// String returns the string representation 12573func (s PutStorageLensConfigurationTaggingOutput) String() string { 12574 return awsutil.Prettify(s) 12575} 12576 12577// GoString returns the string representation 12578func (s PutStorageLensConfigurationTaggingOutput) GoString() string { 12579 return s.String() 12580} 12581 12582// The container for the regional bucket. 12583type RegionalBucket struct { 12584 _ struct{} `type:"structure"` 12585 12586 // Bucket is a required field 12587 Bucket *string `min:"3" type:"string" required:"true"` 12588 12589 // The Amazon Resource Name (ARN) for the regional bucket. 12590 BucketArn *string `min:"4" type:"string"` 12591 12592 // The creation date of the regional bucket 12593 // 12594 // CreationDate is a required field 12595 CreationDate *time.Time `type:"timestamp" required:"true"` 12596 12597 // The AWS Outposts ID of the regional bucket. 12598 OutpostId *string `min:"1" type:"string"` 12599 12600 // PublicAccessBlockEnabled is a required field 12601 PublicAccessBlockEnabled *bool `type:"boolean" required:"true"` 12602} 12603 12604// String returns the string representation 12605func (s RegionalBucket) String() string { 12606 return awsutil.Prettify(s) 12607} 12608 12609// GoString returns the string representation 12610func (s RegionalBucket) GoString() string { 12611 return s.String() 12612} 12613 12614// SetBucket sets the Bucket field's value. 12615func (s *RegionalBucket) SetBucket(v string) *RegionalBucket { 12616 s.Bucket = &v 12617 return s 12618} 12619 12620// SetBucketArn sets the BucketArn field's value. 12621func (s *RegionalBucket) SetBucketArn(v string) *RegionalBucket { 12622 s.BucketArn = &v 12623 return s 12624} 12625 12626// SetCreationDate sets the CreationDate field's value. 12627func (s *RegionalBucket) SetCreationDate(v time.Time) *RegionalBucket { 12628 s.CreationDate = &v 12629 return s 12630} 12631 12632// SetOutpostId sets the OutpostId field's value. 12633func (s *RegionalBucket) SetOutpostId(v string) *RegionalBucket { 12634 s.OutpostId = &v 12635 return s 12636} 12637 12638// SetPublicAccessBlockEnabled sets the PublicAccessBlockEnabled field's value. 12639func (s *RegionalBucket) SetPublicAccessBlockEnabled(v bool) *RegionalBucket { 12640 s.PublicAccessBlockEnabled = &v 12641 return s 12642} 12643 12644type S3AccessControlList struct { 12645 _ struct{} `type:"structure"` 12646 12647 Grants []*S3Grant `type:"list"` 12648 12649 // Owner is a required field 12650 Owner *S3ObjectOwner `type:"structure" required:"true"` 12651} 12652 12653// String returns the string representation 12654func (s S3AccessControlList) String() string { 12655 return awsutil.Prettify(s) 12656} 12657 12658// GoString returns the string representation 12659func (s S3AccessControlList) GoString() string { 12660 return s.String() 12661} 12662 12663// Validate inspects the fields of the type to determine if they are valid. 12664func (s *S3AccessControlList) Validate() error { 12665 invalidParams := request.ErrInvalidParams{Context: "S3AccessControlList"} 12666 if s.Owner == nil { 12667 invalidParams.Add(request.NewErrParamRequired("Owner")) 12668 } 12669 if s.Grants != nil { 12670 for i, v := range s.Grants { 12671 if v == nil { 12672 continue 12673 } 12674 if err := v.Validate(); err != nil { 12675 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Grants", i), err.(request.ErrInvalidParams)) 12676 } 12677 } 12678 } 12679 if s.Owner != nil { 12680 if err := s.Owner.Validate(); err != nil { 12681 invalidParams.AddNested("Owner", err.(request.ErrInvalidParams)) 12682 } 12683 } 12684 12685 if invalidParams.Len() > 0 { 12686 return invalidParams 12687 } 12688 return nil 12689} 12690 12691// SetGrants sets the Grants field's value. 12692func (s *S3AccessControlList) SetGrants(v []*S3Grant) *S3AccessControlList { 12693 s.Grants = v 12694 return s 12695} 12696 12697// SetOwner sets the Owner field's value. 12698func (s *S3AccessControlList) SetOwner(v *S3ObjectOwner) *S3AccessControlList { 12699 s.Owner = v 12700 return s 12701} 12702 12703type S3AccessControlPolicy struct { 12704 _ struct{} `type:"structure"` 12705 12706 AccessControlList *S3AccessControlList `type:"structure"` 12707 12708 CannedAccessControlList *string `type:"string" enum:"S3CannedAccessControlList"` 12709} 12710 12711// String returns the string representation 12712func (s S3AccessControlPolicy) String() string { 12713 return awsutil.Prettify(s) 12714} 12715 12716// GoString returns the string representation 12717func (s S3AccessControlPolicy) GoString() string { 12718 return s.String() 12719} 12720 12721// Validate inspects the fields of the type to determine if they are valid. 12722func (s *S3AccessControlPolicy) Validate() error { 12723 invalidParams := request.ErrInvalidParams{Context: "S3AccessControlPolicy"} 12724 if s.AccessControlList != nil { 12725 if err := s.AccessControlList.Validate(); err != nil { 12726 invalidParams.AddNested("AccessControlList", err.(request.ErrInvalidParams)) 12727 } 12728 } 12729 12730 if invalidParams.Len() > 0 { 12731 return invalidParams 12732 } 12733 return nil 12734} 12735 12736// SetAccessControlList sets the AccessControlList field's value. 12737func (s *S3AccessControlPolicy) SetAccessControlList(v *S3AccessControlList) *S3AccessControlPolicy { 12738 s.AccessControlList = v 12739 return s 12740} 12741 12742// SetCannedAccessControlList sets the CannedAccessControlList field's value. 12743func (s *S3AccessControlPolicy) SetCannedAccessControlList(v string) *S3AccessControlPolicy { 12744 s.CannedAccessControlList = &v 12745 return s 12746} 12747 12748// A container for the bucket where the Amazon S3 Storage Lens metrics export 12749// files are located. 12750type S3BucketDestination struct { 12751 _ struct{} `type:"structure"` 12752 12753 // The account ID of the owner of the S3 Storage Lens metrics export bucket. 12754 // 12755 // AccountId is a required field 12756 AccountId *string `type:"string" required:"true"` 12757 12758 // The Amazon Resource Name (ARN) of the bucket. This property is read-only 12759 // and follows the following format: arn:aws:s3:us-east-1:example-account-id:bucket/your-destination-bucket-name 12760 // 12761 // Arn is a required field 12762 Arn *string `min:"1" type:"string" required:"true"` 12763 12764 // The container for the type encryption of the metrics exports in this bucket. 12765 Encryption *StorageLensDataExportEncryption `type:"structure"` 12766 12767 // Format is a required field 12768 Format *string `type:"string" required:"true" enum:"Format"` 12769 12770 // The schema version of the export file. 12771 // 12772 // OutputSchemaVersion is a required field 12773 OutputSchemaVersion *string `type:"string" required:"true" enum:"OutputSchemaVersion"` 12774 12775 // The prefix of the destination bucket where the metrics export will be delivered. 12776 Prefix *string `type:"string"` 12777} 12778 12779// String returns the string representation 12780func (s S3BucketDestination) String() string { 12781 return awsutil.Prettify(s) 12782} 12783 12784// GoString returns the string representation 12785func (s S3BucketDestination) GoString() string { 12786 return s.String() 12787} 12788 12789// Validate inspects the fields of the type to determine if they are valid. 12790func (s *S3BucketDestination) Validate() error { 12791 invalidParams := request.ErrInvalidParams{Context: "S3BucketDestination"} 12792 if s.AccountId == nil { 12793 invalidParams.Add(request.NewErrParamRequired("AccountId")) 12794 } 12795 if s.Arn == nil { 12796 invalidParams.Add(request.NewErrParamRequired("Arn")) 12797 } 12798 if s.Arn != nil && len(*s.Arn) < 1 { 12799 invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) 12800 } 12801 if s.Format == nil { 12802 invalidParams.Add(request.NewErrParamRequired("Format")) 12803 } 12804 if s.OutputSchemaVersion == nil { 12805 invalidParams.Add(request.NewErrParamRequired("OutputSchemaVersion")) 12806 } 12807 if s.Encryption != nil { 12808 if err := s.Encryption.Validate(); err != nil { 12809 invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams)) 12810 } 12811 } 12812 12813 if invalidParams.Len() > 0 { 12814 return invalidParams 12815 } 12816 return nil 12817} 12818 12819// SetAccountId sets the AccountId field's value. 12820func (s *S3BucketDestination) SetAccountId(v string) *S3BucketDestination { 12821 s.AccountId = &v 12822 return s 12823} 12824 12825// SetArn sets the Arn field's value. 12826func (s *S3BucketDestination) SetArn(v string) *S3BucketDestination { 12827 s.Arn = &v 12828 return s 12829} 12830 12831// SetEncryption sets the Encryption field's value. 12832func (s *S3BucketDestination) SetEncryption(v *StorageLensDataExportEncryption) *S3BucketDestination { 12833 s.Encryption = v 12834 return s 12835} 12836 12837// SetFormat sets the Format field's value. 12838func (s *S3BucketDestination) SetFormat(v string) *S3BucketDestination { 12839 s.Format = &v 12840 return s 12841} 12842 12843// SetOutputSchemaVersion sets the OutputSchemaVersion field's value. 12844func (s *S3BucketDestination) SetOutputSchemaVersion(v string) *S3BucketDestination { 12845 s.OutputSchemaVersion = &v 12846 return s 12847} 12848 12849// SetPrefix sets the Prefix field's value. 12850func (s *S3BucketDestination) SetPrefix(v string) *S3BucketDestination { 12851 s.Prefix = &v 12852 return s 12853} 12854 12855// Contains the configuration parameters for a PUT Copy object operation. S3 12856// Batch Operations passes every object to the underlying PUT Copy object API. 12857// For more information about the parameters for this operation, see PUT Object 12858// - Copy (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectCOPY.html). 12859type S3CopyObjectOperation struct { 12860 _ struct{} `type:"structure"` 12861 12862 AccessControlGrants []*S3Grant `type:"list"` 12863 12864 CannedAccessControlList *string `type:"string" enum:"S3CannedAccessControlList"` 12865 12866 MetadataDirective *string `type:"string" enum:"S3MetadataDirective"` 12867 12868 ModifiedSinceConstraint *time.Time `type:"timestamp"` 12869 12870 NewObjectMetadata *S3ObjectMetadata `type:"structure"` 12871 12872 NewObjectTagging []*S3Tag `type:"list"` 12873 12874 // The legal hold status to be applied to all objects in the Batch Operations 12875 // job. 12876 ObjectLockLegalHoldStatus *string `type:"string" enum:"S3ObjectLockLegalHoldStatus"` 12877 12878 // The retention mode to be applied to all objects in the Batch Operations job. 12879 ObjectLockMode *string `type:"string" enum:"S3ObjectLockMode"` 12880 12881 // The date when the applied object retention configuration expires on all objects 12882 // in the Batch Operations job. 12883 ObjectLockRetainUntilDate *time.Time `type:"timestamp"` 12884 12885 // Specifies an optional metadata property for website redirects, x-amz-website-redirect-location. 12886 // Allows webpage redirects if the object is accessed through a website endpoint. 12887 RedirectLocation *string `min:"1" type:"string"` 12888 12889 RequesterPays *bool `type:"boolean"` 12890 12891 SSEAwsKmsKeyId *string `min:"1" type:"string"` 12892 12893 StorageClass *string `type:"string" enum:"S3StorageClass"` 12894 12895 // Specifies the folder prefix into which you would like the objects to be copied. 12896 // For example, to copy objects into a folder named "Folder1" in the destination 12897 // bucket, set the TargetKeyPrefix to "Folder1/". 12898 TargetKeyPrefix *string `min:"1" type:"string"` 12899 12900 // Specifies the destination bucket ARN for the batch copy operation. For example, 12901 // to copy objects to a bucket named "destinationBucket", set the TargetResource 12902 // to "arn:aws:s3:::destinationBucket". 12903 TargetResource *string `min:"1" type:"string"` 12904 12905 UnModifiedSinceConstraint *time.Time `type:"timestamp"` 12906} 12907 12908// String returns the string representation 12909func (s S3CopyObjectOperation) String() string { 12910 return awsutil.Prettify(s) 12911} 12912 12913// GoString returns the string representation 12914func (s S3CopyObjectOperation) GoString() string { 12915 return s.String() 12916} 12917 12918// Validate inspects the fields of the type to determine if they are valid. 12919func (s *S3CopyObjectOperation) Validate() error { 12920 invalidParams := request.ErrInvalidParams{Context: "S3CopyObjectOperation"} 12921 if s.RedirectLocation != nil && len(*s.RedirectLocation) < 1 { 12922 invalidParams.Add(request.NewErrParamMinLen("RedirectLocation", 1)) 12923 } 12924 if s.SSEAwsKmsKeyId != nil && len(*s.SSEAwsKmsKeyId) < 1 { 12925 invalidParams.Add(request.NewErrParamMinLen("SSEAwsKmsKeyId", 1)) 12926 } 12927 if s.TargetKeyPrefix != nil && len(*s.TargetKeyPrefix) < 1 { 12928 invalidParams.Add(request.NewErrParamMinLen("TargetKeyPrefix", 1)) 12929 } 12930 if s.TargetResource != nil && len(*s.TargetResource) < 1 { 12931 invalidParams.Add(request.NewErrParamMinLen("TargetResource", 1)) 12932 } 12933 if s.AccessControlGrants != nil { 12934 for i, v := range s.AccessControlGrants { 12935 if v == nil { 12936 continue 12937 } 12938 if err := v.Validate(); err != nil { 12939 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccessControlGrants", i), err.(request.ErrInvalidParams)) 12940 } 12941 } 12942 } 12943 if s.NewObjectMetadata != nil { 12944 if err := s.NewObjectMetadata.Validate(); err != nil { 12945 invalidParams.AddNested("NewObjectMetadata", err.(request.ErrInvalidParams)) 12946 } 12947 } 12948 if s.NewObjectTagging != nil { 12949 for i, v := range s.NewObjectTagging { 12950 if v == nil { 12951 continue 12952 } 12953 if err := v.Validate(); err != nil { 12954 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NewObjectTagging", i), err.(request.ErrInvalidParams)) 12955 } 12956 } 12957 } 12958 12959 if invalidParams.Len() > 0 { 12960 return invalidParams 12961 } 12962 return nil 12963} 12964 12965// SetAccessControlGrants sets the AccessControlGrants field's value. 12966func (s *S3CopyObjectOperation) SetAccessControlGrants(v []*S3Grant) *S3CopyObjectOperation { 12967 s.AccessControlGrants = v 12968 return s 12969} 12970 12971// SetCannedAccessControlList sets the CannedAccessControlList field's value. 12972func (s *S3CopyObjectOperation) SetCannedAccessControlList(v string) *S3CopyObjectOperation { 12973 s.CannedAccessControlList = &v 12974 return s 12975} 12976 12977// SetMetadataDirective sets the MetadataDirective field's value. 12978func (s *S3CopyObjectOperation) SetMetadataDirective(v string) *S3CopyObjectOperation { 12979 s.MetadataDirective = &v 12980 return s 12981} 12982 12983// SetModifiedSinceConstraint sets the ModifiedSinceConstraint field's value. 12984func (s *S3CopyObjectOperation) SetModifiedSinceConstraint(v time.Time) *S3CopyObjectOperation { 12985 s.ModifiedSinceConstraint = &v 12986 return s 12987} 12988 12989// SetNewObjectMetadata sets the NewObjectMetadata field's value. 12990func (s *S3CopyObjectOperation) SetNewObjectMetadata(v *S3ObjectMetadata) *S3CopyObjectOperation { 12991 s.NewObjectMetadata = v 12992 return s 12993} 12994 12995// SetNewObjectTagging sets the NewObjectTagging field's value. 12996func (s *S3CopyObjectOperation) SetNewObjectTagging(v []*S3Tag) *S3CopyObjectOperation { 12997 s.NewObjectTagging = v 12998 return s 12999} 13000 13001// SetObjectLockLegalHoldStatus sets the ObjectLockLegalHoldStatus field's value. 13002func (s *S3CopyObjectOperation) SetObjectLockLegalHoldStatus(v string) *S3CopyObjectOperation { 13003 s.ObjectLockLegalHoldStatus = &v 13004 return s 13005} 13006 13007// SetObjectLockMode sets the ObjectLockMode field's value. 13008func (s *S3CopyObjectOperation) SetObjectLockMode(v string) *S3CopyObjectOperation { 13009 s.ObjectLockMode = &v 13010 return s 13011} 13012 13013// SetObjectLockRetainUntilDate sets the ObjectLockRetainUntilDate field's value. 13014func (s *S3CopyObjectOperation) SetObjectLockRetainUntilDate(v time.Time) *S3CopyObjectOperation { 13015 s.ObjectLockRetainUntilDate = &v 13016 return s 13017} 13018 13019// SetRedirectLocation sets the RedirectLocation field's value. 13020func (s *S3CopyObjectOperation) SetRedirectLocation(v string) *S3CopyObjectOperation { 13021 s.RedirectLocation = &v 13022 return s 13023} 13024 13025// SetRequesterPays sets the RequesterPays field's value. 13026func (s *S3CopyObjectOperation) SetRequesterPays(v bool) *S3CopyObjectOperation { 13027 s.RequesterPays = &v 13028 return s 13029} 13030 13031// SetSSEAwsKmsKeyId sets the SSEAwsKmsKeyId field's value. 13032func (s *S3CopyObjectOperation) SetSSEAwsKmsKeyId(v string) *S3CopyObjectOperation { 13033 s.SSEAwsKmsKeyId = &v 13034 return s 13035} 13036 13037// SetStorageClass sets the StorageClass field's value. 13038func (s *S3CopyObjectOperation) SetStorageClass(v string) *S3CopyObjectOperation { 13039 s.StorageClass = &v 13040 return s 13041} 13042 13043// SetTargetKeyPrefix sets the TargetKeyPrefix field's value. 13044func (s *S3CopyObjectOperation) SetTargetKeyPrefix(v string) *S3CopyObjectOperation { 13045 s.TargetKeyPrefix = &v 13046 return s 13047} 13048 13049// SetTargetResource sets the TargetResource field's value. 13050func (s *S3CopyObjectOperation) SetTargetResource(v string) *S3CopyObjectOperation { 13051 s.TargetResource = &v 13052 return s 13053} 13054 13055// SetUnModifiedSinceConstraint sets the UnModifiedSinceConstraint field's value. 13056func (s *S3CopyObjectOperation) SetUnModifiedSinceConstraint(v time.Time) *S3CopyObjectOperation { 13057 s.UnModifiedSinceConstraint = &v 13058 return s 13059} 13060 13061// Contains no configuration parameters because the DELETE Object tagging API 13062// only accepts the bucket name and key name as parameters, which are defined 13063// in the job's manifest. 13064type S3DeleteObjectTaggingOperation struct { 13065 _ struct{} `type:"structure"` 13066} 13067 13068// String returns the string representation 13069func (s S3DeleteObjectTaggingOperation) String() string { 13070 return awsutil.Prettify(s) 13071} 13072 13073// GoString returns the string representation 13074func (s S3DeleteObjectTaggingOperation) GoString() string { 13075 return s.String() 13076} 13077 13078type S3Grant struct { 13079 _ struct{} `type:"structure"` 13080 13081 Grantee *S3Grantee `type:"structure"` 13082 13083 Permission *string `type:"string" enum:"S3Permission"` 13084} 13085 13086// String returns the string representation 13087func (s S3Grant) String() string { 13088 return awsutil.Prettify(s) 13089} 13090 13091// GoString returns the string representation 13092func (s S3Grant) GoString() string { 13093 return s.String() 13094} 13095 13096// Validate inspects the fields of the type to determine if they are valid. 13097func (s *S3Grant) Validate() error { 13098 invalidParams := request.ErrInvalidParams{Context: "S3Grant"} 13099 if s.Grantee != nil { 13100 if err := s.Grantee.Validate(); err != nil { 13101 invalidParams.AddNested("Grantee", err.(request.ErrInvalidParams)) 13102 } 13103 } 13104 13105 if invalidParams.Len() > 0 { 13106 return invalidParams 13107 } 13108 return nil 13109} 13110 13111// SetGrantee sets the Grantee field's value. 13112func (s *S3Grant) SetGrantee(v *S3Grantee) *S3Grant { 13113 s.Grantee = v 13114 return s 13115} 13116 13117// SetPermission sets the Permission field's value. 13118func (s *S3Grant) SetPermission(v string) *S3Grant { 13119 s.Permission = &v 13120 return s 13121} 13122 13123type S3Grantee struct { 13124 _ struct{} `type:"structure"` 13125 13126 DisplayName *string `min:"1" type:"string"` 13127 13128 Identifier *string `min:"1" type:"string"` 13129 13130 TypeIdentifier *string `type:"string" enum:"S3GranteeTypeIdentifier"` 13131} 13132 13133// String returns the string representation 13134func (s S3Grantee) String() string { 13135 return awsutil.Prettify(s) 13136} 13137 13138// GoString returns the string representation 13139func (s S3Grantee) GoString() string { 13140 return s.String() 13141} 13142 13143// Validate inspects the fields of the type to determine if they are valid. 13144func (s *S3Grantee) Validate() error { 13145 invalidParams := request.ErrInvalidParams{Context: "S3Grantee"} 13146 if s.DisplayName != nil && len(*s.DisplayName) < 1 { 13147 invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1)) 13148 } 13149 if s.Identifier != nil && len(*s.Identifier) < 1 { 13150 invalidParams.Add(request.NewErrParamMinLen("Identifier", 1)) 13151 } 13152 13153 if invalidParams.Len() > 0 { 13154 return invalidParams 13155 } 13156 return nil 13157} 13158 13159// SetDisplayName sets the DisplayName field's value. 13160func (s *S3Grantee) SetDisplayName(v string) *S3Grantee { 13161 s.DisplayName = &v 13162 return s 13163} 13164 13165// SetIdentifier sets the Identifier field's value. 13166func (s *S3Grantee) SetIdentifier(v string) *S3Grantee { 13167 s.Identifier = &v 13168 return s 13169} 13170 13171// SetTypeIdentifier sets the TypeIdentifier field's value. 13172func (s *S3Grantee) SetTypeIdentifier(v string) *S3Grantee { 13173 s.TypeIdentifier = &v 13174 return s 13175} 13176 13177// Contains the configuration parameters for an S3 Initiate Restore Object job. 13178// S3 Batch Operations passes every object to the underlying POST Object restore 13179// API. For more information about the parameters for this operation, see RestoreObject 13180// (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOSTrestore.html#RESTObjectPOSTrestore-restore-request). 13181type S3InitiateRestoreObjectOperation struct { 13182 _ struct{} `type:"structure"` 13183 13184 // This argument specifies how long the S3 Glacier or S3 Glacier Deep Archive 13185 // object remains available in Amazon S3. S3 Initiate Restore Object jobs that 13186 // target S3 Glacier and S3 Glacier Deep Archive objects require ExpirationInDays 13187 // set to 1 or greater. 13188 // 13189 // Conversely, do not set ExpirationInDays when creating S3 Initiate Restore 13190 // Object jobs that target S3 Intelligent-Tiering Archive Access and Deep Archive 13191 // Access tier objects. Objects in S3 Intelligent-Tiering archive access tiers 13192 // are not subject to restore expiry, so specifying ExpirationInDays results 13193 // in restore request failure. 13194 // 13195 // S3 Batch Operations jobs can operate either on S3 Glacier and S3 Glacier 13196 // Deep Archive storage class objects or on S3 Intelligent-Tiering Archive Access 13197 // and Deep Archive Access storage tier objects, but not both types in the same 13198 // job. If you need to restore objects of both types you must create separate 13199 // Batch Operations jobs. 13200 ExpirationInDays *int64 `type:"integer"` 13201 13202 // S3 Batch Operations supports STANDARD and BULK retrieval tiers, but not the 13203 // EXPEDITED retrieval tier. 13204 GlacierJobTier *string `type:"string" enum:"S3GlacierJobTier"` 13205} 13206 13207// String returns the string representation 13208func (s S3InitiateRestoreObjectOperation) String() string { 13209 return awsutil.Prettify(s) 13210} 13211 13212// GoString returns the string representation 13213func (s S3InitiateRestoreObjectOperation) GoString() string { 13214 return s.String() 13215} 13216 13217// SetExpirationInDays sets the ExpirationInDays field's value. 13218func (s *S3InitiateRestoreObjectOperation) SetExpirationInDays(v int64) *S3InitiateRestoreObjectOperation { 13219 s.ExpirationInDays = &v 13220 return s 13221} 13222 13223// SetGlacierJobTier sets the GlacierJobTier field's value. 13224func (s *S3InitiateRestoreObjectOperation) SetGlacierJobTier(v string) *S3InitiateRestoreObjectOperation { 13225 s.GlacierJobTier = &v 13226 return s 13227} 13228 13229// Whether S3 Object Lock legal hold will be applied to objects in an S3 Batch 13230// Operations job. 13231type S3ObjectLockLegalHold struct { 13232 _ struct{} `type:"structure"` 13233 13234 // The Object Lock legal hold status to be applied to all objects in the Batch 13235 // Operations job. 13236 // 13237 // Status is a required field 13238 Status *string `type:"string" required:"true" enum:"S3ObjectLockLegalHoldStatus"` 13239} 13240 13241// String returns the string representation 13242func (s S3ObjectLockLegalHold) String() string { 13243 return awsutil.Prettify(s) 13244} 13245 13246// GoString returns the string representation 13247func (s S3ObjectLockLegalHold) GoString() string { 13248 return s.String() 13249} 13250 13251// Validate inspects the fields of the type to determine if they are valid. 13252func (s *S3ObjectLockLegalHold) Validate() error { 13253 invalidParams := request.ErrInvalidParams{Context: "S3ObjectLockLegalHold"} 13254 if s.Status == nil { 13255 invalidParams.Add(request.NewErrParamRequired("Status")) 13256 } 13257 13258 if invalidParams.Len() > 0 { 13259 return invalidParams 13260 } 13261 return nil 13262} 13263 13264// SetStatus sets the Status field's value. 13265func (s *S3ObjectLockLegalHold) SetStatus(v string) *S3ObjectLockLegalHold { 13266 s.Status = &v 13267 return s 13268} 13269 13270type S3ObjectMetadata struct { 13271 _ struct{} `type:"structure"` 13272 13273 CacheControl *string `min:"1" type:"string"` 13274 13275 ContentDisposition *string `min:"1" type:"string"` 13276 13277 ContentEncoding *string `min:"1" type:"string"` 13278 13279 ContentLanguage *string `min:"1" type:"string"` 13280 13281 ContentLength *int64 `type:"long"` 13282 13283 ContentMD5 *string `min:"1" type:"string"` 13284 13285 ContentType *string `min:"1" type:"string"` 13286 13287 HttpExpiresDate *time.Time `type:"timestamp"` 13288 13289 RequesterCharged *bool `type:"boolean"` 13290 13291 SSEAlgorithm *string `type:"string" enum:"S3SSEAlgorithm"` 13292 13293 UserMetadata map[string]*string `type:"map"` 13294} 13295 13296// String returns the string representation 13297func (s S3ObjectMetadata) String() string { 13298 return awsutil.Prettify(s) 13299} 13300 13301// GoString returns the string representation 13302func (s S3ObjectMetadata) GoString() string { 13303 return s.String() 13304} 13305 13306// Validate inspects the fields of the type to determine if they are valid. 13307func (s *S3ObjectMetadata) Validate() error { 13308 invalidParams := request.ErrInvalidParams{Context: "S3ObjectMetadata"} 13309 if s.CacheControl != nil && len(*s.CacheControl) < 1 { 13310 invalidParams.Add(request.NewErrParamMinLen("CacheControl", 1)) 13311 } 13312 if s.ContentDisposition != nil && len(*s.ContentDisposition) < 1 { 13313 invalidParams.Add(request.NewErrParamMinLen("ContentDisposition", 1)) 13314 } 13315 if s.ContentEncoding != nil && len(*s.ContentEncoding) < 1 { 13316 invalidParams.Add(request.NewErrParamMinLen("ContentEncoding", 1)) 13317 } 13318 if s.ContentLanguage != nil && len(*s.ContentLanguage) < 1 { 13319 invalidParams.Add(request.NewErrParamMinLen("ContentLanguage", 1)) 13320 } 13321 if s.ContentMD5 != nil && len(*s.ContentMD5) < 1 { 13322 invalidParams.Add(request.NewErrParamMinLen("ContentMD5", 1)) 13323 } 13324 if s.ContentType != nil && len(*s.ContentType) < 1 { 13325 invalidParams.Add(request.NewErrParamMinLen("ContentType", 1)) 13326 } 13327 13328 if invalidParams.Len() > 0 { 13329 return invalidParams 13330 } 13331 return nil 13332} 13333 13334// SetCacheControl sets the CacheControl field's value. 13335func (s *S3ObjectMetadata) SetCacheControl(v string) *S3ObjectMetadata { 13336 s.CacheControl = &v 13337 return s 13338} 13339 13340// SetContentDisposition sets the ContentDisposition field's value. 13341func (s *S3ObjectMetadata) SetContentDisposition(v string) *S3ObjectMetadata { 13342 s.ContentDisposition = &v 13343 return s 13344} 13345 13346// SetContentEncoding sets the ContentEncoding field's value. 13347func (s *S3ObjectMetadata) SetContentEncoding(v string) *S3ObjectMetadata { 13348 s.ContentEncoding = &v 13349 return s 13350} 13351 13352// SetContentLanguage sets the ContentLanguage field's value. 13353func (s *S3ObjectMetadata) SetContentLanguage(v string) *S3ObjectMetadata { 13354 s.ContentLanguage = &v 13355 return s 13356} 13357 13358// SetContentLength sets the ContentLength field's value. 13359func (s *S3ObjectMetadata) SetContentLength(v int64) *S3ObjectMetadata { 13360 s.ContentLength = &v 13361 return s 13362} 13363 13364// SetContentMD5 sets the ContentMD5 field's value. 13365func (s *S3ObjectMetadata) SetContentMD5(v string) *S3ObjectMetadata { 13366 s.ContentMD5 = &v 13367 return s 13368} 13369 13370// SetContentType sets the ContentType field's value. 13371func (s *S3ObjectMetadata) SetContentType(v string) *S3ObjectMetadata { 13372 s.ContentType = &v 13373 return s 13374} 13375 13376// SetHttpExpiresDate sets the HttpExpiresDate field's value. 13377func (s *S3ObjectMetadata) SetHttpExpiresDate(v time.Time) *S3ObjectMetadata { 13378 s.HttpExpiresDate = &v 13379 return s 13380} 13381 13382// SetRequesterCharged sets the RequesterCharged field's value. 13383func (s *S3ObjectMetadata) SetRequesterCharged(v bool) *S3ObjectMetadata { 13384 s.RequesterCharged = &v 13385 return s 13386} 13387 13388// SetSSEAlgorithm sets the SSEAlgorithm field's value. 13389func (s *S3ObjectMetadata) SetSSEAlgorithm(v string) *S3ObjectMetadata { 13390 s.SSEAlgorithm = &v 13391 return s 13392} 13393 13394// SetUserMetadata sets the UserMetadata field's value. 13395func (s *S3ObjectMetadata) SetUserMetadata(v map[string]*string) *S3ObjectMetadata { 13396 s.UserMetadata = v 13397 return s 13398} 13399 13400type S3ObjectOwner struct { 13401 _ struct{} `type:"structure"` 13402 13403 DisplayName *string `min:"1" type:"string"` 13404 13405 ID *string `min:"1" type:"string"` 13406} 13407 13408// String returns the string representation 13409func (s S3ObjectOwner) String() string { 13410 return awsutil.Prettify(s) 13411} 13412 13413// GoString returns the string representation 13414func (s S3ObjectOwner) GoString() string { 13415 return s.String() 13416} 13417 13418// Validate inspects the fields of the type to determine if they are valid. 13419func (s *S3ObjectOwner) Validate() error { 13420 invalidParams := request.ErrInvalidParams{Context: "S3ObjectOwner"} 13421 if s.DisplayName != nil && len(*s.DisplayName) < 1 { 13422 invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1)) 13423 } 13424 if s.ID != nil && len(*s.ID) < 1 { 13425 invalidParams.Add(request.NewErrParamMinLen("ID", 1)) 13426 } 13427 13428 if invalidParams.Len() > 0 { 13429 return invalidParams 13430 } 13431 return nil 13432} 13433 13434// SetDisplayName sets the DisplayName field's value. 13435func (s *S3ObjectOwner) SetDisplayName(v string) *S3ObjectOwner { 13436 s.DisplayName = &v 13437 return s 13438} 13439 13440// SetID sets the ID field's value. 13441func (s *S3ObjectOwner) SetID(v string) *S3ObjectOwner { 13442 s.ID = &v 13443 return s 13444} 13445 13446// Contains the S3 Object Lock retention mode to be applied to all objects in 13447// the S3 Batch Operations job. If you don't provide Mode and RetainUntilDate 13448// data types in your operation, you will remove the retention from your objects. 13449// For more information, see Using S3 Object Lock retention with S3 Batch Operations 13450// (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html) 13451// in the Amazon Simple Storage Service User Guide. 13452type S3Retention struct { 13453 _ struct{} `type:"structure"` 13454 13455 // The Object Lock retention mode to be applied to all objects in the Batch 13456 // Operations job. 13457 Mode *string `type:"string" enum:"S3ObjectLockRetentionMode"` 13458 13459 // The date when the applied Object Lock retention will expire on all objects 13460 // set by the Batch Operations job. 13461 RetainUntilDate *time.Time `type:"timestamp"` 13462} 13463 13464// String returns the string representation 13465func (s S3Retention) String() string { 13466 return awsutil.Prettify(s) 13467} 13468 13469// GoString returns the string representation 13470func (s S3Retention) GoString() string { 13471 return s.String() 13472} 13473 13474// SetMode sets the Mode field's value. 13475func (s *S3Retention) SetMode(v string) *S3Retention { 13476 s.Mode = &v 13477 return s 13478} 13479 13480// SetRetainUntilDate sets the RetainUntilDate field's value. 13481func (s *S3Retention) SetRetainUntilDate(v time.Time) *S3Retention { 13482 s.RetainUntilDate = &v 13483 return s 13484} 13485 13486// Contains the configuration parameters for a Set Object ACL operation. S3 13487// Batch Operations passes every object to the underlying PUT Object acl API. 13488// For more information about the parameters for this operation, see PUT Object 13489// acl (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUTacl.html). 13490type S3SetObjectAclOperation struct { 13491 _ struct{} `type:"structure"` 13492 13493 AccessControlPolicy *S3AccessControlPolicy `type:"structure"` 13494} 13495 13496// String returns the string representation 13497func (s S3SetObjectAclOperation) String() string { 13498 return awsutil.Prettify(s) 13499} 13500 13501// GoString returns the string representation 13502func (s S3SetObjectAclOperation) GoString() string { 13503 return s.String() 13504} 13505 13506// Validate inspects the fields of the type to determine if they are valid. 13507func (s *S3SetObjectAclOperation) Validate() error { 13508 invalidParams := request.ErrInvalidParams{Context: "S3SetObjectAclOperation"} 13509 if s.AccessControlPolicy != nil { 13510 if err := s.AccessControlPolicy.Validate(); err != nil { 13511 invalidParams.AddNested("AccessControlPolicy", err.(request.ErrInvalidParams)) 13512 } 13513 } 13514 13515 if invalidParams.Len() > 0 { 13516 return invalidParams 13517 } 13518 return nil 13519} 13520 13521// SetAccessControlPolicy sets the AccessControlPolicy field's value. 13522func (s *S3SetObjectAclOperation) SetAccessControlPolicy(v *S3AccessControlPolicy) *S3SetObjectAclOperation { 13523 s.AccessControlPolicy = v 13524 return s 13525} 13526 13527// Contains the configuration for an S3 Object Lock legal hold operation that 13528// an S3 Batch Operations job passes every object to the underlying PutObjectLegalHold 13529// API. For more information, see Using S3 Object Lock legal hold with S3 Batch 13530// Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-legal-hold.html) 13531// in the Amazon Simple Storage Service User Guide. 13532type S3SetObjectLegalHoldOperation struct { 13533 _ struct{} `type:"structure"` 13534 13535 // Contains the Object Lock legal hold status to be applied to all objects in 13536 // the Batch Operations job. 13537 // 13538 // LegalHold is a required field 13539 LegalHold *S3ObjectLockLegalHold `type:"structure" required:"true"` 13540} 13541 13542// String returns the string representation 13543func (s S3SetObjectLegalHoldOperation) String() string { 13544 return awsutil.Prettify(s) 13545} 13546 13547// GoString returns the string representation 13548func (s S3SetObjectLegalHoldOperation) GoString() string { 13549 return s.String() 13550} 13551 13552// Validate inspects the fields of the type to determine if they are valid. 13553func (s *S3SetObjectLegalHoldOperation) Validate() error { 13554 invalidParams := request.ErrInvalidParams{Context: "S3SetObjectLegalHoldOperation"} 13555 if s.LegalHold == nil { 13556 invalidParams.Add(request.NewErrParamRequired("LegalHold")) 13557 } 13558 if s.LegalHold != nil { 13559 if err := s.LegalHold.Validate(); err != nil { 13560 invalidParams.AddNested("LegalHold", err.(request.ErrInvalidParams)) 13561 } 13562 } 13563 13564 if invalidParams.Len() > 0 { 13565 return invalidParams 13566 } 13567 return nil 13568} 13569 13570// SetLegalHold sets the LegalHold field's value. 13571func (s *S3SetObjectLegalHoldOperation) SetLegalHold(v *S3ObjectLockLegalHold) *S3SetObjectLegalHoldOperation { 13572 s.LegalHold = v 13573 return s 13574} 13575 13576// Contains the configuration parameters for the Object Lock retention action 13577// for an S3 Batch Operations job. Batch Operations passes every object to the 13578// underlying PutObjectRetention API. For more information, see Using S3 Object 13579// Lock retention with S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html) 13580// in the Amazon Simple Storage Service User Guide. 13581type S3SetObjectRetentionOperation struct { 13582 _ struct{} `type:"structure"` 13583 13584 // Indicates if the action should be applied to objects in the Batch Operations 13585 // job even if they have Object Lock GOVERNANCE type in place. 13586 BypassGovernanceRetention *bool `type:"boolean"` 13587 13588 // Contains the Object Lock retention mode to be applied to all objects in the 13589 // Batch Operations job. For more information, see Using S3 Object Lock retention 13590 // with S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html) 13591 // in the Amazon Simple Storage Service User Guide. 13592 // 13593 // Retention is a required field 13594 Retention *S3Retention `type:"structure" required:"true"` 13595} 13596 13597// String returns the string representation 13598func (s S3SetObjectRetentionOperation) String() string { 13599 return awsutil.Prettify(s) 13600} 13601 13602// GoString returns the string representation 13603func (s S3SetObjectRetentionOperation) GoString() string { 13604 return s.String() 13605} 13606 13607// Validate inspects the fields of the type to determine if they are valid. 13608func (s *S3SetObjectRetentionOperation) Validate() error { 13609 invalidParams := request.ErrInvalidParams{Context: "S3SetObjectRetentionOperation"} 13610 if s.Retention == nil { 13611 invalidParams.Add(request.NewErrParamRequired("Retention")) 13612 } 13613 13614 if invalidParams.Len() > 0 { 13615 return invalidParams 13616 } 13617 return nil 13618} 13619 13620// SetBypassGovernanceRetention sets the BypassGovernanceRetention field's value. 13621func (s *S3SetObjectRetentionOperation) SetBypassGovernanceRetention(v bool) *S3SetObjectRetentionOperation { 13622 s.BypassGovernanceRetention = &v 13623 return s 13624} 13625 13626// SetRetention sets the Retention field's value. 13627func (s *S3SetObjectRetentionOperation) SetRetention(v *S3Retention) *S3SetObjectRetentionOperation { 13628 s.Retention = v 13629 return s 13630} 13631 13632// Contains the configuration parameters for a Set Object Tagging operation. 13633// S3 Batch Operations passes every object to the underlying PUT Object tagging 13634// API. For more information about the parameters for this operation, see PUT 13635// Object tagging (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUTtagging.html). 13636type S3SetObjectTaggingOperation struct { 13637 _ struct{} `type:"structure"` 13638 13639 TagSet []*S3Tag `type:"list"` 13640} 13641 13642// String returns the string representation 13643func (s S3SetObjectTaggingOperation) String() string { 13644 return awsutil.Prettify(s) 13645} 13646 13647// GoString returns the string representation 13648func (s S3SetObjectTaggingOperation) GoString() string { 13649 return s.String() 13650} 13651 13652// Validate inspects the fields of the type to determine if they are valid. 13653func (s *S3SetObjectTaggingOperation) Validate() error { 13654 invalidParams := request.ErrInvalidParams{Context: "S3SetObjectTaggingOperation"} 13655 if s.TagSet != nil { 13656 for i, v := range s.TagSet { 13657 if v == nil { 13658 continue 13659 } 13660 if err := v.Validate(); err != nil { 13661 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagSet", i), err.(request.ErrInvalidParams)) 13662 } 13663 } 13664 } 13665 13666 if invalidParams.Len() > 0 { 13667 return invalidParams 13668 } 13669 return nil 13670} 13671 13672// SetTagSet sets the TagSet field's value. 13673func (s *S3SetObjectTaggingOperation) SetTagSet(v []*S3Tag) *S3SetObjectTaggingOperation { 13674 s.TagSet = v 13675 return s 13676} 13677 13678type S3Tag struct { 13679 _ struct{} `type:"structure"` 13680 13681 // Key is a required field 13682 Key *string `min:"1" type:"string" required:"true"` 13683 13684 // Value is a required field 13685 Value *string `type:"string" required:"true"` 13686} 13687 13688// String returns the string representation 13689func (s S3Tag) String() string { 13690 return awsutil.Prettify(s) 13691} 13692 13693// GoString returns the string representation 13694func (s S3Tag) GoString() string { 13695 return s.String() 13696} 13697 13698// Validate inspects the fields of the type to determine if they are valid. 13699func (s *S3Tag) Validate() error { 13700 invalidParams := request.ErrInvalidParams{Context: "S3Tag"} 13701 if s.Key == nil { 13702 invalidParams.Add(request.NewErrParamRequired("Key")) 13703 } 13704 if s.Key != nil && len(*s.Key) < 1 { 13705 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 13706 } 13707 if s.Value == nil { 13708 invalidParams.Add(request.NewErrParamRequired("Value")) 13709 } 13710 13711 if invalidParams.Len() > 0 { 13712 return invalidParams 13713 } 13714 return nil 13715} 13716 13717// SetKey sets the Key field's value. 13718func (s *S3Tag) SetKey(v string) *S3Tag { 13719 s.Key = &v 13720 return s 13721} 13722 13723// SetValue sets the Value field's value. 13724func (s *S3Tag) SetValue(v string) *S3Tag { 13725 s.Value = &v 13726 return s 13727} 13728 13729type SSEKMS struct { 13730 _ struct{} `locationName:"SSE-KMS" type:"structure"` 13731 13732 // A container for the ARN of the SSE-KMS encryption. This property is read-only 13733 // and follows the following format: arn:aws:kms:us-east-1:example-account-id:key/example-9a73-4afc-8d29-8f5900cef44e 13734 // 13735 // KeyId is a required field 13736 KeyId *string `type:"string" required:"true"` 13737} 13738 13739// String returns the string representation 13740func (s SSEKMS) String() string { 13741 return awsutil.Prettify(s) 13742} 13743 13744// GoString returns the string representation 13745func (s SSEKMS) GoString() string { 13746 return s.String() 13747} 13748 13749// Validate inspects the fields of the type to determine if they are valid. 13750func (s *SSEKMS) Validate() error { 13751 invalidParams := request.ErrInvalidParams{Context: "SSEKMS"} 13752 if s.KeyId == nil { 13753 invalidParams.Add(request.NewErrParamRequired("KeyId")) 13754 } 13755 13756 if invalidParams.Len() > 0 { 13757 return invalidParams 13758 } 13759 return nil 13760} 13761 13762// SetKeyId sets the KeyId field's value. 13763func (s *SSEKMS) SetKeyId(v string) *SSEKMS { 13764 s.KeyId = &v 13765 return s 13766} 13767 13768type SSES3 struct { 13769 _ struct{} `locationName:"SSE-S3" type:"structure"` 13770} 13771 13772// String returns the string representation 13773func (s SSES3) String() string { 13774 return awsutil.Prettify(s) 13775} 13776 13777// GoString returns the string representation 13778func (s SSES3) GoString() string { 13779 return s.String() 13780} 13781 13782type SelectionCriteria struct { 13783 _ struct{} `type:"structure"` 13784 13785 // A container for the delimiter of the selection criteria being used. 13786 Delimiter *string `type:"string"` 13787 13788 // The max depth of the selection criteria 13789 MaxDepth *int64 `min:"1" type:"integer"` 13790 13791 // The minimum number of storage bytes percentage whose metrics will be selected. 13792 // 13793 // You must choose a value greater than or equal to 1.0. 13794 MinStorageBytesPercentage *float64 `min:"0.1" type:"double"` 13795} 13796 13797// String returns the string representation 13798func (s SelectionCriteria) String() string { 13799 return awsutil.Prettify(s) 13800} 13801 13802// GoString returns the string representation 13803func (s SelectionCriteria) GoString() string { 13804 return s.String() 13805} 13806 13807// Validate inspects the fields of the type to determine if they are valid. 13808func (s *SelectionCriteria) Validate() error { 13809 invalidParams := request.ErrInvalidParams{Context: "SelectionCriteria"} 13810 if s.MaxDepth != nil && *s.MaxDepth < 1 { 13811 invalidParams.Add(request.NewErrParamMinValue("MaxDepth", 1)) 13812 } 13813 if s.MinStorageBytesPercentage != nil && *s.MinStorageBytesPercentage < 0.1 { 13814 invalidParams.Add(request.NewErrParamMinValue("MinStorageBytesPercentage", 0.1)) 13815 } 13816 13817 if invalidParams.Len() > 0 { 13818 return invalidParams 13819 } 13820 return nil 13821} 13822 13823// SetDelimiter sets the Delimiter field's value. 13824func (s *SelectionCriteria) SetDelimiter(v string) *SelectionCriteria { 13825 s.Delimiter = &v 13826 return s 13827} 13828 13829// SetMaxDepth sets the MaxDepth field's value. 13830func (s *SelectionCriteria) SetMaxDepth(v int64) *SelectionCriteria { 13831 s.MaxDepth = &v 13832 return s 13833} 13834 13835// SetMinStorageBytesPercentage sets the MinStorageBytesPercentage field's value. 13836func (s *SelectionCriteria) SetMinStorageBytesPercentage(v float64) *SelectionCriteria { 13837 s.MinStorageBytesPercentage = &v 13838 return s 13839} 13840 13841// The AWS organization for your S3 Storage Lens. 13842type StorageLensAwsOrg struct { 13843 _ struct{} `type:"structure"` 13844 13845 // A container for the Amazon Resource Name (ARN) of the AWS organization. This 13846 // property is read-only and follows the following format: arn:aws:organizations:us-east-1:example-account-id:organization/o-ex2l495dck 13847 // 13848 // Arn is a required field 13849 Arn *string `min:"1" type:"string" required:"true"` 13850} 13851 13852// String returns the string representation 13853func (s StorageLensAwsOrg) String() string { 13854 return awsutil.Prettify(s) 13855} 13856 13857// GoString returns the string representation 13858func (s StorageLensAwsOrg) GoString() string { 13859 return s.String() 13860} 13861 13862// Validate inspects the fields of the type to determine if they are valid. 13863func (s *StorageLensAwsOrg) Validate() error { 13864 invalidParams := request.ErrInvalidParams{Context: "StorageLensAwsOrg"} 13865 if s.Arn == nil { 13866 invalidParams.Add(request.NewErrParamRequired("Arn")) 13867 } 13868 if s.Arn != nil && len(*s.Arn) < 1 { 13869 invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) 13870 } 13871 13872 if invalidParams.Len() > 0 { 13873 return invalidParams 13874 } 13875 return nil 13876} 13877 13878// SetArn sets the Arn field's value. 13879func (s *StorageLensAwsOrg) SetArn(v string) *StorageLensAwsOrg { 13880 s.Arn = &v 13881 return s 13882} 13883 13884// A container for the Amazon S3 Storage Lens configuration. 13885type StorageLensConfiguration struct { 13886 _ struct{} `type:"structure"` 13887 13888 // A container for all the account-level configurations of your S3 Storage Lens 13889 // configuration. 13890 // 13891 // AccountLevel is a required field 13892 AccountLevel *AccountLevel `type:"structure" required:"true"` 13893 13894 // A container for the AWS organization for this S3 Storage Lens configuration. 13895 AwsOrg *StorageLensAwsOrg `type:"structure"` 13896 13897 // A container to specify the properties of your S3 Storage Lens metrics export 13898 // including, the destination, schema and format. 13899 DataExport *StorageLensDataExport `type:"structure"` 13900 13901 // A container for what is excluded in this configuration. This container can 13902 // only be valid if there is no Include container submitted, and it's not empty. 13903 Exclude *Exclude `type:"structure"` 13904 13905 // A container for the Amazon S3 Storage Lens configuration ID. 13906 // 13907 // Id is a required field 13908 Id *string `min:"1" type:"string" required:"true"` 13909 13910 // A container for what is included in this configuration. This container can 13911 // only be valid if there is no Exclude container submitted, and it's not empty. 13912 Include *Include `type:"structure"` 13913 13914 // A container for whether the S3 Storage Lens configuration is enabled. 13915 // 13916 // IsEnabled is a required field 13917 IsEnabled *bool `type:"boolean" required:"true"` 13918 13919 // The Amazon Resource Name (ARN) of the S3 Storage Lens configuration. This 13920 // property is read-only and follows the following format: arn:aws:s3:us-east-1:example-account-id:storage-lens/your-dashboard-name 13921 StorageLensArn *string `min:"1" type:"string"` 13922} 13923 13924// String returns the string representation 13925func (s StorageLensConfiguration) String() string { 13926 return awsutil.Prettify(s) 13927} 13928 13929// GoString returns the string representation 13930func (s StorageLensConfiguration) GoString() string { 13931 return s.String() 13932} 13933 13934// Validate inspects the fields of the type to determine if they are valid. 13935func (s *StorageLensConfiguration) Validate() error { 13936 invalidParams := request.ErrInvalidParams{Context: "StorageLensConfiguration"} 13937 if s.AccountLevel == nil { 13938 invalidParams.Add(request.NewErrParamRequired("AccountLevel")) 13939 } 13940 if s.Id == nil { 13941 invalidParams.Add(request.NewErrParamRequired("Id")) 13942 } 13943 if s.Id != nil && len(*s.Id) < 1 { 13944 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 13945 } 13946 if s.IsEnabled == nil { 13947 invalidParams.Add(request.NewErrParamRequired("IsEnabled")) 13948 } 13949 if s.StorageLensArn != nil && len(*s.StorageLensArn) < 1 { 13950 invalidParams.Add(request.NewErrParamMinLen("StorageLensArn", 1)) 13951 } 13952 if s.AccountLevel != nil { 13953 if err := s.AccountLevel.Validate(); err != nil { 13954 invalidParams.AddNested("AccountLevel", err.(request.ErrInvalidParams)) 13955 } 13956 } 13957 if s.AwsOrg != nil { 13958 if err := s.AwsOrg.Validate(); err != nil { 13959 invalidParams.AddNested("AwsOrg", err.(request.ErrInvalidParams)) 13960 } 13961 } 13962 if s.DataExport != nil { 13963 if err := s.DataExport.Validate(); err != nil { 13964 invalidParams.AddNested("DataExport", err.(request.ErrInvalidParams)) 13965 } 13966 } 13967 13968 if invalidParams.Len() > 0 { 13969 return invalidParams 13970 } 13971 return nil 13972} 13973 13974// SetAccountLevel sets the AccountLevel field's value. 13975func (s *StorageLensConfiguration) SetAccountLevel(v *AccountLevel) *StorageLensConfiguration { 13976 s.AccountLevel = v 13977 return s 13978} 13979 13980// SetAwsOrg sets the AwsOrg field's value. 13981func (s *StorageLensConfiguration) SetAwsOrg(v *StorageLensAwsOrg) *StorageLensConfiguration { 13982 s.AwsOrg = v 13983 return s 13984} 13985 13986// SetDataExport sets the DataExport field's value. 13987func (s *StorageLensConfiguration) SetDataExport(v *StorageLensDataExport) *StorageLensConfiguration { 13988 s.DataExport = v 13989 return s 13990} 13991 13992// SetExclude sets the Exclude field's value. 13993func (s *StorageLensConfiguration) SetExclude(v *Exclude) *StorageLensConfiguration { 13994 s.Exclude = v 13995 return s 13996} 13997 13998// SetId sets the Id field's value. 13999func (s *StorageLensConfiguration) SetId(v string) *StorageLensConfiguration { 14000 s.Id = &v 14001 return s 14002} 14003 14004// SetInclude sets the Include field's value. 14005func (s *StorageLensConfiguration) SetInclude(v *Include) *StorageLensConfiguration { 14006 s.Include = v 14007 return s 14008} 14009 14010// SetIsEnabled sets the IsEnabled field's value. 14011func (s *StorageLensConfiguration) SetIsEnabled(v bool) *StorageLensConfiguration { 14012 s.IsEnabled = &v 14013 return s 14014} 14015 14016// SetStorageLensArn sets the StorageLensArn field's value. 14017func (s *StorageLensConfiguration) SetStorageLensArn(v string) *StorageLensConfiguration { 14018 s.StorageLensArn = &v 14019 return s 14020} 14021 14022// A container to specify the properties of your S3 Storage Lens metrics export, 14023// including the destination, schema, and format. 14024type StorageLensDataExport struct { 14025 _ struct{} `type:"structure"` 14026 14027 // A container for the bucket where the S3 Storage Lens metrics export will 14028 // be located. 14029 // 14030 // This bucket must be located in the same Region as the storage lens configuration. 14031 // 14032 // S3BucketDestination is a required field 14033 S3BucketDestination *S3BucketDestination `type:"structure" required:"true"` 14034} 14035 14036// String returns the string representation 14037func (s StorageLensDataExport) String() string { 14038 return awsutil.Prettify(s) 14039} 14040 14041// GoString returns the string representation 14042func (s StorageLensDataExport) GoString() string { 14043 return s.String() 14044} 14045 14046// Validate inspects the fields of the type to determine if they are valid. 14047func (s *StorageLensDataExport) Validate() error { 14048 invalidParams := request.ErrInvalidParams{Context: "StorageLensDataExport"} 14049 if s.S3BucketDestination == nil { 14050 invalidParams.Add(request.NewErrParamRequired("S3BucketDestination")) 14051 } 14052 if s.S3BucketDestination != nil { 14053 if err := s.S3BucketDestination.Validate(); err != nil { 14054 invalidParams.AddNested("S3BucketDestination", err.(request.ErrInvalidParams)) 14055 } 14056 } 14057 14058 if invalidParams.Len() > 0 { 14059 return invalidParams 14060 } 14061 return nil 14062} 14063 14064// SetS3BucketDestination sets the S3BucketDestination field's value. 14065func (s *StorageLensDataExport) SetS3BucketDestination(v *S3BucketDestination) *StorageLensDataExport { 14066 s.S3BucketDestination = v 14067 return s 14068} 14069 14070// A container for the encryption of the S3 Storage Lens metrics exports. 14071type StorageLensDataExportEncryption struct { 14072 _ struct{} `type:"structure"` 14073 14074 SSEKMS *SSEKMS `locationName:"SSE-KMS" type:"structure"` 14075 14076 SSES3 *SSES3 `locationName:"SSE-S3" type:"structure"` 14077} 14078 14079// String returns the string representation 14080func (s StorageLensDataExportEncryption) String() string { 14081 return awsutil.Prettify(s) 14082} 14083 14084// GoString returns the string representation 14085func (s StorageLensDataExportEncryption) GoString() string { 14086 return s.String() 14087} 14088 14089// Validate inspects the fields of the type to determine if they are valid. 14090func (s *StorageLensDataExportEncryption) Validate() error { 14091 invalidParams := request.ErrInvalidParams{Context: "StorageLensDataExportEncryption"} 14092 if s.SSEKMS != nil { 14093 if err := s.SSEKMS.Validate(); err != nil { 14094 invalidParams.AddNested("SSEKMS", err.(request.ErrInvalidParams)) 14095 } 14096 } 14097 14098 if invalidParams.Len() > 0 { 14099 return invalidParams 14100 } 14101 return nil 14102} 14103 14104// SetSSEKMS sets the SSEKMS field's value. 14105func (s *StorageLensDataExportEncryption) SetSSEKMS(v *SSEKMS) *StorageLensDataExportEncryption { 14106 s.SSEKMS = v 14107 return s 14108} 14109 14110// SetSSES3 sets the SSES3 field's value. 14111func (s *StorageLensDataExportEncryption) SetSSES3(v *SSES3) *StorageLensDataExportEncryption { 14112 s.SSES3 = v 14113 return s 14114} 14115 14116type StorageLensTag struct { 14117 _ struct{} `type:"structure"` 14118 14119 // Key is a required field 14120 Key *string `min:"1" type:"string" required:"true"` 14121 14122 // Value is a required field 14123 Value *string `type:"string" required:"true"` 14124} 14125 14126// String returns the string representation 14127func (s StorageLensTag) String() string { 14128 return awsutil.Prettify(s) 14129} 14130 14131// GoString returns the string representation 14132func (s StorageLensTag) GoString() string { 14133 return s.String() 14134} 14135 14136// Validate inspects the fields of the type to determine if they are valid. 14137func (s *StorageLensTag) Validate() error { 14138 invalidParams := request.ErrInvalidParams{Context: "StorageLensTag"} 14139 if s.Key == nil { 14140 invalidParams.Add(request.NewErrParamRequired("Key")) 14141 } 14142 if s.Key != nil && len(*s.Key) < 1 { 14143 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 14144 } 14145 if s.Value == nil { 14146 invalidParams.Add(request.NewErrParamRequired("Value")) 14147 } 14148 14149 if invalidParams.Len() > 0 { 14150 return invalidParams 14151 } 14152 return nil 14153} 14154 14155// SetKey sets the Key field's value. 14156func (s *StorageLensTag) SetKey(v string) *StorageLensTag { 14157 s.Key = &v 14158 return s 14159} 14160 14161// SetValue sets the Value field's value. 14162func (s *StorageLensTag) SetValue(v string) *StorageLensTag { 14163 s.Value = &v 14164 return s 14165} 14166 14167type Tagging struct { 14168 _ struct{} `type:"structure"` 14169 14170 // A collection for a set of tags. 14171 // 14172 // TagSet is a required field 14173 TagSet []*S3Tag `type:"list" required:"true"` 14174} 14175 14176// String returns the string representation 14177func (s Tagging) String() string { 14178 return awsutil.Prettify(s) 14179} 14180 14181// GoString returns the string representation 14182func (s Tagging) GoString() string { 14183 return s.String() 14184} 14185 14186// Validate inspects the fields of the type to determine if they are valid. 14187func (s *Tagging) Validate() error { 14188 invalidParams := request.ErrInvalidParams{Context: "Tagging"} 14189 if s.TagSet == nil { 14190 invalidParams.Add(request.NewErrParamRequired("TagSet")) 14191 } 14192 if s.TagSet != nil { 14193 for i, v := range s.TagSet { 14194 if v == nil { 14195 continue 14196 } 14197 if err := v.Validate(); err != nil { 14198 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagSet", i), err.(request.ErrInvalidParams)) 14199 } 14200 } 14201 } 14202 14203 if invalidParams.Len() > 0 { 14204 return invalidParams 14205 } 14206 return nil 14207} 14208 14209// SetTagSet sets the TagSet field's value. 14210func (s *Tagging) SetTagSet(v []*S3Tag) *Tagging { 14211 s.TagSet = v 14212 return s 14213} 14214 14215// Specifies when an object transitions to a specified storage class. For more 14216// information about Amazon S3 Lifecycle configuration rules, see Transitioning 14217// objects using Amazon S3 Lifecycle (https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html) 14218// in the Amazon Simple Storage Service User Guide. 14219type Transition struct { 14220 _ struct{} `type:"structure"` 14221 14222 // Indicates when objects are transitioned to the specified storage class. The 14223 // date value must be in ISO 8601 format. The time is always midnight UTC. 14224 Date *time.Time `type:"timestamp"` 14225 14226 // Indicates the number of days after creation when objects are transitioned 14227 // to the specified storage class. The value must be a positive integer. 14228 Days *int64 `type:"integer"` 14229 14230 // The storage class to which you want the object to transition. 14231 StorageClass *string `type:"string" enum:"TransitionStorageClass"` 14232} 14233 14234// String returns the string representation 14235func (s Transition) String() string { 14236 return awsutil.Prettify(s) 14237} 14238 14239// GoString returns the string representation 14240func (s Transition) GoString() string { 14241 return s.String() 14242} 14243 14244// SetDate sets the Date field's value. 14245func (s *Transition) SetDate(v time.Time) *Transition { 14246 s.Date = &v 14247 return s 14248} 14249 14250// SetDays sets the Days field's value. 14251func (s *Transition) SetDays(v int64) *Transition { 14252 s.Days = &v 14253 return s 14254} 14255 14256// SetStorageClass sets the StorageClass field's value. 14257func (s *Transition) SetStorageClass(v string) *Transition { 14258 s.StorageClass = &v 14259 return s 14260} 14261 14262type UpdateJobPriorityInput struct { 14263 _ struct{} `locationName:"UpdateJobPriorityRequest" type:"structure"` 14264 14265 // The AWS account ID associated with the S3 Batch Operations job. 14266 // 14267 // AccountId is a required field 14268 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 14269 14270 // The ID for the job whose priority you want to update. 14271 // 14272 // JobId is a required field 14273 JobId *string `location:"uri" locationName:"id" min:"5" type:"string" required:"true"` 14274 14275 // The priority you want to assign to this job. 14276 // 14277 // Priority is a required field 14278 Priority *int64 `location:"querystring" locationName:"priority" type:"integer" required:"true"` 14279} 14280 14281// String returns the string representation 14282func (s UpdateJobPriorityInput) String() string { 14283 return awsutil.Prettify(s) 14284} 14285 14286// GoString returns the string representation 14287func (s UpdateJobPriorityInput) GoString() string { 14288 return s.String() 14289} 14290 14291// Validate inspects the fields of the type to determine if they are valid. 14292func (s *UpdateJobPriorityInput) Validate() error { 14293 invalidParams := request.ErrInvalidParams{Context: "UpdateJobPriorityInput"} 14294 if s.AccountId == nil { 14295 invalidParams.Add(request.NewErrParamRequired("AccountId")) 14296 } 14297 if s.AccountId != nil && len(*s.AccountId) < 1 { 14298 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 14299 } 14300 if s.JobId == nil { 14301 invalidParams.Add(request.NewErrParamRequired("JobId")) 14302 } 14303 if s.JobId != nil && len(*s.JobId) < 5 { 14304 invalidParams.Add(request.NewErrParamMinLen("JobId", 5)) 14305 } 14306 if s.Priority == nil { 14307 invalidParams.Add(request.NewErrParamRequired("Priority")) 14308 } 14309 14310 if invalidParams.Len() > 0 { 14311 return invalidParams 14312 } 14313 return nil 14314} 14315 14316// SetAccountId sets the AccountId field's value. 14317func (s *UpdateJobPriorityInput) SetAccountId(v string) *UpdateJobPriorityInput { 14318 s.AccountId = &v 14319 return s 14320} 14321 14322// SetJobId sets the JobId field's value. 14323func (s *UpdateJobPriorityInput) SetJobId(v string) *UpdateJobPriorityInput { 14324 s.JobId = &v 14325 return s 14326} 14327 14328// SetPriority sets the Priority field's value. 14329func (s *UpdateJobPriorityInput) SetPriority(v int64) *UpdateJobPriorityInput { 14330 s.Priority = &v 14331 return s 14332} 14333 14334func (s *UpdateJobPriorityInput) hostLabels() map[string]string { 14335 return map[string]string{ 14336 "AccountId": aws.StringValue(s.AccountId), 14337 } 14338} 14339 14340type UpdateJobPriorityOutput struct { 14341 _ struct{} `type:"structure"` 14342 14343 // The ID for the job whose priority Amazon S3 updated. 14344 // 14345 // JobId is a required field 14346 JobId *string `min:"5" type:"string" required:"true"` 14347 14348 // The new priority assigned to the specified job. 14349 // 14350 // Priority is a required field 14351 Priority *int64 `type:"integer" required:"true"` 14352} 14353 14354// String returns the string representation 14355func (s UpdateJobPriorityOutput) String() string { 14356 return awsutil.Prettify(s) 14357} 14358 14359// GoString returns the string representation 14360func (s UpdateJobPriorityOutput) GoString() string { 14361 return s.String() 14362} 14363 14364// SetJobId sets the JobId field's value. 14365func (s *UpdateJobPriorityOutput) SetJobId(v string) *UpdateJobPriorityOutput { 14366 s.JobId = &v 14367 return s 14368} 14369 14370// SetPriority sets the Priority field's value. 14371func (s *UpdateJobPriorityOutput) SetPriority(v int64) *UpdateJobPriorityOutput { 14372 s.Priority = &v 14373 return s 14374} 14375 14376type UpdateJobStatusInput struct { 14377 _ struct{} `locationName:"UpdateJobStatusRequest" type:"structure"` 14378 14379 // The AWS account ID associated with the S3 Batch Operations job. 14380 // 14381 // AccountId is a required field 14382 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 14383 14384 // The ID of the job whose status you want to update. 14385 // 14386 // JobId is a required field 14387 JobId *string `location:"uri" locationName:"id" min:"5" type:"string" required:"true"` 14388 14389 // The status that you want to move the specified job to. 14390 // 14391 // RequestedJobStatus is a required field 14392 RequestedJobStatus *string `location:"querystring" locationName:"requestedJobStatus" type:"string" required:"true" enum:"RequestedJobStatus"` 14393 14394 // A description of the reason why you want to change the specified job's status. 14395 // This field can be any string up to the maximum length. 14396 StatusUpdateReason *string `location:"querystring" locationName:"statusUpdateReason" min:"1" type:"string"` 14397} 14398 14399// String returns the string representation 14400func (s UpdateJobStatusInput) String() string { 14401 return awsutil.Prettify(s) 14402} 14403 14404// GoString returns the string representation 14405func (s UpdateJobStatusInput) GoString() string { 14406 return s.String() 14407} 14408 14409// Validate inspects the fields of the type to determine if they are valid. 14410func (s *UpdateJobStatusInput) Validate() error { 14411 invalidParams := request.ErrInvalidParams{Context: "UpdateJobStatusInput"} 14412 if s.AccountId == nil { 14413 invalidParams.Add(request.NewErrParamRequired("AccountId")) 14414 } 14415 if s.AccountId != nil && len(*s.AccountId) < 1 { 14416 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 14417 } 14418 if s.JobId == nil { 14419 invalidParams.Add(request.NewErrParamRequired("JobId")) 14420 } 14421 if s.JobId != nil && len(*s.JobId) < 5 { 14422 invalidParams.Add(request.NewErrParamMinLen("JobId", 5)) 14423 } 14424 if s.RequestedJobStatus == nil { 14425 invalidParams.Add(request.NewErrParamRequired("RequestedJobStatus")) 14426 } 14427 if s.StatusUpdateReason != nil && len(*s.StatusUpdateReason) < 1 { 14428 invalidParams.Add(request.NewErrParamMinLen("StatusUpdateReason", 1)) 14429 } 14430 14431 if invalidParams.Len() > 0 { 14432 return invalidParams 14433 } 14434 return nil 14435} 14436 14437// SetAccountId sets the AccountId field's value. 14438func (s *UpdateJobStatusInput) SetAccountId(v string) *UpdateJobStatusInput { 14439 s.AccountId = &v 14440 return s 14441} 14442 14443// SetJobId sets the JobId field's value. 14444func (s *UpdateJobStatusInput) SetJobId(v string) *UpdateJobStatusInput { 14445 s.JobId = &v 14446 return s 14447} 14448 14449// SetRequestedJobStatus sets the RequestedJobStatus field's value. 14450func (s *UpdateJobStatusInput) SetRequestedJobStatus(v string) *UpdateJobStatusInput { 14451 s.RequestedJobStatus = &v 14452 return s 14453} 14454 14455// SetStatusUpdateReason sets the StatusUpdateReason field's value. 14456func (s *UpdateJobStatusInput) SetStatusUpdateReason(v string) *UpdateJobStatusInput { 14457 s.StatusUpdateReason = &v 14458 return s 14459} 14460 14461func (s *UpdateJobStatusInput) hostLabels() map[string]string { 14462 return map[string]string{ 14463 "AccountId": aws.StringValue(s.AccountId), 14464 } 14465} 14466 14467type UpdateJobStatusOutput struct { 14468 _ struct{} `type:"structure"` 14469 14470 // The ID for the job whose status was updated. 14471 JobId *string `min:"5" type:"string"` 14472 14473 // The current status for the specified job. 14474 Status *string `type:"string" enum:"JobStatus"` 14475 14476 // The reason that the specified job's status was updated. 14477 StatusUpdateReason *string `min:"1" type:"string"` 14478} 14479 14480// String returns the string representation 14481func (s UpdateJobStatusOutput) String() string { 14482 return awsutil.Prettify(s) 14483} 14484 14485// GoString returns the string representation 14486func (s UpdateJobStatusOutput) GoString() string { 14487 return s.String() 14488} 14489 14490// SetJobId sets the JobId field's value. 14491func (s *UpdateJobStatusOutput) SetJobId(v string) *UpdateJobStatusOutput { 14492 s.JobId = &v 14493 return s 14494} 14495 14496// SetStatus sets the Status field's value. 14497func (s *UpdateJobStatusOutput) SetStatus(v string) *UpdateJobStatusOutput { 14498 s.Status = &v 14499 return s 14500} 14501 14502// SetStatusUpdateReason sets the StatusUpdateReason field's value. 14503func (s *UpdateJobStatusOutput) SetStatusUpdateReason(v string) *UpdateJobStatusOutput { 14504 s.StatusUpdateReason = &v 14505 return s 14506} 14507 14508// The virtual private cloud (VPC) configuration for an access point. 14509type VpcConfiguration struct { 14510 _ struct{} `type:"structure"` 14511 14512 // If this field is specified, this access point will only allow connections 14513 // from the specified VPC ID. 14514 // 14515 // VpcId is a required field 14516 VpcId *string `min:"1" type:"string" required:"true"` 14517} 14518 14519// String returns the string representation 14520func (s VpcConfiguration) String() string { 14521 return awsutil.Prettify(s) 14522} 14523 14524// GoString returns the string representation 14525func (s VpcConfiguration) GoString() string { 14526 return s.String() 14527} 14528 14529// Validate inspects the fields of the type to determine if they are valid. 14530func (s *VpcConfiguration) Validate() error { 14531 invalidParams := request.ErrInvalidParams{Context: "VpcConfiguration"} 14532 if s.VpcId == nil { 14533 invalidParams.Add(request.NewErrParamRequired("VpcId")) 14534 } 14535 if s.VpcId != nil && len(*s.VpcId) < 1 { 14536 invalidParams.Add(request.NewErrParamMinLen("VpcId", 1)) 14537 } 14538 14539 if invalidParams.Len() > 0 { 14540 return invalidParams 14541 } 14542 return nil 14543} 14544 14545// SetVpcId sets the VpcId field's value. 14546func (s *VpcConfiguration) SetVpcId(v string) *VpcConfiguration { 14547 s.VpcId = &v 14548 return s 14549} 14550 14551const ( 14552 // BucketCannedACLPrivate is a BucketCannedACL enum value 14553 BucketCannedACLPrivate = "private" 14554 14555 // BucketCannedACLPublicRead is a BucketCannedACL enum value 14556 BucketCannedACLPublicRead = "public-read" 14557 14558 // BucketCannedACLPublicReadWrite is a BucketCannedACL enum value 14559 BucketCannedACLPublicReadWrite = "public-read-write" 14560 14561 // BucketCannedACLAuthenticatedRead is a BucketCannedACL enum value 14562 BucketCannedACLAuthenticatedRead = "authenticated-read" 14563) 14564 14565// BucketCannedACL_Values returns all elements of the BucketCannedACL enum 14566func BucketCannedACL_Values() []string { 14567 return []string{ 14568 BucketCannedACLPrivate, 14569 BucketCannedACLPublicRead, 14570 BucketCannedACLPublicReadWrite, 14571 BucketCannedACLAuthenticatedRead, 14572 } 14573} 14574 14575const ( 14576 // BucketLocationConstraintEu is a BucketLocationConstraint enum value 14577 BucketLocationConstraintEu = "EU" 14578 14579 // BucketLocationConstraintEuWest1 is a BucketLocationConstraint enum value 14580 BucketLocationConstraintEuWest1 = "eu-west-1" 14581 14582 // BucketLocationConstraintUsWest1 is a BucketLocationConstraint enum value 14583 BucketLocationConstraintUsWest1 = "us-west-1" 14584 14585 // BucketLocationConstraintUsWest2 is a BucketLocationConstraint enum value 14586 BucketLocationConstraintUsWest2 = "us-west-2" 14587 14588 // BucketLocationConstraintApSouth1 is a BucketLocationConstraint enum value 14589 BucketLocationConstraintApSouth1 = "ap-south-1" 14590 14591 // BucketLocationConstraintApSoutheast1 is a BucketLocationConstraint enum value 14592 BucketLocationConstraintApSoutheast1 = "ap-southeast-1" 14593 14594 // BucketLocationConstraintApSoutheast2 is a BucketLocationConstraint enum value 14595 BucketLocationConstraintApSoutheast2 = "ap-southeast-2" 14596 14597 // BucketLocationConstraintApNortheast1 is a BucketLocationConstraint enum value 14598 BucketLocationConstraintApNortheast1 = "ap-northeast-1" 14599 14600 // BucketLocationConstraintSaEast1 is a BucketLocationConstraint enum value 14601 BucketLocationConstraintSaEast1 = "sa-east-1" 14602 14603 // BucketLocationConstraintCnNorth1 is a BucketLocationConstraint enum value 14604 BucketLocationConstraintCnNorth1 = "cn-north-1" 14605 14606 // BucketLocationConstraintEuCentral1 is a BucketLocationConstraint enum value 14607 BucketLocationConstraintEuCentral1 = "eu-central-1" 14608) 14609 14610// BucketLocationConstraint_Values returns all elements of the BucketLocationConstraint enum 14611func BucketLocationConstraint_Values() []string { 14612 return []string{ 14613 BucketLocationConstraintEu, 14614 BucketLocationConstraintEuWest1, 14615 BucketLocationConstraintUsWest1, 14616 BucketLocationConstraintUsWest2, 14617 BucketLocationConstraintApSouth1, 14618 BucketLocationConstraintApSoutheast1, 14619 BucketLocationConstraintApSoutheast2, 14620 BucketLocationConstraintApNortheast1, 14621 BucketLocationConstraintSaEast1, 14622 BucketLocationConstraintCnNorth1, 14623 BucketLocationConstraintEuCentral1, 14624 } 14625} 14626 14627const ( 14628 // ExpirationStatusEnabled is a ExpirationStatus enum value 14629 ExpirationStatusEnabled = "Enabled" 14630 14631 // ExpirationStatusDisabled is a ExpirationStatus enum value 14632 ExpirationStatusDisabled = "Disabled" 14633) 14634 14635// ExpirationStatus_Values returns all elements of the ExpirationStatus enum 14636func ExpirationStatus_Values() []string { 14637 return []string{ 14638 ExpirationStatusEnabled, 14639 ExpirationStatusDisabled, 14640 } 14641} 14642 14643const ( 14644 // FormatCsv is a Format enum value 14645 FormatCsv = "CSV" 14646 14647 // FormatParquet is a Format enum value 14648 FormatParquet = "Parquet" 14649) 14650 14651// Format_Values returns all elements of the Format enum 14652func Format_Values() []string { 14653 return []string{ 14654 FormatCsv, 14655 FormatParquet, 14656 } 14657} 14658 14659const ( 14660 // JobManifestFieldNameIgnore is a JobManifestFieldName enum value 14661 JobManifestFieldNameIgnore = "Ignore" 14662 14663 // JobManifestFieldNameBucket is a JobManifestFieldName enum value 14664 JobManifestFieldNameBucket = "Bucket" 14665 14666 // JobManifestFieldNameKey is a JobManifestFieldName enum value 14667 JobManifestFieldNameKey = "Key" 14668 14669 // JobManifestFieldNameVersionId is a JobManifestFieldName enum value 14670 JobManifestFieldNameVersionId = "VersionId" 14671) 14672 14673// JobManifestFieldName_Values returns all elements of the JobManifestFieldName enum 14674func JobManifestFieldName_Values() []string { 14675 return []string{ 14676 JobManifestFieldNameIgnore, 14677 JobManifestFieldNameBucket, 14678 JobManifestFieldNameKey, 14679 JobManifestFieldNameVersionId, 14680 } 14681} 14682 14683const ( 14684 // JobManifestFormatS3batchOperationsCsv20180820 is a JobManifestFormat enum value 14685 JobManifestFormatS3batchOperationsCsv20180820 = "S3BatchOperations_CSV_20180820" 14686 14687 // JobManifestFormatS3inventoryReportCsv20161130 is a JobManifestFormat enum value 14688 JobManifestFormatS3inventoryReportCsv20161130 = "S3InventoryReport_CSV_20161130" 14689) 14690 14691// JobManifestFormat_Values returns all elements of the JobManifestFormat enum 14692func JobManifestFormat_Values() []string { 14693 return []string{ 14694 JobManifestFormatS3batchOperationsCsv20180820, 14695 JobManifestFormatS3inventoryReportCsv20161130, 14696 } 14697} 14698 14699const ( 14700 // JobReportFormatReportCsv20180820 is a JobReportFormat enum value 14701 JobReportFormatReportCsv20180820 = "Report_CSV_20180820" 14702) 14703 14704// JobReportFormat_Values returns all elements of the JobReportFormat enum 14705func JobReportFormat_Values() []string { 14706 return []string{ 14707 JobReportFormatReportCsv20180820, 14708 } 14709} 14710 14711const ( 14712 // JobReportScopeAllTasks is a JobReportScope enum value 14713 JobReportScopeAllTasks = "AllTasks" 14714 14715 // JobReportScopeFailedTasksOnly is a JobReportScope enum value 14716 JobReportScopeFailedTasksOnly = "FailedTasksOnly" 14717) 14718 14719// JobReportScope_Values returns all elements of the JobReportScope enum 14720func JobReportScope_Values() []string { 14721 return []string{ 14722 JobReportScopeAllTasks, 14723 JobReportScopeFailedTasksOnly, 14724 } 14725} 14726 14727const ( 14728 // JobStatusActive is a JobStatus enum value 14729 JobStatusActive = "Active" 14730 14731 // JobStatusCancelled is a JobStatus enum value 14732 JobStatusCancelled = "Cancelled" 14733 14734 // JobStatusCancelling is a JobStatus enum value 14735 JobStatusCancelling = "Cancelling" 14736 14737 // JobStatusComplete is a JobStatus enum value 14738 JobStatusComplete = "Complete" 14739 14740 // JobStatusCompleting is a JobStatus enum value 14741 JobStatusCompleting = "Completing" 14742 14743 // JobStatusFailed is a JobStatus enum value 14744 JobStatusFailed = "Failed" 14745 14746 // JobStatusFailing is a JobStatus enum value 14747 JobStatusFailing = "Failing" 14748 14749 // JobStatusNew is a JobStatus enum value 14750 JobStatusNew = "New" 14751 14752 // JobStatusPaused is a JobStatus enum value 14753 JobStatusPaused = "Paused" 14754 14755 // JobStatusPausing is a JobStatus enum value 14756 JobStatusPausing = "Pausing" 14757 14758 // JobStatusPreparing is a JobStatus enum value 14759 JobStatusPreparing = "Preparing" 14760 14761 // JobStatusReady is a JobStatus enum value 14762 JobStatusReady = "Ready" 14763 14764 // JobStatusSuspended is a JobStatus enum value 14765 JobStatusSuspended = "Suspended" 14766) 14767 14768// JobStatus_Values returns all elements of the JobStatus enum 14769func JobStatus_Values() []string { 14770 return []string{ 14771 JobStatusActive, 14772 JobStatusCancelled, 14773 JobStatusCancelling, 14774 JobStatusComplete, 14775 JobStatusCompleting, 14776 JobStatusFailed, 14777 JobStatusFailing, 14778 JobStatusNew, 14779 JobStatusPaused, 14780 JobStatusPausing, 14781 JobStatusPreparing, 14782 JobStatusReady, 14783 JobStatusSuspended, 14784 } 14785} 14786 14787const ( 14788 // NetworkOriginInternet is a NetworkOrigin enum value 14789 NetworkOriginInternet = "Internet" 14790 14791 // NetworkOriginVpc is a NetworkOrigin enum value 14792 NetworkOriginVpc = "VPC" 14793) 14794 14795// NetworkOrigin_Values returns all elements of the NetworkOrigin enum 14796func NetworkOrigin_Values() []string { 14797 return []string{ 14798 NetworkOriginInternet, 14799 NetworkOriginVpc, 14800 } 14801} 14802 14803const ( 14804 // ObjectLambdaAllowedFeatureGetObjectRange is a ObjectLambdaAllowedFeature enum value 14805 ObjectLambdaAllowedFeatureGetObjectRange = "GetObject-Range" 14806 14807 // ObjectLambdaAllowedFeatureGetObjectPartNumber is a ObjectLambdaAllowedFeature enum value 14808 ObjectLambdaAllowedFeatureGetObjectPartNumber = "GetObject-PartNumber" 14809) 14810 14811// ObjectLambdaAllowedFeature_Values returns all elements of the ObjectLambdaAllowedFeature enum 14812func ObjectLambdaAllowedFeature_Values() []string { 14813 return []string{ 14814 ObjectLambdaAllowedFeatureGetObjectRange, 14815 ObjectLambdaAllowedFeatureGetObjectPartNumber, 14816 } 14817} 14818 14819const ( 14820 // ObjectLambdaTransformationConfigurationActionGetObject is a ObjectLambdaTransformationConfigurationAction enum value 14821 ObjectLambdaTransformationConfigurationActionGetObject = "GetObject" 14822) 14823 14824// ObjectLambdaTransformationConfigurationAction_Values returns all elements of the ObjectLambdaTransformationConfigurationAction enum 14825func ObjectLambdaTransformationConfigurationAction_Values() []string { 14826 return []string{ 14827 ObjectLambdaTransformationConfigurationActionGetObject, 14828 } 14829} 14830 14831const ( 14832 // OperationNameLambdaInvoke is a OperationName enum value 14833 OperationNameLambdaInvoke = "LambdaInvoke" 14834 14835 // OperationNameS3putObjectCopy is a OperationName enum value 14836 OperationNameS3putObjectCopy = "S3PutObjectCopy" 14837 14838 // OperationNameS3putObjectAcl is a OperationName enum value 14839 OperationNameS3putObjectAcl = "S3PutObjectAcl" 14840 14841 // OperationNameS3putObjectTagging is a OperationName enum value 14842 OperationNameS3putObjectTagging = "S3PutObjectTagging" 14843 14844 // OperationNameS3deleteObjectTagging is a OperationName enum value 14845 OperationNameS3deleteObjectTagging = "S3DeleteObjectTagging" 14846 14847 // OperationNameS3initiateRestoreObject is a OperationName enum value 14848 OperationNameS3initiateRestoreObject = "S3InitiateRestoreObject" 14849 14850 // OperationNameS3putObjectLegalHold is a OperationName enum value 14851 OperationNameS3putObjectLegalHold = "S3PutObjectLegalHold" 14852 14853 // OperationNameS3putObjectRetention is a OperationName enum value 14854 OperationNameS3putObjectRetention = "S3PutObjectRetention" 14855) 14856 14857// OperationName_Values returns all elements of the OperationName enum 14858func OperationName_Values() []string { 14859 return []string{ 14860 OperationNameLambdaInvoke, 14861 OperationNameS3putObjectCopy, 14862 OperationNameS3putObjectAcl, 14863 OperationNameS3putObjectTagging, 14864 OperationNameS3deleteObjectTagging, 14865 OperationNameS3initiateRestoreObject, 14866 OperationNameS3putObjectLegalHold, 14867 OperationNameS3putObjectRetention, 14868 } 14869} 14870 14871const ( 14872 // OutputSchemaVersionV1 is a OutputSchemaVersion enum value 14873 OutputSchemaVersionV1 = "V_1" 14874) 14875 14876// OutputSchemaVersion_Values returns all elements of the OutputSchemaVersion enum 14877func OutputSchemaVersion_Values() []string { 14878 return []string{ 14879 OutputSchemaVersionV1, 14880 } 14881} 14882 14883const ( 14884 // RequestedJobStatusCancelled is a RequestedJobStatus enum value 14885 RequestedJobStatusCancelled = "Cancelled" 14886 14887 // RequestedJobStatusReady is a RequestedJobStatus enum value 14888 RequestedJobStatusReady = "Ready" 14889) 14890 14891// RequestedJobStatus_Values returns all elements of the RequestedJobStatus enum 14892func RequestedJobStatus_Values() []string { 14893 return []string{ 14894 RequestedJobStatusCancelled, 14895 RequestedJobStatusReady, 14896 } 14897} 14898 14899const ( 14900 // S3CannedAccessControlListPrivate is a S3CannedAccessControlList enum value 14901 S3CannedAccessControlListPrivate = "private" 14902 14903 // S3CannedAccessControlListPublicRead is a S3CannedAccessControlList enum value 14904 S3CannedAccessControlListPublicRead = "public-read" 14905 14906 // S3CannedAccessControlListPublicReadWrite is a S3CannedAccessControlList enum value 14907 S3CannedAccessControlListPublicReadWrite = "public-read-write" 14908 14909 // S3CannedAccessControlListAwsExecRead is a S3CannedAccessControlList enum value 14910 S3CannedAccessControlListAwsExecRead = "aws-exec-read" 14911 14912 // S3CannedAccessControlListAuthenticatedRead is a S3CannedAccessControlList enum value 14913 S3CannedAccessControlListAuthenticatedRead = "authenticated-read" 14914 14915 // S3CannedAccessControlListBucketOwnerRead is a S3CannedAccessControlList enum value 14916 S3CannedAccessControlListBucketOwnerRead = "bucket-owner-read" 14917 14918 // S3CannedAccessControlListBucketOwnerFullControl is a S3CannedAccessControlList enum value 14919 S3CannedAccessControlListBucketOwnerFullControl = "bucket-owner-full-control" 14920) 14921 14922// S3CannedAccessControlList_Values returns all elements of the S3CannedAccessControlList enum 14923func S3CannedAccessControlList_Values() []string { 14924 return []string{ 14925 S3CannedAccessControlListPrivate, 14926 S3CannedAccessControlListPublicRead, 14927 S3CannedAccessControlListPublicReadWrite, 14928 S3CannedAccessControlListAwsExecRead, 14929 S3CannedAccessControlListAuthenticatedRead, 14930 S3CannedAccessControlListBucketOwnerRead, 14931 S3CannedAccessControlListBucketOwnerFullControl, 14932 } 14933} 14934 14935const ( 14936 // S3GlacierJobTierBulk is a S3GlacierJobTier enum value 14937 S3GlacierJobTierBulk = "BULK" 14938 14939 // S3GlacierJobTierStandard is a S3GlacierJobTier enum value 14940 S3GlacierJobTierStandard = "STANDARD" 14941) 14942 14943// S3GlacierJobTier_Values returns all elements of the S3GlacierJobTier enum 14944func S3GlacierJobTier_Values() []string { 14945 return []string{ 14946 S3GlacierJobTierBulk, 14947 S3GlacierJobTierStandard, 14948 } 14949} 14950 14951const ( 14952 // S3GranteeTypeIdentifierId is a S3GranteeTypeIdentifier enum value 14953 S3GranteeTypeIdentifierId = "id" 14954 14955 // S3GranteeTypeIdentifierEmailAddress is a S3GranteeTypeIdentifier enum value 14956 S3GranteeTypeIdentifierEmailAddress = "emailAddress" 14957 14958 // S3GranteeTypeIdentifierUri is a S3GranteeTypeIdentifier enum value 14959 S3GranteeTypeIdentifierUri = "uri" 14960) 14961 14962// S3GranteeTypeIdentifier_Values returns all elements of the S3GranteeTypeIdentifier enum 14963func S3GranteeTypeIdentifier_Values() []string { 14964 return []string{ 14965 S3GranteeTypeIdentifierId, 14966 S3GranteeTypeIdentifierEmailAddress, 14967 S3GranteeTypeIdentifierUri, 14968 } 14969} 14970 14971const ( 14972 // S3MetadataDirectiveCopy is a S3MetadataDirective enum value 14973 S3MetadataDirectiveCopy = "COPY" 14974 14975 // S3MetadataDirectiveReplace is a S3MetadataDirective enum value 14976 S3MetadataDirectiveReplace = "REPLACE" 14977) 14978 14979// S3MetadataDirective_Values returns all elements of the S3MetadataDirective enum 14980func S3MetadataDirective_Values() []string { 14981 return []string{ 14982 S3MetadataDirectiveCopy, 14983 S3MetadataDirectiveReplace, 14984 } 14985} 14986 14987const ( 14988 // S3ObjectLockLegalHoldStatusOff is a S3ObjectLockLegalHoldStatus enum value 14989 S3ObjectLockLegalHoldStatusOff = "OFF" 14990 14991 // S3ObjectLockLegalHoldStatusOn is a S3ObjectLockLegalHoldStatus enum value 14992 S3ObjectLockLegalHoldStatusOn = "ON" 14993) 14994 14995// S3ObjectLockLegalHoldStatus_Values returns all elements of the S3ObjectLockLegalHoldStatus enum 14996func S3ObjectLockLegalHoldStatus_Values() []string { 14997 return []string{ 14998 S3ObjectLockLegalHoldStatusOff, 14999 S3ObjectLockLegalHoldStatusOn, 15000 } 15001} 15002 15003const ( 15004 // S3ObjectLockModeCompliance is a S3ObjectLockMode enum value 15005 S3ObjectLockModeCompliance = "COMPLIANCE" 15006 15007 // S3ObjectLockModeGovernance is a S3ObjectLockMode enum value 15008 S3ObjectLockModeGovernance = "GOVERNANCE" 15009) 15010 15011// S3ObjectLockMode_Values returns all elements of the S3ObjectLockMode enum 15012func S3ObjectLockMode_Values() []string { 15013 return []string{ 15014 S3ObjectLockModeCompliance, 15015 S3ObjectLockModeGovernance, 15016 } 15017} 15018 15019const ( 15020 // S3ObjectLockRetentionModeCompliance is a S3ObjectLockRetentionMode enum value 15021 S3ObjectLockRetentionModeCompliance = "COMPLIANCE" 15022 15023 // S3ObjectLockRetentionModeGovernance is a S3ObjectLockRetentionMode enum value 15024 S3ObjectLockRetentionModeGovernance = "GOVERNANCE" 15025) 15026 15027// S3ObjectLockRetentionMode_Values returns all elements of the S3ObjectLockRetentionMode enum 15028func S3ObjectLockRetentionMode_Values() []string { 15029 return []string{ 15030 S3ObjectLockRetentionModeCompliance, 15031 S3ObjectLockRetentionModeGovernance, 15032 } 15033} 15034 15035const ( 15036 // S3PermissionFullControl is a S3Permission enum value 15037 S3PermissionFullControl = "FULL_CONTROL" 15038 15039 // S3PermissionRead is a S3Permission enum value 15040 S3PermissionRead = "READ" 15041 15042 // S3PermissionWrite is a S3Permission enum value 15043 S3PermissionWrite = "WRITE" 15044 15045 // S3PermissionReadAcp is a S3Permission enum value 15046 S3PermissionReadAcp = "READ_ACP" 15047 15048 // S3PermissionWriteAcp is a S3Permission enum value 15049 S3PermissionWriteAcp = "WRITE_ACP" 15050) 15051 15052// S3Permission_Values returns all elements of the S3Permission enum 15053func S3Permission_Values() []string { 15054 return []string{ 15055 S3PermissionFullControl, 15056 S3PermissionRead, 15057 S3PermissionWrite, 15058 S3PermissionReadAcp, 15059 S3PermissionWriteAcp, 15060 } 15061} 15062 15063const ( 15064 // S3SSEAlgorithmAes256 is a S3SSEAlgorithm enum value 15065 S3SSEAlgorithmAes256 = "AES256" 15066 15067 // S3SSEAlgorithmKms is a S3SSEAlgorithm enum value 15068 S3SSEAlgorithmKms = "KMS" 15069) 15070 15071// S3SSEAlgorithm_Values returns all elements of the S3SSEAlgorithm enum 15072func S3SSEAlgorithm_Values() []string { 15073 return []string{ 15074 S3SSEAlgorithmAes256, 15075 S3SSEAlgorithmKms, 15076 } 15077} 15078 15079const ( 15080 // S3StorageClassStandard is a S3StorageClass enum value 15081 S3StorageClassStandard = "STANDARD" 15082 15083 // S3StorageClassStandardIa is a S3StorageClass enum value 15084 S3StorageClassStandardIa = "STANDARD_IA" 15085 15086 // S3StorageClassOnezoneIa is a S3StorageClass enum value 15087 S3StorageClassOnezoneIa = "ONEZONE_IA" 15088 15089 // S3StorageClassGlacier is a S3StorageClass enum value 15090 S3StorageClassGlacier = "GLACIER" 15091 15092 // S3StorageClassIntelligentTiering is a S3StorageClass enum value 15093 S3StorageClassIntelligentTiering = "INTELLIGENT_TIERING" 15094 15095 // S3StorageClassDeepArchive is a S3StorageClass enum value 15096 S3StorageClassDeepArchive = "DEEP_ARCHIVE" 15097) 15098 15099// S3StorageClass_Values returns all elements of the S3StorageClass enum 15100func S3StorageClass_Values() []string { 15101 return []string{ 15102 S3StorageClassStandard, 15103 S3StorageClassStandardIa, 15104 S3StorageClassOnezoneIa, 15105 S3StorageClassGlacier, 15106 S3StorageClassIntelligentTiering, 15107 S3StorageClassDeepArchive, 15108 } 15109} 15110 15111const ( 15112 // TransitionStorageClassGlacier is a TransitionStorageClass enum value 15113 TransitionStorageClassGlacier = "GLACIER" 15114 15115 // TransitionStorageClassStandardIa is a TransitionStorageClass enum value 15116 TransitionStorageClassStandardIa = "STANDARD_IA" 15117 15118 // TransitionStorageClassOnezoneIa is a TransitionStorageClass enum value 15119 TransitionStorageClassOnezoneIa = "ONEZONE_IA" 15120 15121 // TransitionStorageClassIntelligentTiering is a TransitionStorageClass enum value 15122 TransitionStorageClassIntelligentTiering = "INTELLIGENT_TIERING" 15123 15124 // TransitionStorageClassDeepArchive is a TransitionStorageClass enum value 15125 TransitionStorageClassDeepArchive = "DEEP_ARCHIVE" 15126) 15127 15128// TransitionStorageClass_Values returns all elements of the TransitionStorageClass enum 15129func TransitionStorageClass_Values() []string { 15130 return []string{ 15131 TransitionStorageClassGlacier, 15132 TransitionStorageClassStandardIa, 15133 TransitionStorageClassOnezoneIa, 15134 TransitionStorageClassIntelligentTiering, 15135 TransitionStorageClassDeepArchive, 15136 } 15137} 15138