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 S3 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 S3 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 S3 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 S3 API Reference. 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 S3 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 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 S3 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 S3 API Reference. 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 S3 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 S3 API Reference. 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 S3 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 S3 API Reference. 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 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 S3 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 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 S3 API Reference. 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 S3 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 S3 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 account. For more information, 1379// 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 S3 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 S3 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 S3 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 S3 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 S3 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 S3 User 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 S3 User Guide. 2318// 2319// If you are using an identity other than the root user of the account that 2320// 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 S3 API Reference. 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 S3 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 S3 API Reference. 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 S3 User Guide. 2546// 2547// If you are using an identity other than the root user of the account that 2548// owns the bucket, the calling identity must have the GetBucketPolicy permissions 2549// on the specified bucket and belong to the bucket owner's account in order 2550// 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 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 S3 API Reference. 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 S3 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 S3 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 account. For more information, 2859// 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 S3 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 S3 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 S3 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 S3 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 account making the request. For more information, see 3425// S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html) 3426// in the Amazon S3 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 S3 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 S3 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 S3 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 S3 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 S3 API Reference. 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 S3 API Reference. 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 S3 User Guide. 4241// 4242// If you are using an identity other than the root user of the account that 4243// 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 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 S3 API Reference. 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 S3 User Guide. 4363// 4364// Use tags to organize your Amazon Web Services bill to reflect your own cost 4365// structure. To do this, sign up to get your account bill with tag key values 4366// included. Then, to see the cost of combined resources, organize your billing 4367// information according to resources with the same tag key values. For example, 4368// you can tag several resources with a specific application name, and then 4369// organize your billing information to see the total cost of that application 4370// across several services. For more information, see Cost allocation and tagging 4371// (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html). 4372// 4373// Within a bucket, if you add a tag that has the same key as an existing tag, 4374// the new value overwrites the old value. For more information, see Using cost 4375// allocation in Amazon S3 bucket tags (https://docs.aws.amazon.com/AmazonS3/latest/userguide/CostAllocTagging.html). 4376// 4377// To use this action, you must have permissions to perform the s3-outposts:PutBucketTagging 4378// action. The Outposts bucket owner has this permission by default and can 4379// grant this permission to others. For more information about permissions, 4380// 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) 4381// and Managing access permissions to your Amazon S3 resources (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html). 4382// 4383// PutBucketTagging has the following special errors: 4384// 4385// * Error code: InvalidTagError Description: The tag provided was not a 4386// valid tag. This error can occur if the tag did not pass input validation. 4387// For information about tag restrictions, see User-Defined Tag Restrictions 4388// (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html) 4389// and Amazon Web Services-Generated Cost Allocation Tag Restrictions (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/aws-tag-restrictions.html). 4390// 4391// * Error code: MalformedXMLError Description: The XML provided does not 4392// match the schema. 4393// 4394// * Error code: OperationAbortedError Description: A conflicting conditional 4395// action is currently in progress against this resource. Try again. 4396// 4397// * Error code: InternalError Description: The service was unable to apply 4398// the provided tag to the bucket. 4399// 4400// All Amazon S3 on Outposts REST API requests for this action require an additional 4401// parameter of x-amz-outpost-id to be passed with the request and an S3 on 4402// Outposts endpoint hostname prefix instead of s3-control. For an example of 4403// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 4404// endpoint hostname prefix and the x-amz-outpost-id derived using the access 4405// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketTagging.html#API_control_PutBucketTagging_Examples) 4406// section. 4407// 4408// The following actions are related to PutBucketTagging: 4409// 4410// * GetBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketTagging.html) 4411// 4412// * DeleteBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketTagging.html) 4413// 4414// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4415// with awserr.Error's Code and Message methods to get detailed information about 4416// the error. 4417// 4418// See the AWS API reference guide for AWS S3 Control's 4419// API operation PutBucketTagging for usage and error information. 4420// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketTagging 4421func (c *S3Control) PutBucketTagging(input *PutBucketTaggingInput) (*PutBucketTaggingOutput, error) { 4422 req, out := c.PutBucketTaggingRequest(input) 4423 return out, req.Send() 4424} 4425 4426// PutBucketTaggingWithContext is the same as PutBucketTagging with the addition of 4427// the ability to pass a context and additional request options. 4428// 4429// See PutBucketTagging for details on how to use this API operation. 4430// 4431// The context must be non-nil and will be used for request cancellation. If 4432// the context is nil a panic will occur. In the future the SDK may create 4433// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4434// for more information on using Contexts. 4435func (c *S3Control) PutBucketTaggingWithContext(ctx aws.Context, input *PutBucketTaggingInput, opts ...request.Option) (*PutBucketTaggingOutput, error) { 4436 req, out := c.PutBucketTaggingRequest(input) 4437 req.SetContext(ctx) 4438 req.ApplyOptions(opts...) 4439 return out, req.Send() 4440} 4441 4442const opPutJobTagging = "PutJobTagging" 4443 4444// PutJobTaggingRequest generates a "aws/request.Request" representing the 4445// client's request for the PutJobTagging operation. The "output" return 4446// value will be populated with the request's response once the request completes 4447// successfully. 4448// 4449// Use "Send" method on the returned Request to send the API call to the service. 4450// the "output" return value is not valid until after Send returns without error. 4451// 4452// See PutJobTagging for more information on using the PutJobTagging 4453// API call, and error handling. 4454// 4455// This method is useful when you want to inject custom logic or configuration 4456// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4457// 4458// 4459// // Example sending a request using the PutJobTaggingRequest method. 4460// req, resp := client.PutJobTaggingRequest(params) 4461// 4462// err := req.Send() 4463// if err == nil { // resp is now filled 4464// fmt.Println(resp) 4465// } 4466// 4467// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutJobTagging 4468func (c *S3Control) PutJobTaggingRequest(input *PutJobTaggingInput) (req *request.Request, output *PutJobTaggingOutput) { 4469 op := &request.Operation{ 4470 Name: opPutJobTagging, 4471 HTTPMethod: "PUT", 4472 HTTPPath: "/v20180820/jobs/{id}/tagging", 4473 } 4474 4475 if input == nil { 4476 input = &PutJobTaggingInput{} 4477 } 4478 4479 output = &PutJobTaggingOutput{} 4480 req = c.newRequest(op, input, output) 4481 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4482 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 4483 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 4484 return 4485} 4486 4487// PutJobTagging API operation for AWS S3 Control. 4488// 4489// Sets the supplied tag-set on an S3 Batch Operations job. 4490// 4491// A tag is a key-value pair. You can associate S3 Batch Operations tags with 4492// any job by sending a PUT request against the tagging subresource that is 4493// associated with the job. To modify the existing tag set, you can either replace 4494// the existing tag set entirely, or make changes within the existing tag set 4495// by retrieving the existing tag set using GetJobTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetJobTagging.html), 4496// modify that tag set, and use this action to replace the tag set with the 4497// one you modified. For more information, see Controlling access and labeling 4498// jobs using tags (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-managing-jobs.html#batch-ops-job-tags) 4499// in the Amazon S3 User Guide. 4500// 4501// * If you send this request with an empty tag set, Amazon S3 deletes the 4502// existing tag set on the Batch Operations job. If you use this method, 4503// you are charged for a Tier 1 Request (PUT). For more information, see 4504// Amazon S3 pricing (http://aws.amazon.com/s3/pricing/). 4505// 4506// * For deleting existing tags for your Batch Operations job, a DeleteJobTagging 4507// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteJobTagging.html) 4508// request is preferred because it achieves the same result without incurring 4509// charges. 4510// 4511// * A few things to consider about using tags: Amazon S3 limits the maximum 4512// number of tags to 50 tags per job. You can associate up to 50 tags with 4513// a job as long as they have unique tag keys. A tag key can be up to 128 4514// Unicode characters in length, and tag values can be up to 256 Unicode 4515// characters in length. The key and values are case sensitive. For tagging-related 4516// restrictions related to characters and encodings, see User-Defined Tag 4517// Restrictions (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html) 4518// in the Billing and Cost Management User Guide. 4519// 4520// To use this action, you must have permission to perform the s3:PutJobTagging 4521// action. 4522// 4523// Related actions include: 4524// 4525// * CreatJob (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html) 4526// 4527// * GetJobTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetJobTagging.html) 4528// 4529// * DeleteJobTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteJobTagging.html) 4530// 4531// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4532// with awserr.Error's Code and Message methods to get detailed information about 4533// the error. 4534// 4535// See the AWS API reference guide for AWS S3 Control's 4536// API operation PutJobTagging for usage and error information. 4537// 4538// Returned Error Codes: 4539// * ErrCodeInternalServiceException "InternalServiceException" 4540// 4541// * ErrCodeTooManyRequestsException "TooManyRequestsException" 4542// 4543// * ErrCodeNotFoundException "NotFoundException" 4544// 4545// * ErrCodeTooManyTagsException "TooManyTagsException" 4546// Amazon S3 throws this exception if you have too many tags in your tag set. 4547// 4548// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutJobTagging 4549func (c *S3Control) PutJobTagging(input *PutJobTaggingInput) (*PutJobTaggingOutput, error) { 4550 req, out := c.PutJobTaggingRequest(input) 4551 return out, req.Send() 4552} 4553 4554// PutJobTaggingWithContext is the same as PutJobTagging with the addition of 4555// the ability to pass a context and additional request options. 4556// 4557// See PutJobTagging for details on how to use this API operation. 4558// 4559// The context must be non-nil and will be used for request cancellation. If 4560// the context is nil a panic will occur. In the future the SDK may create 4561// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4562// for more information on using Contexts. 4563func (c *S3Control) PutJobTaggingWithContext(ctx aws.Context, input *PutJobTaggingInput, opts ...request.Option) (*PutJobTaggingOutput, error) { 4564 req, out := c.PutJobTaggingRequest(input) 4565 req.SetContext(ctx) 4566 req.ApplyOptions(opts...) 4567 return out, req.Send() 4568} 4569 4570const opPutPublicAccessBlock = "PutPublicAccessBlock" 4571 4572// PutPublicAccessBlockRequest generates a "aws/request.Request" representing the 4573// client's request for the PutPublicAccessBlock operation. The "output" return 4574// value will be populated with the request's response once the request completes 4575// successfully. 4576// 4577// Use "Send" method on the returned Request to send the API call to the service. 4578// the "output" return value is not valid until after Send returns without error. 4579// 4580// See PutPublicAccessBlock for more information on using the PutPublicAccessBlock 4581// API call, and error handling. 4582// 4583// This method is useful when you want to inject custom logic or configuration 4584// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4585// 4586// 4587// // Example sending a request using the PutPublicAccessBlockRequest method. 4588// req, resp := client.PutPublicAccessBlockRequest(params) 4589// 4590// err := req.Send() 4591// if err == nil { // resp is now filled 4592// fmt.Println(resp) 4593// } 4594// 4595// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutPublicAccessBlock 4596func (c *S3Control) PutPublicAccessBlockRequest(input *PutPublicAccessBlockInput) (req *request.Request, output *PutPublicAccessBlockOutput) { 4597 op := &request.Operation{ 4598 Name: opPutPublicAccessBlock, 4599 HTTPMethod: "PUT", 4600 HTTPPath: "/v20180820/configuration/publicAccessBlock", 4601 } 4602 4603 if input == nil { 4604 input = &PutPublicAccessBlockInput{} 4605 } 4606 4607 output = &PutPublicAccessBlockOutput{} 4608 req = c.newRequest(op, input, output) 4609 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4610 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 4611 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 4612 return 4613} 4614 4615// PutPublicAccessBlock API operation for AWS S3 Control. 4616// 4617// Creates or modifies the PublicAccessBlock configuration for an account. For 4618// more information, see Using Amazon S3 block public access (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html). 4619// 4620// Related actions include: 4621// 4622// * GetPublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetPublicAccessBlock.html) 4623// 4624// * DeletePublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeletePublicAccessBlock.html) 4625// 4626// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4627// with awserr.Error's Code and Message methods to get detailed information about 4628// the error. 4629// 4630// See the AWS API reference guide for AWS S3 Control's 4631// API operation PutPublicAccessBlock for usage and error information. 4632// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutPublicAccessBlock 4633func (c *S3Control) PutPublicAccessBlock(input *PutPublicAccessBlockInput) (*PutPublicAccessBlockOutput, error) { 4634 req, out := c.PutPublicAccessBlockRequest(input) 4635 return out, req.Send() 4636} 4637 4638// PutPublicAccessBlockWithContext is the same as PutPublicAccessBlock with the addition of 4639// the ability to pass a context and additional request options. 4640// 4641// See PutPublicAccessBlock for details on how to use this API operation. 4642// 4643// The context must be non-nil and will be used for request cancellation. If 4644// the context is nil a panic will occur. In the future the SDK may create 4645// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4646// for more information on using Contexts. 4647func (c *S3Control) PutPublicAccessBlockWithContext(ctx aws.Context, input *PutPublicAccessBlockInput, opts ...request.Option) (*PutPublicAccessBlockOutput, error) { 4648 req, out := c.PutPublicAccessBlockRequest(input) 4649 req.SetContext(ctx) 4650 req.ApplyOptions(opts...) 4651 return out, req.Send() 4652} 4653 4654const opPutStorageLensConfiguration = "PutStorageLensConfiguration" 4655 4656// PutStorageLensConfigurationRequest generates a "aws/request.Request" representing the 4657// client's request for the PutStorageLensConfiguration operation. The "output" return 4658// value will be populated with the request's response once the request completes 4659// successfully. 4660// 4661// Use "Send" method on the returned Request to send the API call to the service. 4662// the "output" return value is not valid until after Send returns without error. 4663// 4664// See PutStorageLensConfiguration for more information on using the PutStorageLensConfiguration 4665// API call, and error handling. 4666// 4667// This method is useful when you want to inject custom logic or configuration 4668// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4669// 4670// 4671// // Example sending a request using the PutStorageLensConfigurationRequest method. 4672// req, resp := client.PutStorageLensConfigurationRequest(params) 4673// 4674// err := req.Send() 4675// if err == nil { // resp is now filled 4676// fmt.Println(resp) 4677// } 4678// 4679// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutStorageLensConfiguration 4680func (c *S3Control) PutStorageLensConfigurationRequest(input *PutStorageLensConfigurationInput) (req *request.Request, output *PutStorageLensConfigurationOutput) { 4681 op := &request.Operation{ 4682 Name: opPutStorageLensConfiguration, 4683 HTTPMethod: "PUT", 4684 HTTPPath: "/v20180820/storagelens/{storagelensid}", 4685 } 4686 4687 if input == nil { 4688 input = &PutStorageLensConfigurationInput{} 4689 } 4690 4691 output = &PutStorageLensConfigurationOutput{} 4692 req = c.newRequest(op, input, output) 4693 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4694 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 4695 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 4696 return 4697} 4698 4699// PutStorageLensConfiguration API operation for AWS S3 Control. 4700// 4701// Puts an Amazon S3 Storage Lens configuration. For more information about 4702// S3 Storage Lens, see Working with Amazon S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html) 4703// in the Amazon S3 User Guide. 4704// 4705// To use this action, you must have permission to perform the s3:PutStorageLensConfiguration 4706// action. For more information, see Setting permissions to use Amazon S3 Storage 4707// Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html) 4708// in the Amazon S3 User Guide. 4709// 4710// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4711// with awserr.Error's Code and Message methods to get detailed information about 4712// the error. 4713// 4714// See the AWS API reference guide for AWS S3 Control's 4715// API operation PutStorageLensConfiguration for usage and error information. 4716// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutStorageLensConfiguration 4717func (c *S3Control) PutStorageLensConfiguration(input *PutStorageLensConfigurationInput) (*PutStorageLensConfigurationOutput, error) { 4718 req, out := c.PutStorageLensConfigurationRequest(input) 4719 return out, req.Send() 4720} 4721 4722// PutStorageLensConfigurationWithContext is the same as PutStorageLensConfiguration with the addition of 4723// the ability to pass a context and additional request options. 4724// 4725// See PutStorageLensConfiguration for details on how to use this API operation. 4726// 4727// The context must be non-nil and will be used for request cancellation. If 4728// the context is nil a panic will occur. In the future the SDK may create 4729// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4730// for more information on using Contexts. 4731func (c *S3Control) PutStorageLensConfigurationWithContext(ctx aws.Context, input *PutStorageLensConfigurationInput, opts ...request.Option) (*PutStorageLensConfigurationOutput, error) { 4732 req, out := c.PutStorageLensConfigurationRequest(input) 4733 req.SetContext(ctx) 4734 req.ApplyOptions(opts...) 4735 return out, req.Send() 4736} 4737 4738const opPutStorageLensConfigurationTagging = "PutStorageLensConfigurationTagging" 4739 4740// PutStorageLensConfigurationTaggingRequest generates a "aws/request.Request" representing the 4741// client's request for the PutStorageLensConfigurationTagging operation. The "output" return 4742// value will be populated with the request's response once the request completes 4743// successfully. 4744// 4745// Use "Send" method on the returned Request to send the API call to the service. 4746// the "output" return value is not valid until after Send returns without error. 4747// 4748// See PutStorageLensConfigurationTagging for more information on using the PutStorageLensConfigurationTagging 4749// API call, and error handling. 4750// 4751// This method is useful when you want to inject custom logic or configuration 4752// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4753// 4754// 4755// // Example sending a request using the PutStorageLensConfigurationTaggingRequest method. 4756// req, resp := client.PutStorageLensConfigurationTaggingRequest(params) 4757// 4758// err := req.Send() 4759// if err == nil { // resp is now filled 4760// fmt.Println(resp) 4761// } 4762// 4763// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutStorageLensConfigurationTagging 4764func (c *S3Control) PutStorageLensConfigurationTaggingRequest(input *PutStorageLensConfigurationTaggingInput) (req *request.Request, output *PutStorageLensConfigurationTaggingOutput) { 4765 op := &request.Operation{ 4766 Name: opPutStorageLensConfigurationTagging, 4767 HTTPMethod: "PUT", 4768 HTTPPath: "/v20180820/storagelens/{storagelensid}/tagging", 4769 } 4770 4771 if input == nil { 4772 input = &PutStorageLensConfigurationTaggingInput{} 4773 } 4774 4775 output = &PutStorageLensConfigurationTaggingOutput{} 4776 req = c.newRequest(op, input, output) 4777 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4778 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 4779 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 4780 return 4781} 4782 4783// PutStorageLensConfigurationTagging API operation for AWS S3 Control. 4784// 4785// Put or replace tags on an existing Amazon S3 Storage Lens configuration. 4786// For more information about S3 Storage Lens, see Assessing your storage activity 4787// and usage with Amazon S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html) 4788// in the Amazon S3 User Guide. 4789// 4790// To use this action, you must have permission to perform the s3:PutStorageLensConfigurationTagging 4791// action. For more information, see Setting permissions to use Amazon S3 Storage 4792// Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html) 4793// in the Amazon S3 User Guide. 4794// 4795// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4796// with awserr.Error's Code and Message methods to get detailed information about 4797// the error. 4798// 4799// See the AWS API reference guide for AWS S3 Control's 4800// API operation PutStorageLensConfigurationTagging for usage and error information. 4801// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutStorageLensConfigurationTagging 4802func (c *S3Control) PutStorageLensConfigurationTagging(input *PutStorageLensConfigurationTaggingInput) (*PutStorageLensConfigurationTaggingOutput, error) { 4803 req, out := c.PutStorageLensConfigurationTaggingRequest(input) 4804 return out, req.Send() 4805} 4806 4807// PutStorageLensConfigurationTaggingWithContext is the same as PutStorageLensConfigurationTagging with the addition of 4808// the ability to pass a context and additional request options. 4809// 4810// See PutStorageLensConfigurationTagging for details on how to use this API operation. 4811// 4812// The context must be non-nil and will be used for request cancellation. If 4813// the context is nil a panic will occur. In the future the SDK may create 4814// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4815// for more information on using Contexts. 4816func (c *S3Control) PutStorageLensConfigurationTaggingWithContext(ctx aws.Context, input *PutStorageLensConfigurationTaggingInput, opts ...request.Option) (*PutStorageLensConfigurationTaggingOutput, error) { 4817 req, out := c.PutStorageLensConfigurationTaggingRequest(input) 4818 req.SetContext(ctx) 4819 req.ApplyOptions(opts...) 4820 return out, req.Send() 4821} 4822 4823const opUpdateJobPriority = "UpdateJobPriority" 4824 4825// UpdateJobPriorityRequest generates a "aws/request.Request" representing the 4826// client's request for the UpdateJobPriority operation. The "output" return 4827// value will be populated with the request's response once the request completes 4828// successfully. 4829// 4830// Use "Send" method on the returned Request to send the API call to the service. 4831// the "output" return value is not valid until after Send returns without error. 4832// 4833// See UpdateJobPriority for more information on using the UpdateJobPriority 4834// API call, and error handling. 4835// 4836// This method is useful when you want to inject custom logic or configuration 4837// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4838// 4839// 4840// // Example sending a request using the UpdateJobPriorityRequest method. 4841// req, resp := client.UpdateJobPriorityRequest(params) 4842// 4843// err := req.Send() 4844// if err == nil { // resp is now filled 4845// fmt.Println(resp) 4846// } 4847// 4848// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/UpdateJobPriority 4849func (c *S3Control) UpdateJobPriorityRequest(input *UpdateJobPriorityInput) (req *request.Request, output *UpdateJobPriorityOutput) { 4850 op := &request.Operation{ 4851 Name: opUpdateJobPriority, 4852 HTTPMethod: "POST", 4853 HTTPPath: "/v20180820/jobs/{id}/priority", 4854 } 4855 4856 if input == nil { 4857 input = &UpdateJobPriorityInput{} 4858 } 4859 4860 output = &UpdateJobPriorityOutput{} 4861 req = c.newRequest(op, input, output) 4862 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 4863 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 4864 return 4865} 4866 4867// UpdateJobPriority API operation for AWS S3 Control. 4868// 4869// Updates an existing S3 Batch Operations job's priority. For more information, 4870// see S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html) 4871// in the Amazon S3 User Guide. 4872// 4873// Related actions include: 4874// 4875// * CreateJob (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html) 4876// 4877// * ListJobs (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListJobs.html) 4878// 4879// * DescribeJob (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeJob.html) 4880// 4881// * UpdateJobStatus (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobStatus.html) 4882// 4883// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4884// with awserr.Error's Code and Message methods to get detailed information about 4885// the error. 4886// 4887// See the AWS API reference guide for AWS S3 Control's 4888// API operation UpdateJobPriority for usage and error information. 4889// 4890// Returned Error Codes: 4891// * ErrCodeBadRequestException "BadRequestException" 4892// 4893// * ErrCodeTooManyRequestsException "TooManyRequestsException" 4894// 4895// * ErrCodeNotFoundException "NotFoundException" 4896// 4897// * ErrCodeInternalServiceException "InternalServiceException" 4898// 4899// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/UpdateJobPriority 4900func (c *S3Control) UpdateJobPriority(input *UpdateJobPriorityInput) (*UpdateJobPriorityOutput, error) { 4901 req, out := c.UpdateJobPriorityRequest(input) 4902 return out, req.Send() 4903} 4904 4905// UpdateJobPriorityWithContext is the same as UpdateJobPriority with the addition of 4906// the ability to pass a context and additional request options. 4907// 4908// See UpdateJobPriority for details on how to use this API operation. 4909// 4910// The context must be non-nil and will be used for request cancellation. If 4911// the context is nil a panic will occur. In the future the SDK may create 4912// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4913// for more information on using Contexts. 4914func (c *S3Control) UpdateJobPriorityWithContext(ctx aws.Context, input *UpdateJobPriorityInput, opts ...request.Option) (*UpdateJobPriorityOutput, error) { 4915 req, out := c.UpdateJobPriorityRequest(input) 4916 req.SetContext(ctx) 4917 req.ApplyOptions(opts...) 4918 return out, req.Send() 4919} 4920 4921const opUpdateJobStatus = "UpdateJobStatus" 4922 4923// UpdateJobStatusRequest generates a "aws/request.Request" representing the 4924// client's request for the UpdateJobStatus operation. The "output" return 4925// value will be populated with the request's response once the request completes 4926// successfully. 4927// 4928// Use "Send" method on the returned Request to send the API call to the service. 4929// the "output" return value is not valid until after Send returns without error. 4930// 4931// See UpdateJobStatus for more information on using the UpdateJobStatus 4932// API call, and error handling. 4933// 4934// This method is useful when you want to inject custom logic or configuration 4935// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4936// 4937// 4938// // Example sending a request using the UpdateJobStatusRequest method. 4939// req, resp := client.UpdateJobStatusRequest(params) 4940// 4941// err := req.Send() 4942// if err == nil { // resp is now filled 4943// fmt.Println(resp) 4944// } 4945// 4946// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/UpdateJobStatus 4947func (c *S3Control) UpdateJobStatusRequest(input *UpdateJobStatusInput) (req *request.Request, output *UpdateJobStatusOutput) { 4948 op := &request.Operation{ 4949 Name: opUpdateJobStatus, 4950 HTTPMethod: "POST", 4951 HTTPPath: "/v20180820/jobs/{id}/status", 4952 } 4953 4954 if input == nil { 4955 input = &UpdateJobStatusInput{} 4956 } 4957 4958 output = &UpdateJobStatusOutput{} 4959 req = c.newRequest(op, input, output) 4960 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 4961 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 4962 return 4963} 4964 4965// UpdateJobStatus API operation for AWS S3 Control. 4966// 4967// Updates the status for the specified job. Use this action to confirm that 4968// you want to run a job or to cancel an existing job. For more information, 4969// see S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html) 4970// in the Amazon S3 User Guide. 4971// 4972// Related actions include: 4973// 4974// * CreateJob (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html) 4975// 4976// * ListJobs (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListJobs.html) 4977// 4978// * DescribeJob (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeJob.html) 4979// 4980// * UpdateJobStatus (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobStatus.html) 4981// 4982// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4983// with awserr.Error's Code and Message methods to get detailed information about 4984// the error. 4985// 4986// See the AWS API reference guide for AWS S3 Control's 4987// API operation UpdateJobStatus for usage and error information. 4988// 4989// Returned Error Codes: 4990// * ErrCodeBadRequestException "BadRequestException" 4991// 4992// * ErrCodeTooManyRequestsException "TooManyRequestsException" 4993// 4994// * ErrCodeNotFoundException "NotFoundException" 4995// 4996// * ErrCodeJobStatusException "JobStatusException" 4997// 4998// * ErrCodeInternalServiceException "InternalServiceException" 4999// 5000// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/UpdateJobStatus 5001func (c *S3Control) UpdateJobStatus(input *UpdateJobStatusInput) (*UpdateJobStatusOutput, error) { 5002 req, out := c.UpdateJobStatusRequest(input) 5003 return out, req.Send() 5004} 5005 5006// UpdateJobStatusWithContext is the same as UpdateJobStatus with the addition of 5007// the ability to pass a context and additional request options. 5008// 5009// See UpdateJobStatus for details on how to use this API operation. 5010// 5011// The context must be non-nil and will be used for request cancellation. If 5012// the context is nil a panic will occur. In the future the SDK may create 5013// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5014// for more information on using Contexts. 5015func (c *S3Control) UpdateJobStatusWithContext(ctx aws.Context, input *UpdateJobStatusInput, opts ...request.Option) (*UpdateJobStatusOutput, error) { 5016 req, out := c.UpdateJobStatusRequest(input) 5017 req.SetContext(ctx) 5018 req.ApplyOptions(opts...) 5019 return out, req.Send() 5020} 5021 5022// The container for abort incomplete multipart upload 5023type AbortIncompleteMultipartUpload struct { 5024 _ struct{} `type:"structure"` 5025 5026 // Specifies the number of days after which Amazon S3 aborts an incomplete multipart 5027 // upload to the Outposts bucket. 5028 DaysAfterInitiation *int64 `type:"integer"` 5029} 5030 5031// String returns the string representation 5032func (s AbortIncompleteMultipartUpload) String() string { 5033 return awsutil.Prettify(s) 5034} 5035 5036// GoString returns the string representation 5037func (s AbortIncompleteMultipartUpload) GoString() string { 5038 return s.String() 5039} 5040 5041// SetDaysAfterInitiation sets the DaysAfterInitiation field's value. 5042func (s *AbortIncompleteMultipartUpload) SetDaysAfterInitiation(v int64) *AbortIncompleteMultipartUpload { 5043 s.DaysAfterInitiation = &v 5044 return s 5045} 5046 5047// An access point used to access a bucket. 5048type AccessPoint struct { 5049 _ struct{} `type:"structure"` 5050 5051 // The ARN for the access point. 5052 AccessPointArn *string `min:"4" type:"string"` 5053 5054 // The name or alias of the access point. 5055 Alias *string `type:"string"` 5056 5057 // The name of the bucket associated with this access point. 5058 // 5059 // Bucket is a required field 5060 Bucket *string `min:"3" type:"string" required:"true"` 5061 5062 // The name of this access point. 5063 // 5064 // Name is a required field 5065 Name *string `min:"3" type:"string" required:"true"` 5066 5067 // Indicates whether this access point allows access from the public internet. 5068 // If VpcConfiguration is specified for this access point, then NetworkOrigin 5069 // is VPC, and the access point doesn't allow access from the public internet. 5070 // Otherwise, NetworkOrigin is Internet, and the access point allows access 5071 // from the public internet, subject to the access point and bucket access policies. 5072 // 5073 // NetworkOrigin is a required field 5074 NetworkOrigin *string `type:"string" required:"true" enum:"NetworkOrigin"` 5075 5076 // The virtual private cloud (VPC) configuration for this access point, if one 5077 // exists. 5078 // 5079 // This element is empty if this access point is an Amazon S3 on Outposts access 5080 // point that is used by other Amazon Web Services. 5081 VpcConfiguration *VpcConfiguration `type:"structure"` 5082} 5083 5084// String returns the string representation 5085func (s AccessPoint) String() string { 5086 return awsutil.Prettify(s) 5087} 5088 5089// GoString returns the string representation 5090func (s AccessPoint) GoString() string { 5091 return s.String() 5092} 5093 5094// SetAccessPointArn sets the AccessPointArn field's value. 5095func (s *AccessPoint) SetAccessPointArn(v string) *AccessPoint { 5096 s.AccessPointArn = &v 5097 return s 5098} 5099 5100// SetAlias sets the Alias field's value. 5101func (s *AccessPoint) SetAlias(v string) *AccessPoint { 5102 s.Alias = &v 5103 return s 5104} 5105 5106// SetBucket sets the Bucket field's value. 5107func (s *AccessPoint) SetBucket(v string) *AccessPoint { 5108 s.Bucket = &v 5109 return s 5110} 5111 5112// SetName sets the Name field's value. 5113func (s *AccessPoint) SetName(v string) *AccessPoint { 5114 s.Name = &v 5115 return s 5116} 5117 5118// SetNetworkOrigin sets the NetworkOrigin field's value. 5119func (s *AccessPoint) SetNetworkOrigin(v string) *AccessPoint { 5120 s.NetworkOrigin = &v 5121 return s 5122} 5123 5124// SetVpcConfiguration sets the VpcConfiguration field's value. 5125func (s *AccessPoint) SetVpcConfiguration(v *VpcConfiguration) *AccessPoint { 5126 s.VpcConfiguration = v 5127 return s 5128} 5129 5130// A container for the account level Amazon S3 Storage Lens configuration. 5131type AccountLevel struct { 5132 _ struct{} `type:"structure"` 5133 5134 // A container for the S3 Storage Lens activity metrics. 5135 ActivityMetrics *ActivityMetrics `type:"structure"` 5136 5137 // A container for the S3 Storage Lens bucket-level configuration. 5138 // 5139 // BucketLevel is a required field 5140 BucketLevel *BucketLevel `type:"structure" required:"true"` 5141} 5142 5143// String returns the string representation 5144func (s AccountLevel) String() string { 5145 return awsutil.Prettify(s) 5146} 5147 5148// GoString returns the string representation 5149func (s AccountLevel) GoString() string { 5150 return s.String() 5151} 5152 5153// Validate inspects the fields of the type to determine if they are valid. 5154func (s *AccountLevel) Validate() error { 5155 invalidParams := request.ErrInvalidParams{Context: "AccountLevel"} 5156 if s.BucketLevel == nil { 5157 invalidParams.Add(request.NewErrParamRequired("BucketLevel")) 5158 } 5159 if s.BucketLevel != nil { 5160 if err := s.BucketLevel.Validate(); err != nil { 5161 invalidParams.AddNested("BucketLevel", err.(request.ErrInvalidParams)) 5162 } 5163 } 5164 5165 if invalidParams.Len() > 0 { 5166 return invalidParams 5167 } 5168 return nil 5169} 5170 5171// SetActivityMetrics sets the ActivityMetrics field's value. 5172func (s *AccountLevel) SetActivityMetrics(v *ActivityMetrics) *AccountLevel { 5173 s.ActivityMetrics = v 5174 return s 5175} 5176 5177// SetBucketLevel sets the BucketLevel field's value. 5178func (s *AccountLevel) SetBucketLevel(v *BucketLevel) *AccountLevel { 5179 s.BucketLevel = v 5180 return s 5181} 5182 5183// A container for the activity metrics. 5184type ActivityMetrics struct { 5185 _ struct{} `type:"structure"` 5186 5187 // A container for whether the activity metrics are enabled. 5188 IsEnabled *bool `type:"boolean"` 5189} 5190 5191// String returns the string representation 5192func (s ActivityMetrics) String() string { 5193 return awsutil.Prettify(s) 5194} 5195 5196// GoString returns the string representation 5197func (s ActivityMetrics) GoString() string { 5198 return s.String() 5199} 5200 5201// SetIsEnabled sets the IsEnabled field's value. 5202func (s *ActivityMetrics) SetIsEnabled(v bool) *ActivityMetrics { 5203 s.IsEnabled = &v 5204 return s 5205} 5206 5207// Lambda function used to transform objects through an Object Lambda Access 5208// Point. 5209type AwsLambdaTransformation struct { 5210 _ struct{} `type:"structure"` 5211 5212 // The Amazon Resource Name (ARN) of the Lambda function. 5213 // 5214 // FunctionArn is a required field 5215 FunctionArn *string `min:"1" type:"string" required:"true"` 5216 5217 // Additional JSON that provides supplemental data to the Lambda function used 5218 // to transform objects. 5219 FunctionPayload *string `type:"string"` 5220} 5221 5222// String returns the string representation 5223func (s AwsLambdaTransformation) String() string { 5224 return awsutil.Prettify(s) 5225} 5226 5227// GoString returns the string representation 5228func (s AwsLambdaTransformation) GoString() string { 5229 return s.String() 5230} 5231 5232// Validate inspects the fields of the type to determine if they are valid. 5233func (s *AwsLambdaTransformation) Validate() error { 5234 invalidParams := request.ErrInvalidParams{Context: "AwsLambdaTransformation"} 5235 if s.FunctionArn == nil { 5236 invalidParams.Add(request.NewErrParamRequired("FunctionArn")) 5237 } 5238 if s.FunctionArn != nil && len(*s.FunctionArn) < 1 { 5239 invalidParams.Add(request.NewErrParamMinLen("FunctionArn", 1)) 5240 } 5241 5242 if invalidParams.Len() > 0 { 5243 return invalidParams 5244 } 5245 return nil 5246} 5247 5248// SetFunctionArn sets the FunctionArn field's value. 5249func (s *AwsLambdaTransformation) SetFunctionArn(v string) *AwsLambdaTransformation { 5250 s.FunctionArn = &v 5251 return s 5252} 5253 5254// SetFunctionPayload sets the FunctionPayload field's value. 5255func (s *AwsLambdaTransformation) SetFunctionPayload(v string) *AwsLambdaTransformation { 5256 s.FunctionPayload = &v 5257 return s 5258} 5259 5260// A container for the bucket-level configuration. 5261type BucketLevel struct { 5262 _ struct{} `type:"structure"` 5263 5264 // A container for the bucket-level activity metrics for Amazon S3 Storage Lens 5265 ActivityMetrics *ActivityMetrics `type:"structure"` 5266 5267 // A container for the bucket-level prefix-level metrics for S3 Storage Lens 5268 PrefixLevel *PrefixLevel `type:"structure"` 5269} 5270 5271// String returns the string representation 5272func (s BucketLevel) String() string { 5273 return awsutil.Prettify(s) 5274} 5275 5276// GoString returns the string representation 5277func (s BucketLevel) GoString() string { 5278 return s.String() 5279} 5280 5281// Validate inspects the fields of the type to determine if they are valid. 5282func (s *BucketLevel) Validate() error { 5283 invalidParams := request.ErrInvalidParams{Context: "BucketLevel"} 5284 if s.PrefixLevel != nil { 5285 if err := s.PrefixLevel.Validate(); err != nil { 5286 invalidParams.AddNested("PrefixLevel", err.(request.ErrInvalidParams)) 5287 } 5288 } 5289 5290 if invalidParams.Len() > 0 { 5291 return invalidParams 5292 } 5293 return nil 5294} 5295 5296// SetActivityMetrics sets the ActivityMetrics field's value. 5297func (s *BucketLevel) SetActivityMetrics(v *ActivityMetrics) *BucketLevel { 5298 s.ActivityMetrics = v 5299 return s 5300} 5301 5302// SetPrefixLevel sets the PrefixLevel field's value. 5303func (s *BucketLevel) SetPrefixLevel(v *PrefixLevel) *BucketLevel { 5304 s.PrefixLevel = v 5305 return s 5306} 5307 5308type CreateAccessPointForObjectLambdaInput struct { 5309 _ struct{} `locationName:"CreateAccessPointForObjectLambdaRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 5310 5311 // The account ID for owner of the specified Object Lambda Access Point. 5312 // 5313 // AccountId is a required field 5314 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 5315 5316 // Object Lambda Access Point configuration as a JSON document. 5317 // 5318 // Configuration is a required field 5319 Configuration *ObjectLambdaConfiguration `type:"structure" required:"true"` 5320 5321 // The name you want to assign to this Object Lambda Access Point. 5322 // 5323 // Name is a required field 5324 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 5325} 5326 5327// String returns the string representation 5328func (s CreateAccessPointForObjectLambdaInput) String() string { 5329 return awsutil.Prettify(s) 5330} 5331 5332// GoString returns the string representation 5333func (s CreateAccessPointForObjectLambdaInput) GoString() string { 5334 return s.String() 5335} 5336 5337// Validate inspects the fields of the type to determine if they are valid. 5338func (s *CreateAccessPointForObjectLambdaInput) Validate() error { 5339 invalidParams := request.ErrInvalidParams{Context: "CreateAccessPointForObjectLambdaInput"} 5340 if s.AccountId == nil { 5341 invalidParams.Add(request.NewErrParamRequired("AccountId")) 5342 } 5343 if s.AccountId != nil && len(*s.AccountId) < 1 { 5344 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 5345 } 5346 if s.Configuration == nil { 5347 invalidParams.Add(request.NewErrParamRequired("Configuration")) 5348 } 5349 if s.Name == nil { 5350 invalidParams.Add(request.NewErrParamRequired("Name")) 5351 } 5352 if s.Name != nil && len(*s.Name) < 3 { 5353 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 5354 } 5355 if s.Configuration != nil { 5356 if err := s.Configuration.Validate(); err != nil { 5357 invalidParams.AddNested("Configuration", err.(request.ErrInvalidParams)) 5358 } 5359 } 5360 5361 if invalidParams.Len() > 0 { 5362 return invalidParams 5363 } 5364 return nil 5365} 5366 5367// SetAccountId sets the AccountId field's value. 5368func (s *CreateAccessPointForObjectLambdaInput) SetAccountId(v string) *CreateAccessPointForObjectLambdaInput { 5369 s.AccountId = &v 5370 return s 5371} 5372 5373// SetConfiguration sets the Configuration field's value. 5374func (s *CreateAccessPointForObjectLambdaInput) SetConfiguration(v *ObjectLambdaConfiguration) *CreateAccessPointForObjectLambdaInput { 5375 s.Configuration = v 5376 return s 5377} 5378 5379// SetName sets the Name field's value. 5380func (s *CreateAccessPointForObjectLambdaInput) SetName(v string) *CreateAccessPointForObjectLambdaInput { 5381 s.Name = &v 5382 return s 5383} 5384 5385func (s *CreateAccessPointForObjectLambdaInput) hostLabels() map[string]string { 5386 return map[string]string{ 5387 "AccountId": aws.StringValue(s.AccountId), 5388 } 5389} 5390 5391type CreateAccessPointForObjectLambdaOutput struct { 5392 _ struct{} `type:"structure"` 5393 5394 // Specifies the ARN for the Object Lambda Access Point. 5395 ObjectLambdaAccessPointArn *string `min:"1" type:"string"` 5396} 5397 5398// String returns the string representation 5399func (s CreateAccessPointForObjectLambdaOutput) String() string { 5400 return awsutil.Prettify(s) 5401} 5402 5403// GoString returns the string representation 5404func (s CreateAccessPointForObjectLambdaOutput) GoString() string { 5405 return s.String() 5406} 5407 5408// SetObjectLambdaAccessPointArn sets the ObjectLambdaAccessPointArn field's value. 5409func (s *CreateAccessPointForObjectLambdaOutput) SetObjectLambdaAccessPointArn(v string) *CreateAccessPointForObjectLambdaOutput { 5410 s.ObjectLambdaAccessPointArn = &v 5411 return s 5412} 5413 5414type CreateAccessPointInput struct { 5415 _ struct{} `locationName:"CreateAccessPointRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 5416 5417 // The account ID for the owner of the bucket for which you want to create an 5418 // access point. 5419 // 5420 // AccountId is a required field 5421 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 5422 5423 // The name of the bucket that you want to associate this access point with. 5424 // 5425 // For using this parameter with Amazon S3 on Outposts with the REST API, you 5426 // must specify the name and the x-amz-outpost-id as well. 5427 // 5428 // For using this parameter with S3 on Outposts with the Amazon Web Services 5429 // SDK and CLI, you must specify the ARN of the bucket accessed in the format 5430 // arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 5431 // For example, to access the bucket reports through outpost my-outpost owned 5432 // 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. 5433 // The value must be URL encoded. 5434 // 5435 // Bucket is a required field 5436 Bucket *string `min:"3" type:"string" required:"true"` 5437 5438 // The name you want to assign to this access point. 5439 // 5440 // Name is a required field 5441 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 5442 5443 // The PublicAccessBlock configuration that you want to apply to the access 5444 // point. 5445 PublicAccessBlockConfiguration *PublicAccessBlockConfiguration `type:"structure"` 5446 5447 // If you include this field, Amazon S3 restricts access to this access point 5448 // to requests from the specified virtual private cloud (VPC). 5449 // 5450 // This is required for creating an access point for Amazon S3 on Outposts buckets. 5451 VpcConfiguration *VpcConfiguration `type:"structure"` 5452} 5453 5454// String returns the string representation 5455func (s CreateAccessPointInput) String() string { 5456 return awsutil.Prettify(s) 5457} 5458 5459// GoString returns the string representation 5460func (s CreateAccessPointInput) GoString() string { 5461 return s.String() 5462} 5463 5464// Validate inspects the fields of the type to determine if they are valid. 5465func (s *CreateAccessPointInput) Validate() error { 5466 invalidParams := request.ErrInvalidParams{Context: "CreateAccessPointInput"} 5467 if s.AccountId == nil { 5468 invalidParams.Add(request.NewErrParamRequired("AccountId")) 5469 } 5470 if s.AccountId != nil && len(*s.AccountId) < 1 { 5471 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 5472 } 5473 if s.Bucket == nil { 5474 invalidParams.Add(request.NewErrParamRequired("Bucket")) 5475 } 5476 if s.Bucket != nil && len(*s.Bucket) < 3 { 5477 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 5478 } 5479 if s.Name == nil { 5480 invalidParams.Add(request.NewErrParamRequired("Name")) 5481 } 5482 if s.Name != nil && len(*s.Name) < 3 { 5483 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 5484 } 5485 if s.VpcConfiguration != nil { 5486 if err := s.VpcConfiguration.Validate(); err != nil { 5487 invalidParams.AddNested("VpcConfiguration", err.(request.ErrInvalidParams)) 5488 } 5489 } 5490 5491 if invalidParams.Len() > 0 { 5492 return invalidParams 5493 } 5494 return nil 5495} 5496 5497// SetAccountId sets the AccountId field's value. 5498func (s *CreateAccessPointInput) SetAccountId(v string) *CreateAccessPointInput { 5499 s.AccountId = &v 5500 return s 5501} 5502 5503// SetBucket sets the Bucket field's value. 5504func (s *CreateAccessPointInput) SetBucket(v string) *CreateAccessPointInput { 5505 s.Bucket = &v 5506 return s 5507} 5508 5509// SetName sets the Name field's value. 5510func (s *CreateAccessPointInput) SetName(v string) *CreateAccessPointInput { 5511 s.Name = &v 5512 return s 5513} 5514 5515// SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value. 5516func (s *CreateAccessPointInput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *CreateAccessPointInput { 5517 s.PublicAccessBlockConfiguration = v 5518 return s 5519} 5520 5521// SetVpcConfiguration sets the VpcConfiguration field's value. 5522func (s *CreateAccessPointInput) SetVpcConfiguration(v *VpcConfiguration) *CreateAccessPointInput { 5523 s.VpcConfiguration = v 5524 return s 5525} 5526 5527func (s *CreateAccessPointInput) hostLabels() map[string]string { 5528 return map[string]string{ 5529 "AccountId": aws.StringValue(s.AccountId), 5530 } 5531} 5532 5533func (s *CreateAccessPointInput) getEndpointARN() (arn.Resource, error) { 5534 if s.Bucket == nil { 5535 return nil, fmt.Errorf("member Bucket is nil") 5536 } 5537 return parseEndpointARN(*s.Bucket) 5538} 5539 5540func (s *CreateAccessPointInput) hasEndpointARN() bool { 5541 if s.Bucket == nil { 5542 return false 5543 } 5544 return arn.IsARN(*s.Bucket) 5545} 5546 5547// updateArnableField updates the value of the input field that 5548// takes an ARN as an input. This method is useful to backfill 5549// the parsed resource name from ARN into the input member. 5550// It returns a pointer to a modified copy of input and an error. 5551// Note that original input is not modified. 5552func (s CreateAccessPointInput) updateArnableField(v string) (interface{}, error) { 5553 if s.Bucket == nil { 5554 return nil, fmt.Errorf("member Bucket is nil") 5555 } 5556 s.Bucket = aws.String(v) 5557 return &s, nil 5558} 5559 5560// updateAccountID returns a pointer to a modified copy of input, 5561// if account id is not provided, we update the account id in modified input 5562// if account id is provided, but doesn't match with the one in ARN, we throw an error 5563// if account id is not updated, we return nil. Note that original input is not modified. 5564func (s CreateAccessPointInput) updateAccountID(accountId string) (interface{}, error) { 5565 if s.AccountId == nil { 5566 s.AccountId = aws.String(accountId) 5567 return &s, nil 5568 } else if *s.AccountId != accountId { 5569 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 5570 } 5571 return nil, nil 5572} 5573 5574type CreateAccessPointOutput struct { 5575 _ struct{} `type:"structure"` 5576 5577 // The ARN of the access point. 5578 // 5579 // This is only supported by Amazon S3 on Outposts. 5580 AccessPointArn *string `min:"4" type:"string"` 5581 5582 // The name or alias of the access point. 5583 Alias *string `type:"string"` 5584} 5585 5586// String returns the string representation 5587func (s CreateAccessPointOutput) String() string { 5588 return awsutil.Prettify(s) 5589} 5590 5591// GoString returns the string representation 5592func (s CreateAccessPointOutput) GoString() string { 5593 return s.String() 5594} 5595 5596// SetAccessPointArn sets the AccessPointArn field's value. 5597func (s *CreateAccessPointOutput) SetAccessPointArn(v string) *CreateAccessPointOutput { 5598 s.AccessPointArn = &v 5599 return s 5600} 5601 5602// SetAlias sets the Alias field's value. 5603func (s *CreateAccessPointOutput) SetAlias(v string) *CreateAccessPointOutput { 5604 s.Alias = &v 5605 return s 5606} 5607 5608// The container for the bucket configuration. 5609// 5610// This is not supported by Amazon S3 on Outposts buckets. 5611type CreateBucketConfiguration struct { 5612 _ struct{} `type:"structure"` 5613 5614 // Specifies the Region where the bucket will be created. If you are creating 5615 // a bucket on the US East (N. Virginia) Region (us-east-1), you do not need 5616 // to specify the location. 5617 // 5618 // This is not supported by Amazon S3 on Outposts buckets. 5619 LocationConstraint *string `type:"string" enum:"BucketLocationConstraint"` 5620} 5621 5622// String returns the string representation 5623func (s CreateBucketConfiguration) String() string { 5624 return awsutil.Prettify(s) 5625} 5626 5627// GoString returns the string representation 5628func (s CreateBucketConfiguration) GoString() string { 5629 return s.String() 5630} 5631 5632// SetLocationConstraint sets the LocationConstraint field's value. 5633func (s *CreateBucketConfiguration) SetLocationConstraint(v string) *CreateBucketConfiguration { 5634 s.LocationConstraint = &v 5635 return s 5636} 5637 5638type CreateBucketInput struct { 5639 _ struct{} `locationName:"CreateBucketRequest" type:"structure" payload:"CreateBucketConfiguration"` 5640 5641 // The canned ACL to apply to the bucket. 5642 // 5643 // This is not supported by Amazon S3 on Outposts buckets. 5644 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"BucketCannedACL"` 5645 5646 // The name of the bucket. 5647 // 5648 // Bucket is a required field 5649 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 5650 5651 // The configuration information for the bucket. 5652 // 5653 // This is not supported by Amazon S3 on Outposts buckets. 5654 CreateBucketConfiguration *CreateBucketConfiguration `locationName:"CreateBucketConfiguration" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 5655 5656 // Allows grantee the read, write, read ACP, and write ACP permissions on the 5657 // bucket. 5658 // 5659 // This is not supported by Amazon S3 on Outposts buckets. 5660 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"` 5661 5662 // Allows grantee to list the objects in the bucket. 5663 // 5664 // This is not supported by Amazon S3 on Outposts buckets. 5665 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"` 5666 5667 // Allows grantee to read the bucket ACL. 5668 // 5669 // This is not supported by Amazon S3 on Outposts buckets. 5670 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"` 5671 5672 // Allows grantee to create, overwrite, and delete any object in the bucket. 5673 // 5674 // This is not supported by Amazon S3 on Outposts buckets. 5675 GrantWrite *string `location:"header" locationName:"x-amz-grant-write" type:"string"` 5676 5677 // Allows grantee to write the ACL for the applicable bucket. 5678 // 5679 // This is not supported by Amazon S3 on Outposts buckets. 5680 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"` 5681 5682 // Specifies whether you want S3 Object Lock to be enabled for the new bucket. 5683 // 5684 // This is not supported by Amazon S3 on Outposts buckets. 5685 ObjectLockEnabledForBucket *bool `location:"header" locationName:"x-amz-bucket-object-lock-enabled" type:"boolean"` 5686 5687 // The ID of the Outposts where the bucket is being created. 5688 // 5689 // This is required by Amazon S3 on Outposts buckets. 5690 OutpostId *string `location:"header" locationName:"x-amz-outpost-id" min:"1" type:"string"` 5691} 5692 5693// String returns the string representation 5694func (s CreateBucketInput) String() string { 5695 return awsutil.Prettify(s) 5696} 5697 5698// GoString returns the string representation 5699func (s CreateBucketInput) GoString() string { 5700 return s.String() 5701} 5702 5703// Validate inspects the fields of the type to determine if they are valid. 5704func (s *CreateBucketInput) Validate() error { 5705 invalidParams := request.ErrInvalidParams{Context: "CreateBucketInput"} 5706 if s.Bucket == nil { 5707 invalidParams.Add(request.NewErrParamRequired("Bucket")) 5708 } 5709 if s.Bucket != nil && len(*s.Bucket) < 3 { 5710 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 5711 } 5712 if s.OutpostId != nil && len(*s.OutpostId) < 1 { 5713 invalidParams.Add(request.NewErrParamMinLen("OutpostId", 1)) 5714 } 5715 5716 if invalidParams.Len() > 0 { 5717 return invalidParams 5718 } 5719 return nil 5720} 5721 5722// SetACL sets the ACL field's value. 5723func (s *CreateBucketInput) SetACL(v string) *CreateBucketInput { 5724 s.ACL = &v 5725 return s 5726} 5727 5728// SetBucket sets the Bucket field's value. 5729func (s *CreateBucketInput) SetBucket(v string) *CreateBucketInput { 5730 s.Bucket = &v 5731 return s 5732} 5733 5734// SetCreateBucketConfiguration sets the CreateBucketConfiguration field's value. 5735func (s *CreateBucketInput) SetCreateBucketConfiguration(v *CreateBucketConfiguration) *CreateBucketInput { 5736 s.CreateBucketConfiguration = v 5737 return s 5738} 5739 5740// SetGrantFullControl sets the GrantFullControl field's value. 5741func (s *CreateBucketInput) SetGrantFullControl(v string) *CreateBucketInput { 5742 s.GrantFullControl = &v 5743 return s 5744} 5745 5746// SetGrantRead sets the GrantRead field's value. 5747func (s *CreateBucketInput) SetGrantRead(v string) *CreateBucketInput { 5748 s.GrantRead = &v 5749 return s 5750} 5751 5752// SetGrantReadACP sets the GrantReadACP field's value. 5753func (s *CreateBucketInput) SetGrantReadACP(v string) *CreateBucketInput { 5754 s.GrantReadACP = &v 5755 return s 5756} 5757 5758// SetGrantWrite sets the GrantWrite field's value. 5759func (s *CreateBucketInput) SetGrantWrite(v string) *CreateBucketInput { 5760 s.GrantWrite = &v 5761 return s 5762} 5763 5764// SetGrantWriteACP sets the GrantWriteACP field's value. 5765func (s *CreateBucketInput) SetGrantWriteACP(v string) *CreateBucketInput { 5766 s.GrantWriteACP = &v 5767 return s 5768} 5769 5770// SetObjectLockEnabledForBucket sets the ObjectLockEnabledForBucket field's value. 5771func (s *CreateBucketInput) SetObjectLockEnabledForBucket(v bool) *CreateBucketInput { 5772 s.ObjectLockEnabledForBucket = &v 5773 return s 5774} 5775 5776// SetOutpostId sets the OutpostId field's value. 5777func (s *CreateBucketInput) SetOutpostId(v string) *CreateBucketInput { 5778 s.OutpostId = &v 5779 return s 5780} 5781 5782func (s *CreateBucketInput) getOutpostID() (string, error) { 5783 if s.OutpostId == nil { 5784 return "", fmt.Errorf("member OutpostId is nil") 5785 } 5786 return *s.OutpostId, nil 5787} 5788 5789func (s *CreateBucketInput) hasOutpostID() bool { 5790 if s.OutpostId == nil { 5791 return false 5792 } 5793 return true 5794} 5795 5796type CreateBucketOutput struct { 5797 _ struct{} `type:"structure"` 5798 5799 // The Amazon Resource Name (ARN) of the bucket. 5800 // 5801 // For using this parameter with Amazon S3 on Outposts with the REST API, you 5802 // must specify the name and the x-amz-outpost-id as well. 5803 // 5804 // For using this parameter with S3 on Outposts with the Amazon Web Services 5805 // SDK and CLI, you must specify the ARN of the bucket accessed in the format 5806 // arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 5807 // For example, to access the bucket reports through outpost my-outpost owned 5808 // 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. 5809 // The value must be URL encoded. 5810 BucketArn *string `min:"4" type:"string"` 5811 5812 // The location of the bucket. 5813 Location *string `location:"header" locationName:"Location" type:"string"` 5814} 5815 5816// String returns the string representation 5817func (s CreateBucketOutput) String() string { 5818 return awsutil.Prettify(s) 5819} 5820 5821// GoString returns the string representation 5822func (s CreateBucketOutput) GoString() string { 5823 return s.String() 5824} 5825 5826// SetBucketArn sets the BucketArn field's value. 5827func (s *CreateBucketOutput) SetBucketArn(v string) *CreateBucketOutput { 5828 s.BucketArn = &v 5829 return s 5830} 5831 5832// SetLocation sets the Location field's value. 5833func (s *CreateBucketOutput) SetLocation(v string) *CreateBucketOutput { 5834 s.Location = &v 5835 return s 5836} 5837 5838type CreateJobInput struct { 5839 _ struct{} `locationName:"CreateJobRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 5840 5841 // The account ID that creates the job. 5842 // 5843 // AccountId is a required field 5844 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 5845 5846 // An idempotency token to ensure that you don't accidentally submit the same 5847 // request twice. You can use any string up to the maximum length. 5848 ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` 5849 5850 // Indicates whether confirmation is required before Amazon S3 runs the job. 5851 // Confirmation is only required for jobs created through the Amazon S3 console. 5852 ConfirmationRequired *bool `type:"boolean"` 5853 5854 // A description for this job. You can use any string within the permitted length. 5855 // Descriptions don't need to be unique and can be used for multiple jobs. 5856 Description *string `min:"1" type:"string"` 5857 5858 // Configuration parameters for the manifest. 5859 // 5860 // Manifest is a required field 5861 Manifest *JobManifest `type:"structure" required:"true"` 5862 5863 // The action that you want this job to perform on every object listed in the 5864 // manifest. For more information about the available actions, see Operations 5865 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-actions.html) 5866 // in the Amazon S3 User Guide. 5867 // 5868 // Operation is a required field 5869 Operation *JobOperation `type:"structure" required:"true"` 5870 5871 // The numerical priority for this job. Higher numbers indicate higher priority. 5872 // 5873 // Priority is a required field 5874 Priority *int64 `type:"integer" required:"true"` 5875 5876 // Configuration parameters for the optional job-completion report. 5877 // 5878 // Report is a required field 5879 Report *JobReport `type:"structure" required:"true"` 5880 5881 // The Amazon Resource Name (ARN) for the Identity and Access Management (IAM) 5882 // role that Batch Operations will use to run this job's action on every object 5883 // in the manifest. 5884 // 5885 // RoleArn is a required field 5886 RoleArn *string `min:"1" type:"string" required:"true"` 5887 5888 // A set of tags to associate with the S3 Batch Operations job. This is an optional 5889 // parameter. 5890 Tags []*S3Tag `type:"list"` 5891} 5892 5893// String returns the string representation 5894func (s CreateJobInput) String() string { 5895 return awsutil.Prettify(s) 5896} 5897 5898// GoString returns the string representation 5899func (s CreateJobInput) GoString() string { 5900 return s.String() 5901} 5902 5903// Validate inspects the fields of the type to determine if they are valid. 5904func (s *CreateJobInput) Validate() error { 5905 invalidParams := request.ErrInvalidParams{Context: "CreateJobInput"} 5906 if s.AccountId == nil { 5907 invalidParams.Add(request.NewErrParamRequired("AccountId")) 5908 } 5909 if s.AccountId != nil && len(*s.AccountId) < 1 { 5910 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 5911 } 5912 if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { 5913 invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) 5914 } 5915 if s.Description != nil && len(*s.Description) < 1 { 5916 invalidParams.Add(request.NewErrParamMinLen("Description", 1)) 5917 } 5918 if s.Manifest == nil { 5919 invalidParams.Add(request.NewErrParamRequired("Manifest")) 5920 } 5921 if s.Operation == nil { 5922 invalidParams.Add(request.NewErrParamRequired("Operation")) 5923 } 5924 if s.Priority == nil { 5925 invalidParams.Add(request.NewErrParamRequired("Priority")) 5926 } 5927 if s.Report == nil { 5928 invalidParams.Add(request.NewErrParamRequired("Report")) 5929 } 5930 if s.RoleArn == nil { 5931 invalidParams.Add(request.NewErrParamRequired("RoleArn")) 5932 } 5933 if s.RoleArn != nil && len(*s.RoleArn) < 1 { 5934 invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1)) 5935 } 5936 if s.Manifest != nil { 5937 if err := s.Manifest.Validate(); err != nil { 5938 invalidParams.AddNested("Manifest", err.(request.ErrInvalidParams)) 5939 } 5940 } 5941 if s.Operation != nil { 5942 if err := s.Operation.Validate(); err != nil { 5943 invalidParams.AddNested("Operation", err.(request.ErrInvalidParams)) 5944 } 5945 } 5946 if s.Report != nil { 5947 if err := s.Report.Validate(); err != nil { 5948 invalidParams.AddNested("Report", err.(request.ErrInvalidParams)) 5949 } 5950 } 5951 if s.Tags != nil { 5952 for i, v := range s.Tags { 5953 if v == nil { 5954 continue 5955 } 5956 if err := v.Validate(); err != nil { 5957 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 5958 } 5959 } 5960 } 5961 5962 if invalidParams.Len() > 0 { 5963 return invalidParams 5964 } 5965 return nil 5966} 5967 5968// SetAccountId sets the AccountId field's value. 5969func (s *CreateJobInput) SetAccountId(v string) *CreateJobInput { 5970 s.AccountId = &v 5971 return s 5972} 5973 5974// SetClientRequestToken sets the ClientRequestToken field's value. 5975func (s *CreateJobInput) SetClientRequestToken(v string) *CreateJobInput { 5976 s.ClientRequestToken = &v 5977 return s 5978} 5979 5980// SetConfirmationRequired sets the ConfirmationRequired field's value. 5981func (s *CreateJobInput) SetConfirmationRequired(v bool) *CreateJobInput { 5982 s.ConfirmationRequired = &v 5983 return s 5984} 5985 5986// SetDescription sets the Description field's value. 5987func (s *CreateJobInput) SetDescription(v string) *CreateJobInput { 5988 s.Description = &v 5989 return s 5990} 5991 5992// SetManifest sets the Manifest field's value. 5993func (s *CreateJobInput) SetManifest(v *JobManifest) *CreateJobInput { 5994 s.Manifest = v 5995 return s 5996} 5997 5998// SetOperation sets the Operation field's value. 5999func (s *CreateJobInput) SetOperation(v *JobOperation) *CreateJobInput { 6000 s.Operation = v 6001 return s 6002} 6003 6004// SetPriority sets the Priority field's value. 6005func (s *CreateJobInput) SetPriority(v int64) *CreateJobInput { 6006 s.Priority = &v 6007 return s 6008} 6009 6010// SetReport sets the Report field's value. 6011func (s *CreateJobInput) SetReport(v *JobReport) *CreateJobInput { 6012 s.Report = v 6013 return s 6014} 6015 6016// SetRoleArn sets the RoleArn field's value. 6017func (s *CreateJobInput) SetRoleArn(v string) *CreateJobInput { 6018 s.RoleArn = &v 6019 return s 6020} 6021 6022// SetTags sets the Tags field's value. 6023func (s *CreateJobInput) SetTags(v []*S3Tag) *CreateJobInput { 6024 s.Tags = v 6025 return s 6026} 6027 6028func (s *CreateJobInput) hostLabels() map[string]string { 6029 return map[string]string{ 6030 "AccountId": aws.StringValue(s.AccountId), 6031 } 6032} 6033 6034type CreateJobOutput struct { 6035 _ struct{} `type:"structure"` 6036 6037 // The ID for this job. Amazon S3 generates this ID automatically and returns 6038 // it after a successful Create Job request. 6039 JobId *string `min:"5" type:"string"` 6040} 6041 6042// String returns the string representation 6043func (s CreateJobOutput) String() string { 6044 return awsutil.Prettify(s) 6045} 6046 6047// GoString returns the string representation 6048func (s CreateJobOutput) GoString() string { 6049 return s.String() 6050} 6051 6052// SetJobId sets the JobId field's value. 6053func (s *CreateJobOutput) SetJobId(v string) *CreateJobOutput { 6054 s.JobId = &v 6055 return s 6056} 6057 6058type DeleteAccessPointForObjectLambdaInput struct { 6059 _ struct{} `locationName:"DeleteAccessPointForObjectLambdaRequest" type:"structure"` 6060 6061 // The account ID for the account that owns the specified Object Lambda Access 6062 // Point. 6063 // 6064 // AccountId is a required field 6065 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 6066 6067 // The name of the access point you want to delete. 6068 // 6069 // Name is a required field 6070 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 6071} 6072 6073// String returns the string representation 6074func (s DeleteAccessPointForObjectLambdaInput) String() string { 6075 return awsutil.Prettify(s) 6076} 6077 6078// GoString returns the string representation 6079func (s DeleteAccessPointForObjectLambdaInput) GoString() string { 6080 return s.String() 6081} 6082 6083// Validate inspects the fields of the type to determine if they are valid. 6084func (s *DeleteAccessPointForObjectLambdaInput) Validate() error { 6085 invalidParams := request.ErrInvalidParams{Context: "DeleteAccessPointForObjectLambdaInput"} 6086 if s.AccountId == nil { 6087 invalidParams.Add(request.NewErrParamRequired("AccountId")) 6088 } 6089 if s.AccountId != nil && len(*s.AccountId) < 1 { 6090 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 6091 } 6092 if s.Name == nil { 6093 invalidParams.Add(request.NewErrParamRequired("Name")) 6094 } 6095 if s.Name != nil && len(*s.Name) < 3 { 6096 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 6097 } 6098 6099 if invalidParams.Len() > 0 { 6100 return invalidParams 6101 } 6102 return nil 6103} 6104 6105// SetAccountId sets the AccountId field's value. 6106func (s *DeleteAccessPointForObjectLambdaInput) SetAccountId(v string) *DeleteAccessPointForObjectLambdaInput { 6107 s.AccountId = &v 6108 return s 6109} 6110 6111// SetName sets the Name field's value. 6112func (s *DeleteAccessPointForObjectLambdaInput) SetName(v string) *DeleteAccessPointForObjectLambdaInput { 6113 s.Name = &v 6114 return s 6115} 6116 6117func (s *DeleteAccessPointForObjectLambdaInput) hostLabels() map[string]string { 6118 return map[string]string{ 6119 "AccountId": aws.StringValue(s.AccountId), 6120 } 6121} 6122 6123type DeleteAccessPointForObjectLambdaOutput struct { 6124 _ struct{} `type:"structure"` 6125} 6126 6127// String returns the string representation 6128func (s DeleteAccessPointForObjectLambdaOutput) String() string { 6129 return awsutil.Prettify(s) 6130} 6131 6132// GoString returns the string representation 6133func (s DeleteAccessPointForObjectLambdaOutput) GoString() string { 6134 return s.String() 6135} 6136 6137type DeleteAccessPointInput struct { 6138 _ struct{} `locationName:"DeleteAccessPointRequest" type:"structure"` 6139 6140 // The account ID for the account that owns the specified access point. 6141 // 6142 // AccountId is a required field 6143 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 6144 6145 // The name of the access point you want to delete. 6146 // 6147 // For using this parameter with Amazon S3 on Outposts with the REST API, you 6148 // must specify the name and the x-amz-outpost-id as well. 6149 // 6150 // For using this parameter with S3 on Outposts with the Amazon Web Services 6151 // SDK and CLI, you must specify the ARN of the access point accessed in the 6152 // format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>. 6153 // For example, to access the access point reports-ap through outpost my-outpost 6154 // owned by account 123456789012 in Region us-west-2, use the URL encoding of 6155 // arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. 6156 // The value must be URL encoded. 6157 // 6158 // Name is a required field 6159 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 6160} 6161 6162// String returns the string representation 6163func (s DeleteAccessPointInput) String() string { 6164 return awsutil.Prettify(s) 6165} 6166 6167// GoString returns the string representation 6168func (s DeleteAccessPointInput) GoString() string { 6169 return s.String() 6170} 6171 6172// Validate inspects the fields of the type to determine if they are valid. 6173func (s *DeleteAccessPointInput) Validate() error { 6174 invalidParams := request.ErrInvalidParams{Context: "DeleteAccessPointInput"} 6175 if s.AccountId == nil { 6176 invalidParams.Add(request.NewErrParamRequired("AccountId")) 6177 } 6178 if s.AccountId != nil && len(*s.AccountId) < 1 { 6179 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 6180 } 6181 if s.Name == nil { 6182 invalidParams.Add(request.NewErrParamRequired("Name")) 6183 } 6184 if s.Name != nil && len(*s.Name) < 3 { 6185 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 6186 } 6187 6188 if invalidParams.Len() > 0 { 6189 return invalidParams 6190 } 6191 return nil 6192} 6193 6194// SetAccountId sets the AccountId field's value. 6195func (s *DeleteAccessPointInput) SetAccountId(v string) *DeleteAccessPointInput { 6196 s.AccountId = &v 6197 return s 6198} 6199 6200// SetName sets the Name field's value. 6201func (s *DeleteAccessPointInput) SetName(v string) *DeleteAccessPointInput { 6202 s.Name = &v 6203 return s 6204} 6205 6206func (s *DeleteAccessPointInput) hostLabels() map[string]string { 6207 return map[string]string{ 6208 "AccountId": aws.StringValue(s.AccountId), 6209 } 6210} 6211 6212func (s *DeleteAccessPointInput) getEndpointARN() (arn.Resource, error) { 6213 if s.Name == nil { 6214 return nil, fmt.Errorf("member Name is nil") 6215 } 6216 return parseEndpointARN(*s.Name) 6217} 6218 6219func (s *DeleteAccessPointInput) hasEndpointARN() bool { 6220 if s.Name == nil { 6221 return false 6222 } 6223 return arn.IsARN(*s.Name) 6224} 6225 6226// updateArnableField updates the value of the input field that 6227// takes an ARN as an input. This method is useful to backfill 6228// the parsed resource name from ARN into the input member. 6229// It returns a pointer to a modified copy of input and an error. 6230// Note that original input is not modified. 6231func (s DeleteAccessPointInput) updateArnableField(v string) (interface{}, error) { 6232 if s.Name == nil { 6233 return nil, fmt.Errorf("member Name is nil") 6234 } 6235 s.Name = aws.String(v) 6236 return &s, nil 6237} 6238 6239// updateAccountID returns a pointer to a modified copy of input, 6240// if account id is not provided, we update the account id in modified input 6241// if account id is provided, but doesn't match with the one in ARN, we throw an error 6242// if account id is not updated, we return nil. Note that original input is not modified. 6243func (s DeleteAccessPointInput) updateAccountID(accountId string) (interface{}, error) { 6244 if s.AccountId == nil { 6245 s.AccountId = aws.String(accountId) 6246 return &s, nil 6247 } else if *s.AccountId != accountId { 6248 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 6249 } 6250 return nil, nil 6251} 6252 6253type DeleteAccessPointOutput struct { 6254 _ struct{} `type:"structure"` 6255} 6256 6257// String returns the string representation 6258func (s DeleteAccessPointOutput) String() string { 6259 return awsutil.Prettify(s) 6260} 6261 6262// GoString returns the string representation 6263func (s DeleteAccessPointOutput) GoString() string { 6264 return s.String() 6265} 6266 6267type DeleteAccessPointPolicyForObjectLambdaInput struct { 6268 _ struct{} `locationName:"DeleteAccessPointPolicyForObjectLambdaRequest" type:"structure"` 6269 6270 // The account ID for the account that owns the specified Object Lambda Access 6271 // Point. 6272 // 6273 // AccountId is a required field 6274 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 6275 6276 // The name of the Object Lambda Access Point you want to delete the policy 6277 // for. 6278 // 6279 // Name is a required field 6280 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 6281} 6282 6283// String returns the string representation 6284func (s DeleteAccessPointPolicyForObjectLambdaInput) String() string { 6285 return awsutil.Prettify(s) 6286} 6287 6288// GoString returns the string representation 6289func (s DeleteAccessPointPolicyForObjectLambdaInput) GoString() string { 6290 return s.String() 6291} 6292 6293// Validate inspects the fields of the type to determine if they are valid. 6294func (s *DeleteAccessPointPolicyForObjectLambdaInput) Validate() error { 6295 invalidParams := request.ErrInvalidParams{Context: "DeleteAccessPointPolicyForObjectLambdaInput"} 6296 if s.AccountId == nil { 6297 invalidParams.Add(request.NewErrParamRequired("AccountId")) 6298 } 6299 if s.AccountId != nil && len(*s.AccountId) < 1 { 6300 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 6301 } 6302 if s.Name == nil { 6303 invalidParams.Add(request.NewErrParamRequired("Name")) 6304 } 6305 if s.Name != nil && len(*s.Name) < 3 { 6306 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 6307 } 6308 6309 if invalidParams.Len() > 0 { 6310 return invalidParams 6311 } 6312 return nil 6313} 6314 6315// SetAccountId sets the AccountId field's value. 6316func (s *DeleteAccessPointPolicyForObjectLambdaInput) SetAccountId(v string) *DeleteAccessPointPolicyForObjectLambdaInput { 6317 s.AccountId = &v 6318 return s 6319} 6320 6321// SetName sets the Name field's value. 6322func (s *DeleteAccessPointPolicyForObjectLambdaInput) SetName(v string) *DeleteAccessPointPolicyForObjectLambdaInput { 6323 s.Name = &v 6324 return s 6325} 6326 6327func (s *DeleteAccessPointPolicyForObjectLambdaInput) hostLabels() map[string]string { 6328 return map[string]string{ 6329 "AccountId": aws.StringValue(s.AccountId), 6330 } 6331} 6332 6333type DeleteAccessPointPolicyForObjectLambdaOutput struct { 6334 _ struct{} `type:"structure"` 6335} 6336 6337// String returns the string representation 6338func (s DeleteAccessPointPolicyForObjectLambdaOutput) String() string { 6339 return awsutil.Prettify(s) 6340} 6341 6342// GoString returns the string representation 6343func (s DeleteAccessPointPolicyForObjectLambdaOutput) GoString() string { 6344 return s.String() 6345} 6346 6347type DeleteAccessPointPolicyInput struct { 6348 _ struct{} `locationName:"DeleteAccessPointPolicyRequest" type:"structure"` 6349 6350 // The account ID for the account that owns the specified access point. 6351 // 6352 // AccountId is a required field 6353 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 6354 6355 // The name of the access point whose policy you want to delete. 6356 // 6357 // For using this parameter with Amazon S3 on Outposts with the REST API, you 6358 // must specify the name and the x-amz-outpost-id as well. 6359 // 6360 // For using this parameter with S3 on Outposts with the Amazon Web Services 6361 // SDK and CLI, you must specify the ARN of the access point accessed in the 6362 // format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>. 6363 // For example, to access the access point reports-ap through outpost my-outpost 6364 // owned by account 123456789012 in Region us-west-2, use the URL encoding of 6365 // arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. 6366 // The value must be URL encoded. 6367 // 6368 // Name is a required field 6369 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 6370} 6371 6372// String returns the string representation 6373func (s DeleteAccessPointPolicyInput) String() string { 6374 return awsutil.Prettify(s) 6375} 6376 6377// GoString returns the string representation 6378func (s DeleteAccessPointPolicyInput) GoString() string { 6379 return s.String() 6380} 6381 6382// Validate inspects the fields of the type to determine if they are valid. 6383func (s *DeleteAccessPointPolicyInput) Validate() error { 6384 invalidParams := request.ErrInvalidParams{Context: "DeleteAccessPointPolicyInput"} 6385 if s.AccountId == nil { 6386 invalidParams.Add(request.NewErrParamRequired("AccountId")) 6387 } 6388 if s.AccountId != nil && len(*s.AccountId) < 1 { 6389 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 6390 } 6391 if s.Name == nil { 6392 invalidParams.Add(request.NewErrParamRequired("Name")) 6393 } 6394 if s.Name != nil && len(*s.Name) < 3 { 6395 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 6396 } 6397 6398 if invalidParams.Len() > 0 { 6399 return invalidParams 6400 } 6401 return nil 6402} 6403 6404// SetAccountId sets the AccountId field's value. 6405func (s *DeleteAccessPointPolicyInput) SetAccountId(v string) *DeleteAccessPointPolicyInput { 6406 s.AccountId = &v 6407 return s 6408} 6409 6410// SetName sets the Name field's value. 6411func (s *DeleteAccessPointPolicyInput) SetName(v string) *DeleteAccessPointPolicyInput { 6412 s.Name = &v 6413 return s 6414} 6415 6416func (s *DeleteAccessPointPolicyInput) hostLabels() map[string]string { 6417 return map[string]string{ 6418 "AccountId": aws.StringValue(s.AccountId), 6419 } 6420} 6421 6422func (s *DeleteAccessPointPolicyInput) getEndpointARN() (arn.Resource, error) { 6423 if s.Name == nil { 6424 return nil, fmt.Errorf("member Name is nil") 6425 } 6426 return parseEndpointARN(*s.Name) 6427} 6428 6429func (s *DeleteAccessPointPolicyInput) hasEndpointARN() bool { 6430 if s.Name == nil { 6431 return false 6432 } 6433 return arn.IsARN(*s.Name) 6434} 6435 6436// updateArnableField updates the value of the input field that 6437// takes an ARN as an input. This method is useful to backfill 6438// the parsed resource name from ARN into the input member. 6439// It returns a pointer to a modified copy of input and an error. 6440// Note that original input is not modified. 6441func (s DeleteAccessPointPolicyInput) updateArnableField(v string) (interface{}, error) { 6442 if s.Name == nil { 6443 return nil, fmt.Errorf("member Name is nil") 6444 } 6445 s.Name = aws.String(v) 6446 return &s, nil 6447} 6448 6449// updateAccountID returns a pointer to a modified copy of input, 6450// if account id is not provided, we update the account id in modified input 6451// if account id is provided, but doesn't match with the one in ARN, we throw an error 6452// if account id is not updated, we return nil. Note that original input is not modified. 6453func (s DeleteAccessPointPolicyInput) updateAccountID(accountId string) (interface{}, error) { 6454 if s.AccountId == nil { 6455 s.AccountId = aws.String(accountId) 6456 return &s, nil 6457 } else if *s.AccountId != accountId { 6458 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 6459 } 6460 return nil, nil 6461} 6462 6463type DeleteAccessPointPolicyOutput struct { 6464 _ struct{} `type:"structure"` 6465} 6466 6467// String returns the string representation 6468func (s DeleteAccessPointPolicyOutput) String() string { 6469 return awsutil.Prettify(s) 6470} 6471 6472// GoString returns the string representation 6473func (s DeleteAccessPointPolicyOutput) GoString() string { 6474 return s.String() 6475} 6476 6477type DeleteBucketInput struct { 6478 _ struct{} `locationName:"DeleteBucketRequest" type:"structure"` 6479 6480 // The account ID that owns the Outposts bucket. 6481 // 6482 // AccountId is a required field 6483 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 6484 6485 // Specifies the bucket being deleted. 6486 // 6487 // For using this parameter with Amazon S3 on Outposts with the REST API, you 6488 // must specify the name and the x-amz-outpost-id as well. 6489 // 6490 // For using this parameter with S3 on Outposts with the Amazon Web Services 6491 // SDK and CLI, you must specify the ARN of the bucket accessed in the format 6492 // arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 6493 // For example, to access the bucket reports through outpost my-outpost owned 6494 // 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. 6495 // The value must be URL encoded. 6496 // 6497 // Bucket is a required field 6498 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 6499} 6500 6501// String returns the string representation 6502func (s DeleteBucketInput) String() string { 6503 return awsutil.Prettify(s) 6504} 6505 6506// GoString returns the string representation 6507func (s DeleteBucketInput) GoString() string { 6508 return s.String() 6509} 6510 6511// Validate inspects the fields of the type to determine if they are valid. 6512func (s *DeleteBucketInput) Validate() error { 6513 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketInput"} 6514 if s.AccountId == nil { 6515 invalidParams.Add(request.NewErrParamRequired("AccountId")) 6516 } 6517 if s.AccountId != nil && len(*s.AccountId) < 1 { 6518 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 6519 } 6520 if s.Bucket == nil { 6521 invalidParams.Add(request.NewErrParamRequired("Bucket")) 6522 } 6523 if s.Bucket != nil && len(*s.Bucket) < 3 { 6524 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 6525 } 6526 6527 if invalidParams.Len() > 0 { 6528 return invalidParams 6529 } 6530 return nil 6531} 6532 6533// SetAccountId sets the AccountId field's value. 6534func (s *DeleteBucketInput) SetAccountId(v string) *DeleteBucketInput { 6535 s.AccountId = &v 6536 return s 6537} 6538 6539// SetBucket sets the Bucket field's value. 6540func (s *DeleteBucketInput) SetBucket(v string) *DeleteBucketInput { 6541 s.Bucket = &v 6542 return s 6543} 6544 6545func (s *DeleteBucketInput) hostLabels() map[string]string { 6546 return map[string]string{ 6547 "AccountId": aws.StringValue(s.AccountId), 6548 } 6549} 6550 6551func (s *DeleteBucketInput) getEndpointARN() (arn.Resource, error) { 6552 if s.Bucket == nil { 6553 return nil, fmt.Errorf("member Bucket is nil") 6554 } 6555 return parseEndpointARN(*s.Bucket) 6556} 6557 6558func (s *DeleteBucketInput) hasEndpointARN() bool { 6559 if s.Bucket == nil { 6560 return false 6561 } 6562 return arn.IsARN(*s.Bucket) 6563} 6564 6565// updateArnableField updates the value of the input field that 6566// takes an ARN as an input. This method is useful to backfill 6567// the parsed resource name from ARN into the input member. 6568// It returns a pointer to a modified copy of input and an error. 6569// Note that original input is not modified. 6570func (s DeleteBucketInput) updateArnableField(v string) (interface{}, error) { 6571 if s.Bucket == nil { 6572 return nil, fmt.Errorf("member Bucket is nil") 6573 } 6574 s.Bucket = aws.String(v) 6575 return &s, nil 6576} 6577 6578// updateAccountID returns a pointer to a modified copy of input, 6579// if account id is not provided, we update the account id in modified input 6580// if account id is provided, but doesn't match with the one in ARN, we throw an error 6581// if account id is not updated, we return nil. Note that original input is not modified. 6582func (s DeleteBucketInput) updateAccountID(accountId string) (interface{}, error) { 6583 if s.AccountId == nil { 6584 s.AccountId = aws.String(accountId) 6585 return &s, nil 6586 } else if *s.AccountId != accountId { 6587 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 6588 } 6589 return nil, nil 6590} 6591 6592type DeleteBucketLifecycleConfigurationInput struct { 6593 _ struct{} `locationName:"DeleteBucketLifecycleConfigurationRequest" type:"structure"` 6594 6595 // The account ID of the lifecycle configuration to delete. 6596 // 6597 // AccountId is a required field 6598 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 6599 6600 // Specifies the bucket. 6601 // 6602 // For using this parameter with Amazon S3 on Outposts with the REST API, you 6603 // must specify the name and the x-amz-outpost-id as well. 6604 // 6605 // For using this parameter with S3 on Outposts with the Amazon Web Services 6606 // SDK and CLI, you must specify the ARN of the bucket accessed in the format 6607 // arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 6608 // For example, to access the bucket reports through outpost my-outpost owned 6609 // 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. 6610 // The value must be URL encoded. 6611 // 6612 // Bucket is a required field 6613 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 6614} 6615 6616// String returns the string representation 6617func (s DeleteBucketLifecycleConfigurationInput) String() string { 6618 return awsutil.Prettify(s) 6619} 6620 6621// GoString returns the string representation 6622func (s DeleteBucketLifecycleConfigurationInput) GoString() string { 6623 return s.String() 6624} 6625 6626// Validate inspects the fields of the type to determine if they are valid. 6627func (s *DeleteBucketLifecycleConfigurationInput) Validate() error { 6628 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketLifecycleConfigurationInput"} 6629 if s.AccountId == nil { 6630 invalidParams.Add(request.NewErrParamRequired("AccountId")) 6631 } 6632 if s.AccountId != nil && len(*s.AccountId) < 1 { 6633 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 6634 } 6635 if s.Bucket == nil { 6636 invalidParams.Add(request.NewErrParamRequired("Bucket")) 6637 } 6638 if s.Bucket != nil && len(*s.Bucket) < 3 { 6639 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 6640 } 6641 6642 if invalidParams.Len() > 0 { 6643 return invalidParams 6644 } 6645 return nil 6646} 6647 6648// SetAccountId sets the AccountId field's value. 6649func (s *DeleteBucketLifecycleConfigurationInput) SetAccountId(v string) *DeleteBucketLifecycleConfigurationInput { 6650 s.AccountId = &v 6651 return s 6652} 6653 6654// SetBucket sets the Bucket field's value. 6655func (s *DeleteBucketLifecycleConfigurationInput) SetBucket(v string) *DeleteBucketLifecycleConfigurationInput { 6656 s.Bucket = &v 6657 return s 6658} 6659 6660func (s *DeleteBucketLifecycleConfigurationInput) hostLabels() map[string]string { 6661 return map[string]string{ 6662 "AccountId": aws.StringValue(s.AccountId), 6663 } 6664} 6665 6666func (s *DeleteBucketLifecycleConfigurationInput) getEndpointARN() (arn.Resource, error) { 6667 if s.Bucket == nil { 6668 return nil, fmt.Errorf("member Bucket is nil") 6669 } 6670 return parseEndpointARN(*s.Bucket) 6671} 6672 6673func (s *DeleteBucketLifecycleConfigurationInput) hasEndpointARN() bool { 6674 if s.Bucket == nil { 6675 return false 6676 } 6677 return arn.IsARN(*s.Bucket) 6678} 6679 6680// updateArnableField updates the value of the input field that 6681// takes an ARN as an input. This method is useful to backfill 6682// the parsed resource name from ARN into the input member. 6683// It returns a pointer to a modified copy of input and an error. 6684// Note that original input is not modified. 6685func (s DeleteBucketLifecycleConfigurationInput) updateArnableField(v string) (interface{}, error) { 6686 if s.Bucket == nil { 6687 return nil, fmt.Errorf("member Bucket is nil") 6688 } 6689 s.Bucket = aws.String(v) 6690 return &s, nil 6691} 6692 6693// updateAccountID returns a pointer to a modified copy of input, 6694// if account id is not provided, we update the account id in modified input 6695// if account id is provided, but doesn't match with the one in ARN, we throw an error 6696// if account id is not updated, we return nil. Note that original input is not modified. 6697func (s DeleteBucketLifecycleConfigurationInput) updateAccountID(accountId string) (interface{}, error) { 6698 if s.AccountId == nil { 6699 s.AccountId = aws.String(accountId) 6700 return &s, nil 6701 } else if *s.AccountId != accountId { 6702 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 6703 } 6704 return nil, nil 6705} 6706 6707type DeleteBucketLifecycleConfigurationOutput struct { 6708 _ struct{} `type:"structure"` 6709} 6710 6711// String returns the string representation 6712func (s DeleteBucketLifecycleConfigurationOutput) String() string { 6713 return awsutil.Prettify(s) 6714} 6715 6716// GoString returns the string representation 6717func (s DeleteBucketLifecycleConfigurationOutput) GoString() string { 6718 return s.String() 6719} 6720 6721type DeleteBucketOutput struct { 6722 _ struct{} `type:"structure"` 6723} 6724 6725// String returns the string representation 6726func (s DeleteBucketOutput) String() string { 6727 return awsutil.Prettify(s) 6728} 6729 6730// GoString returns the string representation 6731func (s DeleteBucketOutput) GoString() string { 6732 return s.String() 6733} 6734 6735type DeleteBucketPolicyInput struct { 6736 _ struct{} `locationName:"DeleteBucketPolicyRequest" type:"structure"` 6737 6738 // The account ID of the Outposts bucket. 6739 // 6740 // AccountId is a required field 6741 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 6742 6743 // Specifies the bucket. 6744 // 6745 // For using this parameter with Amazon S3 on Outposts with the REST API, you 6746 // must specify the name and the x-amz-outpost-id as well. 6747 // 6748 // For using this parameter with S3 on Outposts with the Amazon Web Services 6749 // SDK and CLI, you must specify the ARN of the bucket accessed in the format 6750 // arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 6751 // For example, to access the bucket reports through outpost my-outpost owned 6752 // 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. 6753 // The value must be URL encoded. 6754 // 6755 // Bucket is a required field 6756 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 6757} 6758 6759// String returns the string representation 6760func (s DeleteBucketPolicyInput) String() string { 6761 return awsutil.Prettify(s) 6762} 6763 6764// GoString returns the string representation 6765func (s DeleteBucketPolicyInput) GoString() string { 6766 return s.String() 6767} 6768 6769// Validate inspects the fields of the type to determine if they are valid. 6770func (s *DeleteBucketPolicyInput) Validate() error { 6771 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketPolicyInput"} 6772 if s.AccountId == nil { 6773 invalidParams.Add(request.NewErrParamRequired("AccountId")) 6774 } 6775 if s.AccountId != nil && len(*s.AccountId) < 1 { 6776 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 6777 } 6778 if s.Bucket == nil { 6779 invalidParams.Add(request.NewErrParamRequired("Bucket")) 6780 } 6781 if s.Bucket != nil && len(*s.Bucket) < 3 { 6782 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 6783 } 6784 6785 if invalidParams.Len() > 0 { 6786 return invalidParams 6787 } 6788 return nil 6789} 6790 6791// SetAccountId sets the AccountId field's value. 6792func (s *DeleteBucketPolicyInput) SetAccountId(v string) *DeleteBucketPolicyInput { 6793 s.AccountId = &v 6794 return s 6795} 6796 6797// SetBucket sets the Bucket field's value. 6798func (s *DeleteBucketPolicyInput) SetBucket(v string) *DeleteBucketPolicyInput { 6799 s.Bucket = &v 6800 return s 6801} 6802 6803func (s *DeleteBucketPolicyInput) hostLabels() map[string]string { 6804 return map[string]string{ 6805 "AccountId": aws.StringValue(s.AccountId), 6806 } 6807} 6808 6809func (s *DeleteBucketPolicyInput) getEndpointARN() (arn.Resource, error) { 6810 if s.Bucket == nil { 6811 return nil, fmt.Errorf("member Bucket is nil") 6812 } 6813 return parseEndpointARN(*s.Bucket) 6814} 6815 6816func (s *DeleteBucketPolicyInput) hasEndpointARN() bool { 6817 if s.Bucket == nil { 6818 return false 6819 } 6820 return arn.IsARN(*s.Bucket) 6821} 6822 6823// updateArnableField updates the value of the input field that 6824// takes an ARN as an input. This method is useful to backfill 6825// the parsed resource name from ARN into the input member. 6826// It returns a pointer to a modified copy of input and an error. 6827// Note that original input is not modified. 6828func (s DeleteBucketPolicyInput) updateArnableField(v string) (interface{}, error) { 6829 if s.Bucket == nil { 6830 return nil, fmt.Errorf("member Bucket is nil") 6831 } 6832 s.Bucket = aws.String(v) 6833 return &s, nil 6834} 6835 6836// updateAccountID returns a pointer to a modified copy of input, 6837// if account id is not provided, we update the account id in modified input 6838// if account id is provided, but doesn't match with the one in ARN, we throw an error 6839// if account id is not updated, we return nil. Note that original input is not modified. 6840func (s DeleteBucketPolicyInput) updateAccountID(accountId string) (interface{}, error) { 6841 if s.AccountId == nil { 6842 s.AccountId = aws.String(accountId) 6843 return &s, nil 6844 } else if *s.AccountId != accountId { 6845 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 6846 } 6847 return nil, nil 6848} 6849 6850type DeleteBucketPolicyOutput struct { 6851 _ struct{} `type:"structure"` 6852} 6853 6854// String returns the string representation 6855func (s DeleteBucketPolicyOutput) String() string { 6856 return awsutil.Prettify(s) 6857} 6858 6859// GoString returns the string representation 6860func (s DeleteBucketPolicyOutput) GoString() string { 6861 return s.String() 6862} 6863 6864type DeleteBucketTaggingInput struct { 6865 _ struct{} `locationName:"DeleteBucketTaggingRequest" type:"structure"` 6866 6867 // The account ID of the Outposts bucket tag set to be removed. 6868 // 6869 // AccountId is a required field 6870 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 6871 6872 // The bucket ARN that has the tag set to be removed. 6873 // 6874 // For using this parameter with Amazon S3 on Outposts with the REST API, you 6875 // must specify the name and the x-amz-outpost-id as well. 6876 // 6877 // For using this parameter with S3 on Outposts with the Amazon Web Services 6878 // SDK and CLI, you must specify the ARN of the bucket accessed in the format 6879 // arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 6880 // For example, to access the bucket reports through outpost my-outpost owned 6881 // 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. 6882 // The value must be URL encoded. 6883 // 6884 // Bucket is a required field 6885 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 6886} 6887 6888// String returns the string representation 6889func (s DeleteBucketTaggingInput) String() string { 6890 return awsutil.Prettify(s) 6891} 6892 6893// GoString returns the string representation 6894func (s DeleteBucketTaggingInput) GoString() string { 6895 return s.String() 6896} 6897 6898// Validate inspects the fields of the type to determine if they are valid. 6899func (s *DeleteBucketTaggingInput) Validate() error { 6900 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketTaggingInput"} 6901 if s.AccountId == nil { 6902 invalidParams.Add(request.NewErrParamRequired("AccountId")) 6903 } 6904 if s.AccountId != nil && len(*s.AccountId) < 1 { 6905 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 6906 } 6907 if s.Bucket == nil { 6908 invalidParams.Add(request.NewErrParamRequired("Bucket")) 6909 } 6910 if s.Bucket != nil && len(*s.Bucket) < 3 { 6911 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 6912 } 6913 6914 if invalidParams.Len() > 0 { 6915 return invalidParams 6916 } 6917 return nil 6918} 6919 6920// SetAccountId sets the AccountId field's value. 6921func (s *DeleteBucketTaggingInput) SetAccountId(v string) *DeleteBucketTaggingInput { 6922 s.AccountId = &v 6923 return s 6924} 6925 6926// SetBucket sets the Bucket field's value. 6927func (s *DeleteBucketTaggingInput) SetBucket(v string) *DeleteBucketTaggingInput { 6928 s.Bucket = &v 6929 return s 6930} 6931 6932func (s *DeleteBucketTaggingInput) hostLabels() map[string]string { 6933 return map[string]string{ 6934 "AccountId": aws.StringValue(s.AccountId), 6935 } 6936} 6937 6938func (s *DeleteBucketTaggingInput) getEndpointARN() (arn.Resource, error) { 6939 if s.Bucket == nil { 6940 return nil, fmt.Errorf("member Bucket is nil") 6941 } 6942 return parseEndpointARN(*s.Bucket) 6943} 6944 6945func (s *DeleteBucketTaggingInput) hasEndpointARN() bool { 6946 if s.Bucket == nil { 6947 return false 6948 } 6949 return arn.IsARN(*s.Bucket) 6950} 6951 6952// updateArnableField updates the value of the input field that 6953// takes an ARN as an input. This method is useful to backfill 6954// the parsed resource name from ARN into the input member. 6955// It returns a pointer to a modified copy of input and an error. 6956// Note that original input is not modified. 6957func (s DeleteBucketTaggingInput) updateArnableField(v string) (interface{}, error) { 6958 if s.Bucket == nil { 6959 return nil, fmt.Errorf("member Bucket is nil") 6960 } 6961 s.Bucket = aws.String(v) 6962 return &s, nil 6963} 6964 6965// updateAccountID returns a pointer to a modified copy of input, 6966// if account id is not provided, we update the account id in modified input 6967// if account id is provided, but doesn't match with the one in ARN, we throw an error 6968// if account id is not updated, we return nil. Note that original input is not modified. 6969func (s DeleteBucketTaggingInput) updateAccountID(accountId string) (interface{}, error) { 6970 if s.AccountId == nil { 6971 s.AccountId = aws.String(accountId) 6972 return &s, nil 6973 } else if *s.AccountId != accountId { 6974 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 6975 } 6976 return nil, nil 6977} 6978 6979type DeleteBucketTaggingOutput struct { 6980 _ struct{} `type:"structure"` 6981} 6982 6983// String returns the string representation 6984func (s DeleteBucketTaggingOutput) String() string { 6985 return awsutil.Prettify(s) 6986} 6987 6988// GoString returns the string representation 6989func (s DeleteBucketTaggingOutput) GoString() string { 6990 return s.String() 6991} 6992 6993type DeleteJobTaggingInput struct { 6994 _ struct{} `locationName:"DeleteJobTaggingRequest" type:"structure"` 6995 6996 // The account ID associated with the S3 Batch Operations job. 6997 // 6998 // AccountId is a required field 6999 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 7000 7001 // The ID for the S3 Batch Operations job whose tags you want to delete. 7002 // 7003 // JobId is a required field 7004 JobId *string `location:"uri" locationName:"id" min:"5" type:"string" required:"true"` 7005} 7006 7007// String returns the string representation 7008func (s DeleteJobTaggingInput) String() string { 7009 return awsutil.Prettify(s) 7010} 7011 7012// GoString returns the string representation 7013func (s DeleteJobTaggingInput) GoString() string { 7014 return s.String() 7015} 7016 7017// Validate inspects the fields of the type to determine if they are valid. 7018func (s *DeleteJobTaggingInput) Validate() error { 7019 invalidParams := request.ErrInvalidParams{Context: "DeleteJobTaggingInput"} 7020 if s.AccountId == nil { 7021 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7022 } 7023 if s.AccountId != nil && len(*s.AccountId) < 1 { 7024 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7025 } 7026 if s.JobId == nil { 7027 invalidParams.Add(request.NewErrParamRequired("JobId")) 7028 } 7029 if s.JobId != nil && len(*s.JobId) < 5 { 7030 invalidParams.Add(request.NewErrParamMinLen("JobId", 5)) 7031 } 7032 7033 if invalidParams.Len() > 0 { 7034 return invalidParams 7035 } 7036 return nil 7037} 7038 7039// SetAccountId sets the AccountId field's value. 7040func (s *DeleteJobTaggingInput) SetAccountId(v string) *DeleteJobTaggingInput { 7041 s.AccountId = &v 7042 return s 7043} 7044 7045// SetJobId sets the JobId field's value. 7046func (s *DeleteJobTaggingInput) SetJobId(v string) *DeleteJobTaggingInput { 7047 s.JobId = &v 7048 return s 7049} 7050 7051func (s *DeleteJobTaggingInput) hostLabels() map[string]string { 7052 return map[string]string{ 7053 "AccountId": aws.StringValue(s.AccountId), 7054 } 7055} 7056 7057type DeleteJobTaggingOutput struct { 7058 _ struct{} `type:"structure"` 7059} 7060 7061// String returns the string representation 7062func (s DeleteJobTaggingOutput) String() string { 7063 return awsutil.Prettify(s) 7064} 7065 7066// GoString returns the string representation 7067func (s DeleteJobTaggingOutput) GoString() string { 7068 return s.String() 7069} 7070 7071type DeletePublicAccessBlockInput struct { 7072 _ struct{} `locationName:"DeletePublicAccessBlockRequest" type:"structure"` 7073 7074 // The account ID for the account whose PublicAccessBlock configuration you 7075 // want to remove. 7076 // 7077 // AccountId is a required field 7078 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 7079} 7080 7081// String returns the string representation 7082func (s DeletePublicAccessBlockInput) String() string { 7083 return awsutil.Prettify(s) 7084} 7085 7086// GoString returns the string representation 7087func (s DeletePublicAccessBlockInput) GoString() string { 7088 return s.String() 7089} 7090 7091// Validate inspects the fields of the type to determine if they are valid. 7092func (s *DeletePublicAccessBlockInput) Validate() error { 7093 invalidParams := request.ErrInvalidParams{Context: "DeletePublicAccessBlockInput"} 7094 if s.AccountId == nil { 7095 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7096 } 7097 if s.AccountId != nil && len(*s.AccountId) < 1 { 7098 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7099 } 7100 7101 if invalidParams.Len() > 0 { 7102 return invalidParams 7103 } 7104 return nil 7105} 7106 7107// SetAccountId sets the AccountId field's value. 7108func (s *DeletePublicAccessBlockInput) SetAccountId(v string) *DeletePublicAccessBlockInput { 7109 s.AccountId = &v 7110 return s 7111} 7112 7113func (s *DeletePublicAccessBlockInput) hostLabels() map[string]string { 7114 return map[string]string{ 7115 "AccountId": aws.StringValue(s.AccountId), 7116 } 7117} 7118 7119type DeletePublicAccessBlockOutput struct { 7120 _ struct{} `type:"structure"` 7121} 7122 7123// String returns the string representation 7124func (s DeletePublicAccessBlockOutput) String() string { 7125 return awsutil.Prettify(s) 7126} 7127 7128// GoString returns the string representation 7129func (s DeletePublicAccessBlockOutput) GoString() string { 7130 return s.String() 7131} 7132 7133type DeleteStorageLensConfigurationInput struct { 7134 _ struct{} `locationName:"DeleteStorageLensConfigurationRequest" type:"structure"` 7135 7136 // The account ID of the requester. 7137 // 7138 // AccountId is a required field 7139 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 7140 7141 // The ID of the S3 Storage Lens configuration. 7142 // 7143 // ConfigId is a required field 7144 ConfigId *string `location:"uri" locationName:"storagelensid" min:"1" type:"string" required:"true"` 7145} 7146 7147// String returns the string representation 7148func (s DeleteStorageLensConfigurationInput) String() string { 7149 return awsutil.Prettify(s) 7150} 7151 7152// GoString returns the string representation 7153func (s DeleteStorageLensConfigurationInput) GoString() string { 7154 return s.String() 7155} 7156 7157// Validate inspects the fields of the type to determine if they are valid. 7158func (s *DeleteStorageLensConfigurationInput) Validate() error { 7159 invalidParams := request.ErrInvalidParams{Context: "DeleteStorageLensConfigurationInput"} 7160 if s.AccountId == nil { 7161 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7162 } 7163 if s.AccountId != nil && len(*s.AccountId) < 1 { 7164 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7165 } 7166 if s.ConfigId == nil { 7167 invalidParams.Add(request.NewErrParamRequired("ConfigId")) 7168 } 7169 if s.ConfigId != nil && len(*s.ConfigId) < 1 { 7170 invalidParams.Add(request.NewErrParamMinLen("ConfigId", 1)) 7171 } 7172 7173 if invalidParams.Len() > 0 { 7174 return invalidParams 7175 } 7176 return nil 7177} 7178 7179// SetAccountId sets the AccountId field's value. 7180func (s *DeleteStorageLensConfigurationInput) SetAccountId(v string) *DeleteStorageLensConfigurationInput { 7181 s.AccountId = &v 7182 return s 7183} 7184 7185// SetConfigId sets the ConfigId field's value. 7186func (s *DeleteStorageLensConfigurationInput) SetConfigId(v string) *DeleteStorageLensConfigurationInput { 7187 s.ConfigId = &v 7188 return s 7189} 7190 7191func (s *DeleteStorageLensConfigurationInput) hostLabels() map[string]string { 7192 return map[string]string{ 7193 "AccountId": aws.StringValue(s.AccountId), 7194 } 7195} 7196 7197type DeleteStorageLensConfigurationOutput struct { 7198 _ struct{} `type:"structure"` 7199} 7200 7201// String returns the string representation 7202func (s DeleteStorageLensConfigurationOutput) String() string { 7203 return awsutil.Prettify(s) 7204} 7205 7206// GoString returns the string representation 7207func (s DeleteStorageLensConfigurationOutput) GoString() string { 7208 return s.String() 7209} 7210 7211type DeleteStorageLensConfigurationTaggingInput struct { 7212 _ struct{} `locationName:"DeleteStorageLensConfigurationTaggingRequest" type:"structure"` 7213 7214 // The account ID of the requester. 7215 // 7216 // AccountId is a required field 7217 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 7218 7219 // The ID of the S3 Storage Lens configuration. 7220 // 7221 // ConfigId is a required field 7222 ConfigId *string `location:"uri" locationName:"storagelensid" min:"1" type:"string" required:"true"` 7223} 7224 7225// String returns the string representation 7226func (s DeleteStorageLensConfigurationTaggingInput) String() string { 7227 return awsutil.Prettify(s) 7228} 7229 7230// GoString returns the string representation 7231func (s DeleteStorageLensConfigurationTaggingInput) GoString() string { 7232 return s.String() 7233} 7234 7235// Validate inspects the fields of the type to determine if they are valid. 7236func (s *DeleteStorageLensConfigurationTaggingInput) Validate() error { 7237 invalidParams := request.ErrInvalidParams{Context: "DeleteStorageLensConfigurationTaggingInput"} 7238 if s.AccountId == nil { 7239 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7240 } 7241 if s.AccountId != nil && len(*s.AccountId) < 1 { 7242 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7243 } 7244 if s.ConfigId == nil { 7245 invalidParams.Add(request.NewErrParamRequired("ConfigId")) 7246 } 7247 if s.ConfigId != nil && len(*s.ConfigId) < 1 { 7248 invalidParams.Add(request.NewErrParamMinLen("ConfigId", 1)) 7249 } 7250 7251 if invalidParams.Len() > 0 { 7252 return invalidParams 7253 } 7254 return nil 7255} 7256 7257// SetAccountId sets the AccountId field's value. 7258func (s *DeleteStorageLensConfigurationTaggingInput) SetAccountId(v string) *DeleteStorageLensConfigurationTaggingInput { 7259 s.AccountId = &v 7260 return s 7261} 7262 7263// SetConfigId sets the ConfigId field's value. 7264func (s *DeleteStorageLensConfigurationTaggingInput) SetConfigId(v string) *DeleteStorageLensConfigurationTaggingInput { 7265 s.ConfigId = &v 7266 return s 7267} 7268 7269func (s *DeleteStorageLensConfigurationTaggingInput) hostLabels() map[string]string { 7270 return map[string]string{ 7271 "AccountId": aws.StringValue(s.AccountId), 7272 } 7273} 7274 7275type DeleteStorageLensConfigurationTaggingOutput struct { 7276 _ struct{} `type:"structure"` 7277} 7278 7279// String returns the string representation 7280func (s DeleteStorageLensConfigurationTaggingOutput) String() string { 7281 return awsutil.Prettify(s) 7282} 7283 7284// GoString returns the string representation 7285func (s DeleteStorageLensConfigurationTaggingOutput) GoString() string { 7286 return s.String() 7287} 7288 7289type DescribeJobInput struct { 7290 _ struct{} `locationName:"DescribeJobRequest" type:"structure"` 7291 7292 // The account ID associated with the S3 Batch Operations job. 7293 // 7294 // AccountId is a required field 7295 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 7296 7297 // The ID for the job whose information you want to retrieve. 7298 // 7299 // JobId is a required field 7300 JobId *string `location:"uri" locationName:"id" min:"5" type:"string" required:"true"` 7301} 7302 7303// String returns the string representation 7304func (s DescribeJobInput) String() string { 7305 return awsutil.Prettify(s) 7306} 7307 7308// GoString returns the string representation 7309func (s DescribeJobInput) GoString() string { 7310 return s.String() 7311} 7312 7313// Validate inspects the fields of the type to determine if they are valid. 7314func (s *DescribeJobInput) Validate() error { 7315 invalidParams := request.ErrInvalidParams{Context: "DescribeJobInput"} 7316 if s.AccountId == nil { 7317 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7318 } 7319 if s.AccountId != nil && len(*s.AccountId) < 1 { 7320 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7321 } 7322 if s.JobId == nil { 7323 invalidParams.Add(request.NewErrParamRequired("JobId")) 7324 } 7325 if s.JobId != nil && len(*s.JobId) < 5 { 7326 invalidParams.Add(request.NewErrParamMinLen("JobId", 5)) 7327 } 7328 7329 if invalidParams.Len() > 0 { 7330 return invalidParams 7331 } 7332 return nil 7333} 7334 7335// SetAccountId sets the AccountId field's value. 7336func (s *DescribeJobInput) SetAccountId(v string) *DescribeJobInput { 7337 s.AccountId = &v 7338 return s 7339} 7340 7341// SetJobId sets the JobId field's value. 7342func (s *DescribeJobInput) SetJobId(v string) *DescribeJobInput { 7343 s.JobId = &v 7344 return s 7345} 7346 7347func (s *DescribeJobInput) hostLabels() map[string]string { 7348 return map[string]string{ 7349 "AccountId": aws.StringValue(s.AccountId), 7350 } 7351} 7352 7353type DescribeJobOutput struct { 7354 _ struct{} `type:"structure"` 7355 7356 // Contains the configuration parameters and status for the job specified in 7357 // the Describe Job request. 7358 Job *JobDescriptor `type:"structure"` 7359} 7360 7361// String returns the string representation 7362func (s DescribeJobOutput) String() string { 7363 return awsutil.Prettify(s) 7364} 7365 7366// GoString returns the string representation 7367func (s DescribeJobOutput) GoString() string { 7368 return s.String() 7369} 7370 7371// SetJob sets the Job field's value. 7372func (s *DescribeJobOutput) SetJob(v *JobDescriptor) *DescribeJobOutput { 7373 s.Job = v 7374 return s 7375} 7376 7377// A container for what Amazon S3 Storage Lens will exclude. 7378type Exclude struct { 7379 _ struct{} `type:"structure"` 7380 7381 // A container for the S3 Storage Lens bucket excludes. 7382 Buckets []*string `locationNameList:"Arn" type:"list"` 7383 7384 // A container for the S3 Storage Lens Region excludes. 7385 Regions []*string `locationNameList:"Region" type:"list"` 7386} 7387 7388// String returns the string representation 7389func (s Exclude) String() string { 7390 return awsutil.Prettify(s) 7391} 7392 7393// GoString returns the string representation 7394func (s Exclude) GoString() string { 7395 return s.String() 7396} 7397 7398// SetBuckets sets the Buckets field's value. 7399func (s *Exclude) SetBuckets(v []*string) *Exclude { 7400 s.Buckets = v 7401 return s 7402} 7403 7404// SetRegions sets the Regions field's value. 7405func (s *Exclude) SetRegions(v []*string) *Exclude { 7406 s.Regions = v 7407 return s 7408} 7409 7410type GetAccessPointConfigurationForObjectLambdaInput struct { 7411 _ struct{} `locationName:"GetAccessPointConfigurationForObjectLambdaRequest" type:"structure"` 7412 7413 // The account ID for the account that owns the specified Object Lambda Access 7414 // Point. 7415 // 7416 // AccountId is a required field 7417 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 7418 7419 // The name of the Object Lambda Access Point you want to return the configuration 7420 // for. 7421 // 7422 // Name is a required field 7423 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 7424} 7425 7426// String returns the string representation 7427func (s GetAccessPointConfigurationForObjectLambdaInput) String() string { 7428 return awsutil.Prettify(s) 7429} 7430 7431// GoString returns the string representation 7432func (s GetAccessPointConfigurationForObjectLambdaInput) GoString() string { 7433 return s.String() 7434} 7435 7436// Validate inspects the fields of the type to determine if they are valid. 7437func (s *GetAccessPointConfigurationForObjectLambdaInput) Validate() error { 7438 invalidParams := request.ErrInvalidParams{Context: "GetAccessPointConfigurationForObjectLambdaInput"} 7439 if s.AccountId == nil { 7440 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7441 } 7442 if s.AccountId != nil && len(*s.AccountId) < 1 { 7443 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7444 } 7445 if s.Name == nil { 7446 invalidParams.Add(request.NewErrParamRequired("Name")) 7447 } 7448 if s.Name != nil && len(*s.Name) < 3 { 7449 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 7450 } 7451 7452 if invalidParams.Len() > 0 { 7453 return invalidParams 7454 } 7455 return nil 7456} 7457 7458// SetAccountId sets the AccountId field's value. 7459func (s *GetAccessPointConfigurationForObjectLambdaInput) SetAccountId(v string) *GetAccessPointConfigurationForObjectLambdaInput { 7460 s.AccountId = &v 7461 return s 7462} 7463 7464// SetName sets the Name field's value. 7465func (s *GetAccessPointConfigurationForObjectLambdaInput) SetName(v string) *GetAccessPointConfigurationForObjectLambdaInput { 7466 s.Name = &v 7467 return s 7468} 7469 7470func (s *GetAccessPointConfigurationForObjectLambdaInput) hostLabels() map[string]string { 7471 return map[string]string{ 7472 "AccountId": aws.StringValue(s.AccountId), 7473 } 7474} 7475 7476type GetAccessPointConfigurationForObjectLambdaOutput struct { 7477 _ struct{} `type:"structure"` 7478 7479 // Object Lambda Access Point configuration document. 7480 Configuration *ObjectLambdaConfiguration `type:"structure"` 7481} 7482 7483// String returns the string representation 7484func (s GetAccessPointConfigurationForObjectLambdaOutput) String() string { 7485 return awsutil.Prettify(s) 7486} 7487 7488// GoString returns the string representation 7489func (s GetAccessPointConfigurationForObjectLambdaOutput) GoString() string { 7490 return s.String() 7491} 7492 7493// SetConfiguration sets the Configuration field's value. 7494func (s *GetAccessPointConfigurationForObjectLambdaOutput) SetConfiguration(v *ObjectLambdaConfiguration) *GetAccessPointConfigurationForObjectLambdaOutput { 7495 s.Configuration = v 7496 return s 7497} 7498 7499type GetAccessPointForObjectLambdaInput struct { 7500 _ struct{} `locationName:"GetAccessPointForObjectLambdaRequest" type:"structure"` 7501 7502 // The account ID for the account that owns the specified Object Lambda Access 7503 // Point. 7504 // 7505 // AccountId is a required field 7506 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 7507 7508 // The name of the Object Lambda Access Point. 7509 // 7510 // Name is a required field 7511 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 7512} 7513 7514// String returns the string representation 7515func (s GetAccessPointForObjectLambdaInput) String() string { 7516 return awsutil.Prettify(s) 7517} 7518 7519// GoString returns the string representation 7520func (s GetAccessPointForObjectLambdaInput) GoString() string { 7521 return s.String() 7522} 7523 7524// Validate inspects the fields of the type to determine if they are valid. 7525func (s *GetAccessPointForObjectLambdaInput) Validate() error { 7526 invalidParams := request.ErrInvalidParams{Context: "GetAccessPointForObjectLambdaInput"} 7527 if s.AccountId == nil { 7528 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7529 } 7530 if s.AccountId != nil && len(*s.AccountId) < 1 { 7531 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7532 } 7533 if s.Name == nil { 7534 invalidParams.Add(request.NewErrParamRequired("Name")) 7535 } 7536 if s.Name != nil && len(*s.Name) < 3 { 7537 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 7538 } 7539 7540 if invalidParams.Len() > 0 { 7541 return invalidParams 7542 } 7543 return nil 7544} 7545 7546// SetAccountId sets the AccountId field's value. 7547func (s *GetAccessPointForObjectLambdaInput) SetAccountId(v string) *GetAccessPointForObjectLambdaInput { 7548 s.AccountId = &v 7549 return s 7550} 7551 7552// SetName sets the Name field's value. 7553func (s *GetAccessPointForObjectLambdaInput) SetName(v string) *GetAccessPointForObjectLambdaInput { 7554 s.Name = &v 7555 return s 7556} 7557 7558func (s *GetAccessPointForObjectLambdaInput) hostLabels() map[string]string { 7559 return map[string]string{ 7560 "AccountId": aws.StringValue(s.AccountId), 7561 } 7562} 7563 7564type GetAccessPointForObjectLambdaOutput struct { 7565 _ struct{} `type:"structure"` 7566 7567 // The date and time when the specified Object Lambda Access Point was created. 7568 CreationDate *time.Time `type:"timestamp"` 7569 7570 // The name of the Object Lambda Access Point. 7571 Name *string `min:"3" type:"string"` 7572 7573 // Configuration to block all public access. This setting is turned on and can 7574 // not be edited. 7575 PublicAccessBlockConfiguration *PublicAccessBlockConfiguration `type:"structure"` 7576} 7577 7578// String returns the string representation 7579func (s GetAccessPointForObjectLambdaOutput) String() string { 7580 return awsutil.Prettify(s) 7581} 7582 7583// GoString returns the string representation 7584func (s GetAccessPointForObjectLambdaOutput) GoString() string { 7585 return s.String() 7586} 7587 7588// SetCreationDate sets the CreationDate field's value. 7589func (s *GetAccessPointForObjectLambdaOutput) SetCreationDate(v time.Time) *GetAccessPointForObjectLambdaOutput { 7590 s.CreationDate = &v 7591 return s 7592} 7593 7594// SetName sets the Name field's value. 7595func (s *GetAccessPointForObjectLambdaOutput) SetName(v string) *GetAccessPointForObjectLambdaOutput { 7596 s.Name = &v 7597 return s 7598} 7599 7600// SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value. 7601func (s *GetAccessPointForObjectLambdaOutput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *GetAccessPointForObjectLambdaOutput { 7602 s.PublicAccessBlockConfiguration = v 7603 return s 7604} 7605 7606type GetAccessPointInput struct { 7607 _ struct{} `locationName:"GetAccessPointRequest" type:"structure"` 7608 7609 // The account ID for the account that owns the specified access point. 7610 // 7611 // AccountId is a required field 7612 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 7613 7614 // The name of the access point whose configuration information you want to 7615 // retrieve. 7616 // 7617 // For using this parameter with Amazon S3 on Outposts with the REST API, you 7618 // must specify the name and the x-amz-outpost-id as well. 7619 // 7620 // For using this parameter with S3 on Outposts with the Amazon Web Services 7621 // SDK and CLI, you must specify the ARN of the access point accessed in the 7622 // format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>. 7623 // For example, to access the access point reports-ap through outpost my-outpost 7624 // owned by account 123456789012 in Region us-west-2, use the URL encoding of 7625 // arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. 7626 // The value must be URL encoded. 7627 // 7628 // Name is a required field 7629 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 7630} 7631 7632// String returns the string representation 7633func (s GetAccessPointInput) String() string { 7634 return awsutil.Prettify(s) 7635} 7636 7637// GoString returns the string representation 7638func (s GetAccessPointInput) GoString() string { 7639 return s.String() 7640} 7641 7642// Validate inspects the fields of the type to determine if they are valid. 7643func (s *GetAccessPointInput) Validate() error { 7644 invalidParams := request.ErrInvalidParams{Context: "GetAccessPointInput"} 7645 if s.AccountId == nil { 7646 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7647 } 7648 if s.AccountId != nil && len(*s.AccountId) < 1 { 7649 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7650 } 7651 if s.Name == nil { 7652 invalidParams.Add(request.NewErrParamRequired("Name")) 7653 } 7654 if s.Name != nil && len(*s.Name) < 3 { 7655 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 7656 } 7657 7658 if invalidParams.Len() > 0 { 7659 return invalidParams 7660 } 7661 return nil 7662} 7663 7664// SetAccountId sets the AccountId field's value. 7665func (s *GetAccessPointInput) SetAccountId(v string) *GetAccessPointInput { 7666 s.AccountId = &v 7667 return s 7668} 7669 7670// SetName sets the Name field's value. 7671func (s *GetAccessPointInput) SetName(v string) *GetAccessPointInput { 7672 s.Name = &v 7673 return s 7674} 7675 7676func (s *GetAccessPointInput) hostLabels() map[string]string { 7677 return map[string]string{ 7678 "AccountId": aws.StringValue(s.AccountId), 7679 } 7680} 7681 7682func (s *GetAccessPointInput) getEndpointARN() (arn.Resource, error) { 7683 if s.Name == nil { 7684 return nil, fmt.Errorf("member Name is nil") 7685 } 7686 return parseEndpointARN(*s.Name) 7687} 7688 7689func (s *GetAccessPointInput) hasEndpointARN() bool { 7690 if s.Name == nil { 7691 return false 7692 } 7693 return arn.IsARN(*s.Name) 7694} 7695 7696// updateArnableField updates the value of the input field that 7697// takes an ARN as an input. This method is useful to backfill 7698// the parsed resource name from ARN into the input member. 7699// It returns a pointer to a modified copy of input and an error. 7700// Note that original input is not modified. 7701func (s GetAccessPointInput) updateArnableField(v string) (interface{}, error) { 7702 if s.Name == nil { 7703 return nil, fmt.Errorf("member Name is nil") 7704 } 7705 s.Name = aws.String(v) 7706 return &s, nil 7707} 7708 7709// updateAccountID returns a pointer to a modified copy of input, 7710// if account id is not provided, we update the account id in modified input 7711// if account id is provided, but doesn't match with the one in ARN, we throw an error 7712// if account id is not updated, we return nil. Note that original input is not modified. 7713func (s GetAccessPointInput) updateAccountID(accountId string) (interface{}, error) { 7714 if s.AccountId == nil { 7715 s.AccountId = aws.String(accountId) 7716 return &s, nil 7717 } else if *s.AccountId != accountId { 7718 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 7719 } 7720 return nil, nil 7721} 7722 7723type GetAccessPointOutput struct { 7724 _ struct{} `type:"structure"` 7725 7726 // The ARN of the access point. 7727 AccessPointArn *string `min:"4" type:"string"` 7728 7729 // The name or alias of the access point. 7730 Alias *string `type:"string"` 7731 7732 // The name of the bucket associated with the specified access point. 7733 Bucket *string `min:"3" type:"string"` 7734 7735 // The date and time when the specified access point was created. 7736 CreationDate *time.Time `type:"timestamp"` 7737 7738 // The VPC endpoint for the access point. 7739 Endpoints map[string]*string `type:"map"` 7740 7741 // The name of the specified access point. 7742 Name *string `min:"3" type:"string"` 7743 7744 // Indicates whether this access point allows access from the public internet. 7745 // If VpcConfiguration is specified for this access point, then NetworkOrigin 7746 // is VPC, and the access point doesn't allow access from the public internet. 7747 // Otherwise, NetworkOrigin is Internet, and the access point allows access 7748 // from the public internet, subject to the access point and bucket access policies. 7749 // 7750 // This will always be true for an Amazon S3 on Outposts access point 7751 NetworkOrigin *string `type:"string" enum:"NetworkOrigin"` 7752 7753 // The PublicAccessBlock configuration that you want to apply to this Amazon 7754 // S3 account. You can enable the configuration options in any combination. 7755 // For more information about when Amazon S3 considers a bucket or object public, 7756 // 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) 7757 // in the Amazon S3 User Guide. 7758 // 7759 // This is not supported for Amazon S3 on Outposts. 7760 PublicAccessBlockConfiguration *PublicAccessBlockConfiguration `type:"structure"` 7761 7762 // Contains the virtual private cloud (VPC) configuration for the specified 7763 // access point. 7764 // 7765 // This element is empty if this access point is an Amazon S3 on Outposts access 7766 // point that is used by other Amazon Web Services. 7767 VpcConfiguration *VpcConfiguration `type:"structure"` 7768} 7769 7770// String returns the string representation 7771func (s GetAccessPointOutput) String() string { 7772 return awsutil.Prettify(s) 7773} 7774 7775// GoString returns the string representation 7776func (s GetAccessPointOutput) GoString() string { 7777 return s.String() 7778} 7779 7780// SetAccessPointArn sets the AccessPointArn field's value. 7781func (s *GetAccessPointOutput) SetAccessPointArn(v string) *GetAccessPointOutput { 7782 s.AccessPointArn = &v 7783 return s 7784} 7785 7786// SetAlias sets the Alias field's value. 7787func (s *GetAccessPointOutput) SetAlias(v string) *GetAccessPointOutput { 7788 s.Alias = &v 7789 return s 7790} 7791 7792// SetBucket sets the Bucket field's value. 7793func (s *GetAccessPointOutput) SetBucket(v string) *GetAccessPointOutput { 7794 s.Bucket = &v 7795 return s 7796} 7797 7798// SetCreationDate sets the CreationDate field's value. 7799func (s *GetAccessPointOutput) SetCreationDate(v time.Time) *GetAccessPointOutput { 7800 s.CreationDate = &v 7801 return s 7802} 7803 7804// SetEndpoints sets the Endpoints field's value. 7805func (s *GetAccessPointOutput) SetEndpoints(v map[string]*string) *GetAccessPointOutput { 7806 s.Endpoints = v 7807 return s 7808} 7809 7810// SetName sets the Name field's value. 7811func (s *GetAccessPointOutput) SetName(v string) *GetAccessPointOutput { 7812 s.Name = &v 7813 return s 7814} 7815 7816// SetNetworkOrigin sets the NetworkOrigin field's value. 7817func (s *GetAccessPointOutput) SetNetworkOrigin(v string) *GetAccessPointOutput { 7818 s.NetworkOrigin = &v 7819 return s 7820} 7821 7822// SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value. 7823func (s *GetAccessPointOutput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *GetAccessPointOutput { 7824 s.PublicAccessBlockConfiguration = v 7825 return s 7826} 7827 7828// SetVpcConfiguration sets the VpcConfiguration field's value. 7829func (s *GetAccessPointOutput) SetVpcConfiguration(v *VpcConfiguration) *GetAccessPointOutput { 7830 s.VpcConfiguration = v 7831 return s 7832} 7833 7834type GetAccessPointPolicyForObjectLambdaInput struct { 7835 _ struct{} `locationName:"GetAccessPointPolicyForObjectLambdaRequest" type:"structure"` 7836 7837 // The account ID for the account that owns the specified Object Lambda Access 7838 // Point. 7839 // 7840 // AccountId is a required field 7841 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 7842 7843 // The name of the Object Lambda Access Point. 7844 // 7845 // Name is a required field 7846 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 7847} 7848 7849// String returns the string representation 7850func (s GetAccessPointPolicyForObjectLambdaInput) String() string { 7851 return awsutil.Prettify(s) 7852} 7853 7854// GoString returns the string representation 7855func (s GetAccessPointPolicyForObjectLambdaInput) GoString() string { 7856 return s.String() 7857} 7858 7859// Validate inspects the fields of the type to determine if they are valid. 7860func (s *GetAccessPointPolicyForObjectLambdaInput) Validate() error { 7861 invalidParams := request.ErrInvalidParams{Context: "GetAccessPointPolicyForObjectLambdaInput"} 7862 if s.AccountId == nil { 7863 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7864 } 7865 if s.AccountId != nil && len(*s.AccountId) < 1 { 7866 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7867 } 7868 if s.Name == nil { 7869 invalidParams.Add(request.NewErrParamRequired("Name")) 7870 } 7871 if s.Name != nil && len(*s.Name) < 3 { 7872 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 7873 } 7874 7875 if invalidParams.Len() > 0 { 7876 return invalidParams 7877 } 7878 return nil 7879} 7880 7881// SetAccountId sets the AccountId field's value. 7882func (s *GetAccessPointPolicyForObjectLambdaInput) SetAccountId(v string) *GetAccessPointPolicyForObjectLambdaInput { 7883 s.AccountId = &v 7884 return s 7885} 7886 7887// SetName sets the Name field's value. 7888func (s *GetAccessPointPolicyForObjectLambdaInput) SetName(v string) *GetAccessPointPolicyForObjectLambdaInput { 7889 s.Name = &v 7890 return s 7891} 7892 7893func (s *GetAccessPointPolicyForObjectLambdaInput) hostLabels() map[string]string { 7894 return map[string]string{ 7895 "AccountId": aws.StringValue(s.AccountId), 7896 } 7897} 7898 7899type GetAccessPointPolicyForObjectLambdaOutput struct { 7900 _ struct{} `type:"structure"` 7901 7902 // Object Lambda Access Point resource policy document. 7903 Policy *string `type:"string"` 7904} 7905 7906// String returns the string representation 7907func (s GetAccessPointPolicyForObjectLambdaOutput) String() string { 7908 return awsutil.Prettify(s) 7909} 7910 7911// GoString returns the string representation 7912func (s GetAccessPointPolicyForObjectLambdaOutput) GoString() string { 7913 return s.String() 7914} 7915 7916// SetPolicy sets the Policy field's value. 7917func (s *GetAccessPointPolicyForObjectLambdaOutput) SetPolicy(v string) *GetAccessPointPolicyForObjectLambdaOutput { 7918 s.Policy = &v 7919 return s 7920} 7921 7922type GetAccessPointPolicyInput struct { 7923 _ struct{} `locationName:"GetAccessPointPolicyRequest" type:"structure"` 7924 7925 // The account ID for the account that owns the specified access point. 7926 // 7927 // AccountId is a required field 7928 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 7929 7930 // The name of the access point whose policy you want to retrieve. 7931 // 7932 // For using this parameter with Amazon S3 on Outposts with the REST API, you 7933 // must specify the name and the x-amz-outpost-id as well. 7934 // 7935 // For using this parameter with S3 on Outposts with the Amazon Web Services 7936 // SDK and CLI, you must specify the ARN of the access point accessed in the 7937 // format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>. 7938 // For example, to access the access point reports-ap through outpost my-outpost 7939 // owned by account 123456789012 in Region us-west-2, use the URL encoding of 7940 // arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. 7941 // The value must be URL encoded. 7942 // 7943 // Name is a required field 7944 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 7945} 7946 7947// String returns the string representation 7948func (s GetAccessPointPolicyInput) String() string { 7949 return awsutil.Prettify(s) 7950} 7951 7952// GoString returns the string representation 7953func (s GetAccessPointPolicyInput) GoString() string { 7954 return s.String() 7955} 7956 7957// Validate inspects the fields of the type to determine if they are valid. 7958func (s *GetAccessPointPolicyInput) Validate() error { 7959 invalidParams := request.ErrInvalidParams{Context: "GetAccessPointPolicyInput"} 7960 if s.AccountId == nil { 7961 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7962 } 7963 if s.AccountId != nil && len(*s.AccountId) < 1 { 7964 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7965 } 7966 if s.Name == nil { 7967 invalidParams.Add(request.NewErrParamRequired("Name")) 7968 } 7969 if s.Name != nil && len(*s.Name) < 3 { 7970 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 7971 } 7972 7973 if invalidParams.Len() > 0 { 7974 return invalidParams 7975 } 7976 return nil 7977} 7978 7979// SetAccountId sets the AccountId field's value. 7980func (s *GetAccessPointPolicyInput) SetAccountId(v string) *GetAccessPointPolicyInput { 7981 s.AccountId = &v 7982 return s 7983} 7984 7985// SetName sets the Name field's value. 7986func (s *GetAccessPointPolicyInput) SetName(v string) *GetAccessPointPolicyInput { 7987 s.Name = &v 7988 return s 7989} 7990 7991func (s *GetAccessPointPolicyInput) hostLabels() map[string]string { 7992 return map[string]string{ 7993 "AccountId": aws.StringValue(s.AccountId), 7994 } 7995} 7996 7997func (s *GetAccessPointPolicyInput) getEndpointARN() (arn.Resource, error) { 7998 if s.Name == nil { 7999 return nil, fmt.Errorf("member Name is nil") 8000 } 8001 return parseEndpointARN(*s.Name) 8002} 8003 8004func (s *GetAccessPointPolicyInput) hasEndpointARN() bool { 8005 if s.Name == nil { 8006 return false 8007 } 8008 return arn.IsARN(*s.Name) 8009} 8010 8011// updateArnableField updates the value of the input field that 8012// takes an ARN as an input. This method is useful to backfill 8013// the parsed resource name from ARN into the input member. 8014// It returns a pointer to a modified copy of input and an error. 8015// Note that original input is not modified. 8016func (s GetAccessPointPolicyInput) updateArnableField(v string) (interface{}, error) { 8017 if s.Name == nil { 8018 return nil, fmt.Errorf("member Name is nil") 8019 } 8020 s.Name = aws.String(v) 8021 return &s, nil 8022} 8023 8024// updateAccountID returns a pointer to a modified copy of input, 8025// if account id is not provided, we update the account id in modified input 8026// if account id is provided, but doesn't match with the one in ARN, we throw an error 8027// if account id is not updated, we return nil. Note that original input is not modified. 8028func (s GetAccessPointPolicyInput) updateAccountID(accountId string) (interface{}, error) { 8029 if s.AccountId == nil { 8030 s.AccountId = aws.String(accountId) 8031 return &s, nil 8032 } else if *s.AccountId != accountId { 8033 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 8034 } 8035 return nil, nil 8036} 8037 8038type GetAccessPointPolicyOutput struct { 8039 _ struct{} `type:"structure"` 8040 8041 // The access point policy associated with the specified access point. 8042 Policy *string `type:"string"` 8043} 8044 8045// String returns the string representation 8046func (s GetAccessPointPolicyOutput) String() string { 8047 return awsutil.Prettify(s) 8048} 8049 8050// GoString returns the string representation 8051func (s GetAccessPointPolicyOutput) GoString() string { 8052 return s.String() 8053} 8054 8055// SetPolicy sets the Policy field's value. 8056func (s *GetAccessPointPolicyOutput) SetPolicy(v string) *GetAccessPointPolicyOutput { 8057 s.Policy = &v 8058 return s 8059} 8060 8061type GetAccessPointPolicyStatusForObjectLambdaInput struct { 8062 _ struct{} `locationName:"GetAccessPointPolicyStatusForObjectLambdaRequest" type:"structure"` 8063 8064 // The account ID for the account that owns the specified Object Lambda Access 8065 // Point. 8066 // 8067 // AccountId is a required field 8068 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 8069 8070 // The name of the Object Lambda Access Point. 8071 // 8072 // Name is a required field 8073 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 8074} 8075 8076// String returns the string representation 8077func (s GetAccessPointPolicyStatusForObjectLambdaInput) String() string { 8078 return awsutil.Prettify(s) 8079} 8080 8081// GoString returns the string representation 8082func (s GetAccessPointPolicyStatusForObjectLambdaInput) GoString() string { 8083 return s.String() 8084} 8085 8086// Validate inspects the fields of the type to determine if they are valid. 8087func (s *GetAccessPointPolicyStatusForObjectLambdaInput) Validate() error { 8088 invalidParams := request.ErrInvalidParams{Context: "GetAccessPointPolicyStatusForObjectLambdaInput"} 8089 if s.AccountId == nil { 8090 invalidParams.Add(request.NewErrParamRequired("AccountId")) 8091 } 8092 if s.AccountId != nil && len(*s.AccountId) < 1 { 8093 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 8094 } 8095 if s.Name == nil { 8096 invalidParams.Add(request.NewErrParamRequired("Name")) 8097 } 8098 if s.Name != nil && len(*s.Name) < 3 { 8099 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 8100 } 8101 8102 if invalidParams.Len() > 0 { 8103 return invalidParams 8104 } 8105 return nil 8106} 8107 8108// SetAccountId sets the AccountId field's value. 8109func (s *GetAccessPointPolicyStatusForObjectLambdaInput) SetAccountId(v string) *GetAccessPointPolicyStatusForObjectLambdaInput { 8110 s.AccountId = &v 8111 return s 8112} 8113 8114// SetName sets the Name field's value. 8115func (s *GetAccessPointPolicyStatusForObjectLambdaInput) SetName(v string) *GetAccessPointPolicyStatusForObjectLambdaInput { 8116 s.Name = &v 8117 return s 8118} 8119 8120func (s *GetAccessPointPolicyStatusForObjectLambdaInput) hostLabels() map[string]string { 8121 return map[string]string{ 8122 "AccountId": aws.StringValue(s.AccountId), 8123 } 8124} 8125 8126type GetAccessPointPolicyStatusForObjectLambdaOutput struct { 8127 _ struct{} `type:"structure"` 8128 8129 // Indicates whether this access point policy is public. For more information 8130 // about how Amazon S3 evaluates policies to determine whether they are public, 8131 // 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) 8132 // in the Amazon S3 User Guide. 8133 PolicyStatus *PolicyStatus `type:"structure"` 8134} 8135 8136// String returns the string representation 8137func (s GetAccessPointPolicyStatusForObjectLambdaOutput) String() string { 8138 return awsutil.Prettify(s) 8139} 8140 8141// GoString returns the string representation 8142func (s GetAccessPointPolicyStatusForObjectLambdaOutput) GoString() string { 8143 return s.String() 8144} 8145 8146// SetPolicyStatus sets the PolicyStatus field's value. 8147func (s *GetAccessPointPolicyStatusForObjectLambdaOutput) SetPolicyStatus(v *PolicyStatus) *GetAccessPointPolicyStatusForObjectLambdaOutput { 8148 s.PolicyStatus = v 8149 return s 8150} 8151 8152type GetAccessPointPolicyStatusInput struct { 8153 _ struct{} `locationName:"GetAccessPointPolicyStatusRequest" type:"structure"` 8154 8155 // The account ID for the account that owns the specified access point. 8156 // 8157 // AccountId is a required field 8158 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 8159 8160 // The name of the access point whose policy status you want to retrieve. 8161 // 8162 // Name is a required field 8163 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 8164} 8165 8166// String returns the string representation 8167func (s GetAccessPointPolicyStatusInput) String() string { 8168 return awsutil.Prettify(s) 8169} 8170 8171// GoString returns the string representation 8172func (s GetAccessPointPolicyStatusInput) GoString() string { 8173 return s.String() 8174} 8175 8176// Validate inspects the fields of the type to determine if they are valid. 8177func (s *GetAccessPointPolicyStatusInput) Validate() error { 8178 invalidParams := request.ErrInvalidParams{Context: "GetAccessPointPolicyStatusInput"} 8179 if s.AccountId == nil { 8180 invalidParams.Add(request.NewErrParamRequired("AccountId")) 8181 } 8182 if s.AccountId != nil && len(*s.AccountId) < 1 { 8183 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 8184 } 8185 if s.Name == nil { 8186 invalidParams.Add(request.NewErrParamRequired("Name")) 8187 } 8188 if s.Name != nil && len(*s.Name) < 3 { 8189 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 8190 } 8191 8192 if invalidParams.Len() > 0 { 8193 return invalidParams 8194 } 8195 return nil 8196} 8197 8198// SetAccountId sets the AccountId field's value. 8199func (s *GetAccessPointPolicyStatusInput) SetAccountId(v string) *GetAccessPointPolicyStatusInput { 8200 s.AccountId = &v 8201 return s 8202} 8203 8204// SetName sets the Name field's value. 8205func (s *GetAccessPointPolicyStatusInput) SetName(v string) *GetAccessPointPolicyStatusInput { 8206 s.Name = &v 8207 return s 8208} 8209 8210func (s *GetAccessPointPolicyStatusInput) hostLabels() map[string]string { 8211 return map[string]string{ 8212 "AccountId": aws.StringValue(s.AccountId), 8213 } 8214} 8215 8216type GetAccessPointPolicyStatusOutput struct { 8217 _ struct{} `type:"structure"` 8218 8219 // Indicates the current policy status of the specified access point. 8220 PolicyStatus *PolicyStatus `type:"structure"` 8221} 8222 8223// String returns the string representation 8224func (s GetAccessPointPolicyStatusOutput) String() string { 8225 return awsutil.Prettify(s) 8226} 8227 8228// GoString returns the string representation 8229func (s GetAccessPointPolicyStatusOutput) GoString() string { 8230 return s.String() 8231} 8232 8233// SetPolicyStatus sets the PolicyStatus field's value. 8234func (s *GetAccessPointPolicyStatusOutput) SetPolicyStatus(v *PolicyStatus) *GetAccessPointPolicyStatusOutput { 8235 s.PolicyStatus = v 8236 return s 8237} 8238 8239type GetBucketInput struct { 8240 _ struct{} `locationName:"GetBucketRequest" type:"structure"` 8241 8242 // The account ID of the Outposts bucket. 8243 // 8244 // AccountId is a required field 8245 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 8246 8247 // Specifies the bucket. 8248 // 8249 // For using this parameter with Amazon S3 on Outposts with the REST API, you 8250 // must specify the name and the x-amz-outpost-id as well. 8251 // 8252 // For using this parameter with S3 on Outposts with the Amazon Web Services 8253 // SDK and CLI, you must specify the ARN of the bucket accessed in the format 8254 // arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 8255 // For example, to access the bucket reports through outpost my-outpost owned 8256 // 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. 8257 // The value must be URL encoded. 8258 // 8259 // Bucket is a required field 8260 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 8261} 8262 8263// String returns the string representation 8264func (s GetBucketInput) String() string { 8265 return awsutil.Prettify(s) 8266} 8267 8268// GoString returns the string representation 8269func (s GetBucketInput) GoString() string { 8270 return s.String() 8271} 8272 8273// Validate inspects the fields of the type to determine if they are valid. 8274func (s *GetBucketInput) Validate() error { 8275 invalidParams := request.ErrInvalidParams{Context: "GetBucketInput"} 8276 if s.AccountId == nil { 8277 invalidParams.Add(request.NewErrParamRequired("AccountId")) 8278 } 8279 if s.AccountId != nil && len(*s.AccountId) < 1 { 8280 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 8281 } 8282 if s.Bucket == nil { 8283 invalidParams.Add(request.NewErrParamRequired("Bucket")) 8284 } 8285 if s.Bucket != nil && len(*s.Bucket) < 3 { 8286 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 8287 } 8288 8289 if invalidParams.Len() > 0 { 8290 return invalidParams 8291 } 8292 return nil 8293} 8294 8295// SetAccountId sets the AccountId field's value. 8296func (s *GetBucketInput) SetAccountId(v string) *GetBucketInput { 8297 s.AccountId = &v 8298 return s 8299} 8300 8301// SetBucket sets the Bucket field's value. 8302func (s *GetBucketInput) SetBucket(v string) *GetBucketInput { 8303 s.Bucket = &v 8304 return s 8305} 8306 8307func (s *GetBucketInput) hostLabels() map[string]string { 8308 return map[string]string{ 8309 "AccountId": aws.StringValue(s.AccountId), 8310 } 8311} 8312 8313func (s *GetBucketInput) getEndpointARN() (arn.Resource, error) { 8314 if s.Bucket == nil { 8315 return nil, fmt.Errorf("member Bucket is nil") 8316 } 8317 return parseEndpointARN(*s.Bucket) 8318} 8319 8320func (s *GetBucketInput) hasEndpointARN() bool { 8321 if s.Bucket == nil { 8322 return false 8323 } 8324 return arn.IsARN(*s.Bucket) 8325} 8326 8327// updateArnableField updates the value of the input field that 8328// takes an ARN as an input. This method is useful to backfill 8329// the parsed resource name from ARN into the input member. 8330// It returns a pointer to a modified copy of input and an error. 8331// Note that original input is not modified. 8332func (s GetBucketInput) updateArnableField(v string) (interface{}, error) { 8333 if s.Bucket == nil { 8334 return nil, fmt.Errorf("member Bucket is nil") 8335 } 8336 s.Bucket = aws.String(v) 8337 return &s, nil 8338} 8339 8340// updateAccountID returns a pointer to a modified copy of input, 8341// if account id is not provided, we update the account id in modified input 8342// if account id is provided, but doesn't match with the one in ARN, we throw an error 8343// if account id is not updated, we return nil. Note that original input is not modified. 8344func (s GetBucketInput) updateAccountID(accountId string) (interface{}, error) { 8345 if s.AccountId == nil { 8346 s.AccountId = aws.String(accountId) 8347 return &s, nil 8348 } else if *s.AccountId != accountId { 8349 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 8350 } 8351 return nil, nil 8352} 8353 8354type GetBucketLifecycleConfigurationInput struct { 8355 _ struct{} `locationName:"GetBucketLifecycleConfigurationRequest" type:"structure"` 8356 8357 // The account ID of the Outposts bucket. 8358 // 8359 // AccountId is a required field 8360 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 8361 8362 // The Amazon Resource Name (ARN) of the bucket. 8363 // 8364 // For using this parameter with Amazon S3 on Outposts with the REST API, you 8365 // must specify the name and the x-amz-outpost-id as well. 8366 // 8367 // For using this parameter with S3 on Outposts with the Amazon Web Services 8368 // SDK and CLI, you must specify the ARN of the bucket accessed in the format 8369 // arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 8370 // For example, to access the bucket reports through outpost my-outpost owned 8371 // 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. 8372 // The value must be URL encoded. 8373 // 8374 // Bucket is a required field 8375 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 8376} 8377 8378// String returns the string representation 8379func (s GetBucketLifecycleConfigurationInput) String() string { 8380 return awsutil.Prettify(s) 8381} 8382 8383// GoString returns the string representation 8384func (s GetBucketLifecycleConfigurationInput) GoString() string { 8385 return s.String() 8386} 8387 8388// Validate inspects the fields of the type to determine if they are valid. 8389func (s *GetBucketLifecycleConfigurationInput) Validate() error { 8390 invalidParams := request.ErrInvalidParams{Context: "GetBucketLifecycleConfigurationInput"} 8391 if s.AccountId == nil { 8392 invalidParams.Add(request.NewErrParamRequired("AccountId")) 8393 } 8394 if s.AccountId != nil && len(*s.AccountId) < 1 { 8395 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 8396 } 8397 if s.Bucket == nil { 8398 invalidParams.Add(request.NewErrParamRequired("Bucket")) 8399 } 8400 if s.Bucket != nil && len(*s.Bucket) < 3 { 8401 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 8402 } 8403 8404 if invalidParams.Len() > 0 { 8405 return invalidParams 8406 } 8407 return nil 8408} 8409 8410// SetAccountId sets the AccountId field's value. 8411func (s *GetBucketLifecycleConfigurationInput) SetAccountId(v string) *GetBucketLifecycleConfigurationInput { 8412 s.AccountId = &v 8413 return s 8414} 8415 8416// SetBucket sets the Bucket field's value. 8417func (s *GetBucketLifecycleConfigurationInput) SetBucket(v string) *GetBucketLifecycleConfigurationInput { 8418 s.Bucket = &v 8419 return s 8420} 8421 8422func (s *GetBucketLifecycleConfigurationInput) hostLabels() map[string]string { 8423 return map[string]string{ 8424 "AccountId": aws.StringValue(s.AccountId), 8425 } 8426} 8427 8428func (s *GetBucketLifecycleConfigurationInput) getEndpointARN() (arn.Resource, error) { 8429 if s.Bucket == nil { 8430 return nil, fmt.Errorf("member Bucket is nil") 8431 } 8432 return parseEndpointARN(*s.Bucket) 8433} 8434 8435func (s *GetBucketLifecycleConfigurationInput) hasEndpointARN() bool { 8436 if s.Bucket == nil { 8437 return false 8438 } 8439 return arn.IsARN(*s.Bucket) 8440} 8441 8442// updateArnableField updates the value of the input field that 8443// takes an ARN as an input. This method is useful to backfill 8444// the parsed resource name from ARN into the input member. 8445// It returns a pointer to a modified copy of input and an error. 8446// Note that original input is not modified. 8447func (s GetBucketLifecycleConfigurationInput) updateArnableField(v string) (interface{}, error) { 8448 if s.Bucket == nil { 8449 return nil, fmt.Errorf("member Bucket is nil") 8450 } 8451 s.Bucket = aws.String(v) 8452 return &s, nil 8453} 8454 8455// updateAccountID returns a pointer to a modified copy of input, 8456// if account id is not provided, we update the account id in modified input 8457// if account id is provided, but doesn't match with the one in ARN, we throw an error 8458// if account id is not updated, we return nil. Note that original input is not modified. 8459func (s GetBucketLifecycleConfigurationInput) updateAccountID(accountId string) (interface{}, error) { 8460 if s.AccountId == nil { 8461 s.AccountId = aws.String(accountId) 8462 return &s, nil 8463 } else if *s.AccountId != accountId { 8464 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 8465 } 8466 return nil, nil 8467} 8468 8469type GetBucketLifecycleConfigurationOutput struct { 8470 _ struct{} `type:"structure"` 8471 8472 // Container for the lifecycle rule of the Outposts bucket. 8473 Rules []*LifecycleRule `locationNameList:"Rule" type:"list"` 8474} 8475 8476// String returns the string representation 8477func (s GetBucketLifecycleConfigurationOutput) String() string { 8478 return awsutil.Prettify(s) 8479} 8480 8481// GoString returns the string representation 8482func (s GetBucketLifecycleConfigurationOutput) GoString() string { 8483 return s.String() 8484} 8485 8486// SetRules sets the Rules field's value. 8487func (s *GetBucketLifecycleConfigurationOutput) SetRules(v []*LifecycleRule) *GetBucketLifecycleConfigurationOutput { 8488 s.Rules = v 8489 return s 8490} 8491 8492type GetBucketOutput struct { 8493 _ struct{} `type:"structure"` 8494 8495 // The Outposts bucket requested. 8496 Bucket *string `min:"3" type:"string"` 8497 8498 // The creation date of the Outposts bucket. 8499 CreationDate *time.Time `type:"timestamp"` 8500 8501 PublicAccessBlockEnabled *bool `type:"boolean"` 8502} 8503 8504// String returns the string representation 8505func (s GetBucketOutput) String() string { 8506 return awsutil.Prettify(s) 8507} 8508 8509// GoString returns the string representation 8510func (s GetBucketOutput) GoString() string { 8511 return s.String() 8512} 8513 8514// SetBucket sets the Bucket field's value. 8515func (s *GetBucketOutput) SetBucket(v string) *GetBucketOutput { 8516 s.Bucket = &v 8517 return s 8518} 8519 8520// SetCreationDate sets the CreationDate field's value. 8521func (s *GetBucketOutput) SetCreationDate(v time.Time) *GetBucketOutput { 8522 s.CreationDate = &v 8523 return s 8524} 8525 8526// SetPublicAccessBlockEnabled sets the PublicAccessBlockEnabled field's value. 8527func (s *GetBucketOutput) SetPublicAccessBlockEnabled(v bool) *GetBucketOutput { 8528 s.PublicAccessBlockEnabled = &v 8529 return s 8530} 8531 8532type GetBucketPolicyInput struct { 8533 _ struct{} `locationName:"GetBucketPolicyRequest" type:"structure"` 8534 8535 // The account ID of the Outposts bucket. 8536 // 8537 // AccountId is a required field 8538 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 8539 8540 // Specifies the bucket. 8541 // 8542 // For using this parameter with Amazon S3 on Outposts with the REST API, you 8543 // must specify the name and the x-amz-outpost-id as well. 8544 // 8545 // For using this parameter with S3 on Outposts with the Amazon Web Services 8546 // SDK and CLI, you must specify the ARN of the bucket accessed in the format 8547 // arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 8548 // For example, to access the bucket reports through outpost my-outpost owned 8549 // 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. 8550 // The value must be URL encoded. 8551 // 8552 // Bucket is a required field 8553 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 8554} 8555 8556// String returns the string representation 8557func (s GetBucketPolicyInput) String() string { 8558 return awsutil.Prettify(s) 8559} 8560 8561// GoString returns the string representation 8562func (s GetBucketPolicyInput) GoString() string { 8563 return s.String() 8564} 8565 8566// Validate inspects the fields of the type to determine if they are valid. 8567func (s *GetBucketPolicyInput) Validate() error { 8568 invalidParams := request.ErrInvalidParams{Context: "GetBucketPolicyInput"} 8569 if s.AccountId == nil { 8570 invalidParams.Add(request.NewErrParamRequired("AccountId")) 8571 } 8572 if s.AccountId != nil && len(*s.AccountId) < 1 { 8573 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 8574 } 8575 if s.Bucket == nil { 8576 invalidParams.Add(request.NewErrParamRequired("Bucket")) 8577 } 8578 if s.Bucket != nil && len(*s.Bucket) < 3 { 8579 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 8580 } 8581 8582 if invalidParams.Len() > 0 { 8583 return invalidParams 8584 } 8585 return nil 8586} 8587 8588// SetAccountId sets the AccountId field's value. 8589func (s *GetBucketPolicyInput) SetAccountId(v string) *GetBucketPolicyInput { 8590 s.AccountId = &v 8591 return s 8592} 8593 8594// SetBucket sets the Bucket field's value. 8595func (s *GetBucketPolicyInput) SetBucket(v string) *GetBucketPolicyInput { 8596 s.Bucket = &v 8597 return s 8598} 8599 8600func (s *GetBucketPolicyInput) hostLabels() map[string]string { 8601 return map[string]string{ 8602 "AccountId": aws.StringValue(s.AccountId), 8603 } 8604} 8605 8606func (s *GetBucketPolicyInput) getEndpointARN() (arn.Resource, error) { 8607 if s.Bucket == nil { 8608 return nil, fmt.Errorf("member Bucket is nil") 8609 } 8610 return parseEndpointARN(*s.Bucket) 8611} 8612 8613func (s *GetBucketPolicyInput) hasEndpointARN() bool { 8614 if s.Bucket == nil { 8615 return false 8616 } 8617 return arn.IsARN(*s.Bucket) 8618} 8619 8620// updateArnableField updates the value of the input field that 8621// takes an ARN as an input. This method is useful to backfill 8622// the parsed resource name from ARN into the input member. 8623// It returns a pointer to a modified copy of input and an error. 8624// Note that original input is not modified. 8625func (s GetBucketPolicyInput) updateArnableField(v string) (interface{}, error) { 8626 if s.Bucket == nil { 8627 return nil, fmt.Errorf("member Bucket is nil") 8628 } 8629 s.Bucket = aws.String(v) 8630 return &s, nil 8631} 8632 8633// updateAccountID returns a pointer to a modified copy of input, 8634// if account id is not provided, we update the account id in modified input 8635// if account id is provided, but doesn't match with the one in ARN, we throw an error 8636// if account id is not updated, we return nil. Note that original input is not modified. 8637func (s GetBucketPolicyInput) updateAccountID(accountId string) (interface{}, error) { 8638 if s.AccountId == nil { 8639 s.AccountId = aws.String(accountId) 8640 return &s, nil 8641 } else if *s.AccountId != accountId { 8642 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 8643 } 8644 return nil, nil 8645} 8646 8647type GetBucketPolicyOutput struct { 8648 _ struct{} `type:"structure"` 8649 8650 // The policy of the Outposts bucket. 8651 Policy *string `type:"string"` 8652} 8653 8654// String returns the string representation 8655func (s GetBucketPolicyOutput) String() string { 8656 return awsutil.Prettify(s) 8657} 8658 8659// GoString returns the string representation 8660func (s GetBucketPolicyOutput) GoString() string { 8661 return s.String() 8662} 8663 8664// SetPolicy sets the Policy field's value. 8665func (s *GetBucketPolicyOutput) SetPolicy(v string) *GetBucketPolicyOutput { 8666 s.Policy = &v 8667 return s 8668} 8669 8670type GetBucketTaggingInput struct { 8671 _ struct{} `locationName:"GetBucketTaggingRequest" type:"structure"` 8672 8673 // The account ID of the Outposts bucket. 8674 // 8675 // AccountId is a required field 8676 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 8677 8678 // Specifies the bucket. 8679 // 8680 // For using this parameter with Amazon S3 on Outposts with the REST API, you 8681 // must specify the name and the x-amz-outpost-id as well. 8682 // 8683 // For using this parameter with S3 on Outposts with the Amazon Web Services 8684 // SDK and CLI, you must specify the ARN of the bucket accessed in the format 8685 // arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 8686 // For example, to access the bucket reports through outpost my-outpost owned 8687 // 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. 8688 // The value must be URL encoded. 8689 // 8690 // Bucket is a required field 8691 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 8692} 8693 8694// String returns the string representation 8695func (s GetBucketTaggingInput) String() string { 8696 return awsutil.Prettify(s) 8697} 8698 8699// GoString returns the string representation 8700func (s GetBucketTaggingInput) GoString() string { 8701 return s.String() 8702} 8703 8704// Validate inspects the fields of the type to determine if they are valid. 8705func (s *GetBucketTaggingInput) Validate() error { 8706 invalidParams := request.ErrInvalidParams{Context: "GetBucketTaggingInput"} 8707 if s.AccountId == nil { 8708 invalidParams.Add(request.NewErrParamRequired("AccountId")) 8709 } 8710 if s.AccountId != nil && len(*s.AccountId) < 1 { 8711 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 8712 } 8713 if s.Bucket == nil { 8714 invalidParams.Add(request.NewErrParamRequired("Bucket")) 8715 } 8716 if s.Bucket != nil && len(*s.Bucket) < 3 { 8717 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 8718 } 8719 8720 if invalidParams.Len() > 0 { 8721 return invalidParams 8722 } 8723 return nil 8724} 8725 8726// SetAccountId sets the AccountId field's value. 8727func (s *GetBucketTaggingInput) SetAccountId(v string) *GetBucketTaggingInput { 8728 s.AccountId = &v 8729 return s 8730} 8731 8732// SetBucket sets the Bucket field's value. 8733func (s *GetBucketTaggingInput) SetBucket(v string) *GetBucketTaggingInput { 8734 s.Bucket = &v 8735 return s 8736} 8737 8738func (s *GetBucketTaggingInput) hostLabels() map[string]string { 8739 return map[string]string{ 8740 "AccountId": aws.StringValue(s.AccountId), 8741 } 8742} 8743 8744func (s *GetBucketTaggingInput) getEndpointARN() (arn.Resource, error) { 8745 if s.Bucket == nil { 8746 return nil, fmt.Errorf("member Bucket is nil") 8747 } 8748 return parseEndpointARN(*s.Bucket) 8749} 8750 8751func (s *GetBucketTaggingInput) hasEndpointARN() bool { 8752 if s.Bucket == nil { 8753 return false 8754 } 8755 return arn.IsARN(*s.Bucket) 8756} 8757 8758// updateArnableField updates the value of the input field that 8759// takes an ARN as an input. This method is useful to backfill 8760// the parsed resource name from ARN into the input member. 8761// It returns a pointer to a modified copy of input and an error. 8762// Note that original input is not modified. 8763func (s GetBucketTaggingInput) updateArnableField(v string) (interface{}, error) { 8764 if s.Bucket == nil { 8765 return nil, fmt.Errorf("member Bucket is nil") 8766 } 8767 s.Bucket = aws.String(v) 8768 return &s, nil 8769} 8770 8771// updateAccountID returns a pointer to a modified copy of input, 8772// if account id is not provided, we update the account id in modified input 8773// if account id is provided, but doesn't match with the one in ARN, we throw an error 8774// if account id is not updated, we return nil. Note that original input is not modified. 8775func (s GetBucketTaggingInput) updateAccountID(accountId string) (interface{}, error) { 8776 if s.AccountId == nil { 8777 s.AccountId = aws.String(accountId) 8778 return &s, nil 8779 } else if *s.AccountId != accountId { 8780 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 8781 } 8782 return nil, nil 8783} 8784 8785type GetBucketTaggingOutput struct { 8786 _ struct{} `type:"structure"` 8787 8788 // The tags set of the Outposts bucket. 8789 // 8790 // TagSet is a required field 8791 TagSet []*S3Tag `type:"list" required:"true"` 8792} 8793 8794// String returns the string representation 8795func (s GetBucketTaggingOutput) String() string { 8796 return awsutil.Prettify(s) 8797} 8798 8799// GoString returns the string representation 8800func (s GetBucketTaggingOutput) GoString() string { 8801 return s.String() 8802} 8803 8804// SetTagSet sets the TagSet field's value. 8805func (s *GetBucketTaggingOutput) SetTagSet(v []*S3Tag) *GetBucketTaggingOutput { 8806 s.TagSet = v 8807 return s 8808} 8809 8810type GetJobTaggingInput struct { 8811 _ struct{} `locationName:"GetJobTaggingRequest" type:"structure"` 8812 8813 // The account ID associated with the S3 Batch Operations job. 8814 // 8815 // AccountId is a required field 8816 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 8817 8818 // The ID for the S3 Batch Operations job whose tags you want to retrieve. 8819 // 8820 // JobId is a required field 8821 JobId *string `location:"uri" locationName:"id" min:"5" type:"string" required:"true"` 8822} 8823 8824// String returns the string representation 8825func (s GetJobTaggingInput) String() string { 8826 return awsutil.Prettify(s) 8827} 8828 8829// GoString returns the string representation 8830func (s GetJobTaggingInput) GoString() string { 8831 return s.String() 8832} 8833 8834// Validate inspects the fields of the type to determine if they are valid. 8835func (s *GetJobTaggingInput) Validate() error { 8836 invalidParams := request.ErrInvalidParams{Context: "GetJobTaggingInput"} 8837 if s.AccountId == nil { 8838 invalidParams.Add(request.NewErrParamRequired("AccountId")) 8839 } 8840 if s.AccountId != nil && len(*s.AccountId) < 1 { 8841 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 8842 } 8843 if s.JobId == nil { 8844 invalidParams.Add(request.NewErrParamRequired("JobId")) 8845 } 8846 if s.JobId != nil && len(*s.JobId) < 5 { 8847 invalidParams.Add(request.NewErrParamMinLen("JobId", 5)) 8848 } 8849 8850 if invalidParams.Len() > 0 { 8851 return invalidParams 8852 } 8853 return nil 8854} 8855 8856// SetAccountId sets the AccountId field's value. 8857func (s *GetJobTaggingInput) SetAccountId(v string) *GetJobTaggingInput { 8858 s.AccountId = &v 8859 return s 8860} 8861 8862// SetJobId sets the JobId field's value. 8863func (s *GetJobTaggingInput) SetJobId(v string) *GetJobTaggingInput { 8864 s.JobId = &v 8865 return s 8866} 8867 8868func (s *GetJobTaggingInput) hostLabels() map[string]string { 8869 return map[string]string{ 8870 "AccountId": aws.StringValue(s.AccountId), 8871 } 8872} 8873 8874type GetJobTaggingOutput struct { 8875 _ struct{} `type:"structure"` 8876 8877 // The set of tags associated with the S3 Batch Operations job. 8878 Tags []*S3Tag `type:"list"` 8879} 8880 8881// String returns the string representation 8882func (s GetJobTaggingOutput) String() string { 8883 return awsutil.Prettify(s) 8884} 8885 8886// GoString returns the string representation 8887func (s GetJobTaggingOutput) GoString() string { 8888 return s.String() 8889} 8890 8891// SetTags sets the Tags field's value. 8892func (s *GetJobTaggingOutput) SetTags(v []*S3Tag) *GetJobTaggingOutput { 8893 s.Tags = v 8894 return s 8895} 8896 8897type GetPublicAccessBlockInput struct { 8898 _ struct{} `locationName:"GetPublicAccessBlockRequest" type:"structure"` 8899 8900 // The account ID for the account whose PublicAccessBlock configuration you 8901 // want to retrieve. 8902 // 8903 // AccountId is a required field 8904 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 8905} 8906 8907// String returns the string representation 8908func (s GetPublicAccessBlockInput) String() string { 8909 return awsutil.Prettify(s) 8910} 8911 8912// GoString returns the string representation 8913func (s GetPublicAccessBlockInput) GoString() string { 8914 return s.String() 8915} 8916 8917// Validate inspects the fields of the type to determine if they are valid. 8918func (s *GetPublicAccessBlockInput) Validate() error { 8919 invalidParams := request.ErrInvalidParams{Context: "GetPublicAccessBlockInput"} 8920 if s.AccountId == nil { 8921 invalidParams.Add(request.NewErrParamRequired("AccountId")) 8922 } 8923 if s.AccountId != nil && len(*s.AccountId) < 1 { 8924 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 8925 } 8926 8927 if invalidParams.Len() > 0 { 8928 return invalidParams 8929 } 8930 return nil 8931} 8932 8933// SetAccountId sets the AccountId field's value. 8934func (s *GetPublicAccessBlockInput) SetAccountId(v string) *GetPublicAccessBlockInput { 8935 s.AccountId = &v 8936 return s 8937} 8938 8939func (s *GetPublicAccessBlockInput) hostLabels() map[string]string { 8940 return map[string]string{ 8941 "AccountId": aws.StringValue(s.AccountId), 8942 } 8943} 8944 8945type GetPublicAccessBlockOutput struct { 8946 _ struct{} `type:"structure" payload:"PublicAccessBlockConfiguration"` 8947 8948 // The PublicAccessBlock configuration currently in effect for this account. 8949 PublicAccessBlockConfiguration *PublicAccessBlockConfiguration `type:"structure"` 8950} 8951 8952// String returns the string representation 8953func (s GetPublicAccessBlockOutput) String() string { 8954 return awsutil.Prettify(s) 8955} 8956 8957// GoString returns the string representation 8958func (s GetPublicAccessBlockOutput) GoString() string { 8959 return s.String() 8960} 8961 8962// SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value. 8963func (s *GetPublicAccessBlockOutput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *GetPublicAccessBlockOutput { 8964 s.PublicAccessBlockConfiguration = v 8965 return s 8966} 8967 8968type GetStorageLensConfigurationInput struct { 8969 _ struct{} `locationName:"GetStorageLensConfigurationRequest" type:"structure"` 8970 8971 // The account ID of the requester. 8972 // 8973 // AccountId is a required field 8974 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 8975 8976 // The ID of the Amazon S3 Storage Lens configuration. 8977 // 8978 // ConfigId is a required field 8979 ConfigId *string `location:"uri" locationName:"storagelensid" min:"1" type:"string" required:"true"` 8980} 8981 8982// String returns the string representation 8983func (s GetStorageLensConfigurationInput) String() string { 8984 return awsutil.Prettify(s) 8985} 8986 8987// GoString returns the string representation 8988func (s GetStorageLensConfigurationInput) GoString() string { 8989 return s.String() 8990} 8991 8992// Validate inspects the fields of the type to determine if they are valid. 8993func (s *GetStorageLensConfigurationInput) Validate() error { 8994 invalidParams := request.ErrInvalidParams{Context: "GetStorageLensConfigurationInput"} 8995 if s.AccountId == nil { 8996 invalidParams.Add(request.NewErrParamRequired("AccountId")) 8997 } 8998 if s.AccountId != nil && len(*s.AccountId) < 1 { 8999 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 9000 } 9001 if s.ConfigId == nil { 9002 invalidParams.Add(request.NewErrParamRequired("ConfigId")) 9003 } 9004 if s.ConfigId != nil && len(*s.ConfigId) < 1 { 9005 invalidParams.Add(request.NewErrParamMinLen("ConfigId", 1)) 9006 } 9007 9008 if invalidParams.Len() > 0 { 9009 return invalidParams 9010 } 9011 return nil 9012} 9013 9014// SetAccountId sets the AccountId field's value. 9015func (s *GetStorageLensConfigurationInput) SetAccountId(v string) *GetStorageLensConfigurationInput { 9016 s.AccountId = &v 9017 return s 9018} 9019 9020// SetConfigId sets the ConfigId field's value. 9021func (s *GetStorageLensConfigurationInput) SetConfigId(v string) *GetStorageLensConfigurationInput { 9022 s.ConfigId = &v 9023 return s 9024} 9025 9026func (s *GetStorageLensConfigurationInput) hostLabels() map[string]string { 9027 return map[string]string{ 9028 "AccountId": aws.StringValue(s.AccountId), 9029 } 9030} 9031 9032type GetStorageLensConfigurationOutput struct { 9033 _ struct{} `type:"structure" payload:"StorageLensConfiguration"` 9034 9035 // The S3 Storage Lens configuration requested. 9036 StorageLensConfiguration *StorageLensConfiguration `type:"structure"` 9037} 9038 9039// String returns the string representation 9040func (s GetStorageLensConfigurationOutput) String() string { 9041 return awsutil.Prettify(s) 9042} 9043 9044// GoString returns the string representation 9045func (s GetStorageLensConfigurationOutput) GoString() string { 9046 return s.String() 9047} 9048 9049// SetStorageLensConfiguration sets the StorageLensConfiguration field's value. 9050func (s *GetStorageLensConfigurationOutput) SetStorageLensConfiguration(v *StorageLensConfiguration) *GetStorageLensConfigurationOutput { 9051 s.StorageLensConfiguration = v 9052 return s 9053} 9054 9055type GetStorageLensConfigurationTaggingInput struct { 9056 _ struct{} `locationName:"GetStorageLensConfigurationTaggingRequest" type:"structure"` 9057 9058 // The account ID of the requester. 9059 // 9060 // AccountId is a required field 9061 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 9062 9063 // The ID of the Amazon S3 Storage Lens configuration. 9064 // 9065 // ConfigId is a required field 9066 ConfigId *string `location:"uri" locationName:"storagelensid" min:"1" type:"string" required:"true"` 9067} 9068 9069// String returns the string representation 9070func (s GetStorageLensConfigurationTaggingInput) String() string { 9071 return awsutil.Prettify(s) 9072} 9073 9074// GoString returns the string representation 9075func (s GetStorageLensConfigurationTaggingInput) GoString() string { 9076 return s.String() 9077} 9078 9079// Validate inspects the fields of the type to determine if they are valid. 9080func (s *GetStorageLensConfigurationTaggingInput) Validate() error { 9081 invalidParams := request.ErrInvalidParams{Context: "GetStorageLensConfigurationTaggingInput"} 9082 if s.AccountId == nil { 9083 invalidParams.Add(request.NewErrParamRequired("AccountId")) 9084 } 9085 if s.AccountId != nil && len(*s.AccountId) < 1 { 9086 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 9087 } 9088 if s.ConfigId == nil { 9089 invalidParams.Add(request.NewErrParamRequired("ConfigId")) 9090 } 9091 if s.ConfigId != nil && len(*s.ConfigId) < 1 { 9092 invalidParams.Add(request.NewErrParamMinLen("ConfigId", 1)) 9093 } 9094 9095 if invalidParams.Len() > 0 { 9096 return invalidParams 9097 } 9098 return nil 9099} 9100 9101// SetAccountId sets the AccountId field's value. 9102func (s *GetStorageLensConfigurationTaggingInput) SetAccountId(v string) *GetStorageLensConfigurationTaggingInput { 9103 s.AccountId = &v 9104 return s 9105} 9106 9107// SetConfigId sets the ConfigId field's value. 9108func (s *GetStorageLensConfigurationTaggingInput) SetConfigId(v string) *GetStorageLensConfigurationTaggingInput { 9109 s.ConfigId = &v 9110 return s 9111} 9112 9113func (s *GetStorageLensConfigurationTaggingInput) hostLabels() map[string]string { 9114 return map[string]string{ 9115 "AccountId": aws.StringValue(s.AccountId), 9116 } 9117} 9118 9119type GetStorageLensConfigurationTaggingOutput struct { 9120 _ struct{} `type:"structure"` 9121 9122 // The tags of S3 Storage Lens configuration requested. 9123 Tags []*StorageLensTag `locationNameList:"Tag" type:"list"` 9124} 9125 9126// String returns the string representation 9127func (s GetStorageLensConfigurationTaggingOutput) String() string { 9128 return awsutil.Prettify(s) 9129} 9130 9131// GoString returns the string representation 9132func (s GetStorageLensConfigurationTaggingOutput) GoString() string { 9133 return s.String() 9134} 9135 9136// SetTags sets the Tags field's value. 9137func (s *GetStorageLensConfigurationTaggingOutput) SetTags(v []*StorageLensTag) *GetStorageLensConfigurationTaggingOutput { 9138 s.Tags = v 9139 return s 9140} 9141 9142// A container for what Amazon S3 Storage Lens configuration includes. 9143type Include struct { 9144 _ struct{} `type:"structure"` 9145 9146 // A container for the S3 Storage Lens bucket includes. 9147 Buckets []*string `locationNameList:"Arn" type:"list"` 9148 9149 // A container for the S3 Storage Lens Region includes. 9150 Regions []*string `locationNameList:"Region" type:"list"` 9151} 9152 9153// String returns the string representation 9154func (s Include) String() string { 9155 return awsutil.Prettify(s) 9156} 9157 9158// GoString returns the string representation 9159func (s Include) GoString() string { 9160 return s.String() 9161} 9162 9163// SetBuckets sets the Buckets field's value. 9164func (s *Include) SetBuckets(v []*string) *Include { 9165 s.Buckets = v 9166 return s 9167} 9168 9169// SetRegions sets the Regions field's value. 9170func (s *Include) SetRegions(v []*string) *Include { 9171 s.Regions = v 9172 return s 9173} 9174 9175// A container element for the job configuration and status information returned 9176// by a Describe Job request. 9177type JobDescriptor struct { 9178 _ struct{} `type:"structure"` 9179 9180 // Indicates whether confirmation is required before Amazon S3 begins running 9181 // the specified job. Confirmation is required only for jobs created through 9182 // the Amazon S3 console. 9183 ConfirmationRequired *bool `type:"boolean"` 9184 9185 // A timestamp indicating when this job was created. 9186 CreationTime *time.Time `type:"timestamp"` 9187 9188 // The description for this job, if one was provided in this job's Create Job 9189 // request. 9190 Description *string `min:"1" type:"string"` 9191 9192 // If the specified job failed, this field contains information describing the 9193 // failure. 9194 FailureReasons []*JobFailure `type:"list"` 9195 9196 // The Amazon Resource Name (ARN) for this job. 9197 JobArn *string `min:"1" type:"string"` 9198 9199 // The ID for the specified job. 9200 JobId *string `min:"5" type:"string"` 9201 9202 // The configuration information for the specified job's manifest object. 9203 Manifest *JobManifest `type:"structure"` 9204 9205 // The operation that the specified job is configured to run on the objects 9206 // listed in the manifest. 9207 Operation *JobOperation `type:"structure"` 9208 9209 // The priority of the specified job. 9210 Priority *int64 `type:"integer"` 9211 9212 // Describes the total number of tasks that the specified job has run, the number 9213 // of tasks that succeeded, and the number of tasks that failed. 9214 ProgressSummary *JobProgressSummary `type:"structure"` 9215 9216 // Contains the configuration information for the job-completion report if you 9217 // requested one in the Create Job request. 9218 Report *JobReport `type:"structure"` 9219 9220 // The Amazon Resource Name (ARN) for the Identity and Access Management (IAM) 9221 // role assigned to run the tasks for this job. 9222 RoleArn *string `min:"1" type:"string"` 9223 9224 // The current status of the specified job. 9225 Status *string `type:"string" enum:"JobStatus"` 9226 9227 // The reason for updating the job. 9228 StatusUpdateReason *string `min:"1" type:"string"` 9229 9230 // The reason why the specified job was suspended. A job is only suspended if 9231 // you create it through the Amazon S3 console. When you create the job, it 9232 // enters the Suspended state to await confirmation before running. After you 9233 // confirm the job, it automatically exits the Suspended state. 9234 SuspendedCause *string `min:"1" type:"string"` 9235 9236 // The timestamp when this job was suspended, if it has been suspended. 9237 SuspendedDate *time.Time `type:"timestamp"` 9238 9239 // A timestamp indicating when this job terminated. A job's termination date 9240 // is the date and time when it succeeded, failed, or was canceled. 9241 TerminationDate *time.Time `type:"timestamp"` 9242} 9243 9244// String returns the string representation 9245func (s JobDescriptor) String() string { 9246 return awsutil.Prettify(s) 9247} 9248 9249// GoString returns the string representation 9250func (s JobDescriptor) GoString() string { 9251 return s.String() 9252} 9253 9254// SetConfirmationRequired sets the ConfirmationRequired field's value. 9255func (s *JobDescriptor) SetConfirmationRequired(v bool) *JobDescriptor { 9256 s.ConfirmationRequired = &v 9257 return s 9258} 9259 9260// SetCreationTime sets the CreationTime field's value. 9261func (s *JobDescriptor) SetCreationTime(v time.Time) *JobDescriptor { 9262 s.CreationTime = &v 9263 return s 9264} 9265 9266// SetDescription sets the Description field's value. 9267func (s *JobDescriptor) SetDescription(v string) *JobDescriptor { 9268 s.Description = &v 9269 return s 9270} 9271 9272// SetFailureReasons sets the FailureReasons field's value. 9273func (s *JobDescriptor) SetFailureReasons(v []*JobFailure) *JobDescriptor { 9274 s.FailureReasons = v 9275 return s 9276} 9277 9278// SetJobArn sets the JobArn field's value. 9279func (s *JobDescriptor) SetJobArn(v string) *JobDescriptor { 9280 s.JobArn = &v 9281 return s 9282} 9283 9284// SetJobId sets the JobId field's value. 9285func (s *JobDescriptor) SetJobId(v string) *JobDescriptor { 9286 s.JobId = &v 9287 return s 9288} 9289 9290// SetManifest sets the Manifest field's value. 9291func (s *JobDescriptor) SetManifest(v *JobManifest) *JobDescriptor { 9292 s.Manifest = v 9293 return s 9294} 9295 9296// SetOperation sets the Operation field's value. 9297func (s *JobDescriptor) SetOperation(v *JobOperation) *JobDescriptor { 9298 s.Operation = v 9299 return s 9300} 9301 9302// SetPriority sets the Priority field's value. 9303func (s *JobDescriptor) SetPriority(v int64) *JobDescriptor { 9304 s.Priority = &v 9305 return s 9306} 9307 9308// SetProgressSummary sets the ProgressSummary field's value. 9309func (s *JobDescriptor) SetProgressSummary(v *JobProgressSummary) *JobDescriptor { 9310 s.ProgressSummary = v 9311 return s 9312} 9313 9314// SetReport sets the Report field's value. 9315func (s *JobDescriptor) SetReport(v *JobReport) *JobDescriptor { 9316 s.Report = v 9317 return s 9318} 9319 9320// SetRoleArn sets the RoleArn field's value. 9321func (s *JobDescriptor) SetRoleArn(v string) *JobDescriptor { 9322 s.RoleArn = &v 9323 return s 9324} 9325 9326// SetStatus sets the Status field's value. 9327func (s *JobDescriptor) SetStatus(v string) *JobDescriptor { 9328 s.Status = &v 9329 return s 9330} 9331 9332// SetStatusUpdateReason sets the StatusUpdateReason field's value. 9333func (s *JobDescriptor) SetStatusUpdateReason(v string) *JobDescriptor { 9334 s.StatusUpdateReason = &v 9335 return s 9336} 9337 9338// SetSuspendedCause sets the SuspendedCause field's value. 9339func (s *JobDescriptor) SetSuspendedCause(v string) *JobDescriptor { 9340 s.SuspendedCause = &v 9341 return s 9342} 9343 9344// SetSuspendedDate sets the SuspendedDate field's value. 9345func (s *JobDescriptor) SetSuspendedDate(v time.Time) *JobDescriptor { 9346 s.SuspendedDate = &v 9347 return s 9348} 9349 9350// SetTerminationDate sets the TerminationDate field's value. 9351func (s *JobDescriptor) SetTerminationDate(v time.Time) *JobDescriptor { 9352 s.TerminationDate = &v 9353 return s 9354} 9355 9356// If this job failed, this element indicates why the job failed. 9357type JobFailure struct { 9358 _ struct{} `type:"structure"` 9359 9360 // The failure code, if any, for the specified job. 9361 FailureCode *string `min:"1" type:"string"` 9362 9363 // The failure reason, if any, for the specified job. 9364 FailureReason *string `min:"1" type:"string"` 9365} 9366 9367// String returns the string representation 9368func (s JobFailure) String() string { 9369 return awsutil.Prettify(s) 9370} 9371 9372// GoString returns the string representation 9373func (s JobFailure) GoString() string { 9374 return s.String() 9375} 9376 9377// SetFailureCode sets the FailureCode field's value. 9378func (s *JobFailure) SetFailureCode(v string) *JobFailure { 9379 s.FailureCode = &v 9380 return s 9381} 9382 9383// SetFailureReason sets the FailureReason field's value. 9384func (s *JobFailure) SetFailureReason(v string) *JobFailure { 9385 s.FailureReason = &v 9386 return s 9387} 9388 9389// Contains the configuration and status information for a single job retrieved 9390// as part of a job list. 9391type JobListDescriptor struct { 9392 _ struct{} `type:"structure"` 9393 9394 // A timestamp indicating when the specified job was created. 9395 CreationTime *time.Time `type:"timestamp"` 9396 9397 // The user-specified description that was included in the specified job's Create 9398 // Job request. 9399 Description *string `min:"1" type:"string"` 9400 9401 // The ID for the specified job. 9402 JobId *string `min:"5" type:"string"` 9403 9404 // The operation that the specified job is configured to run on every object 9405 // listed in the manifest. 9406 Operation *string `type:"string" enum:"OperationName"` 9407 9408 // The current priority for the specified job. 9409 Priority *int64 `type:"integer"` 9410 9411 // Describes the total number of tasks that the specified job has run, the number 9412 // of tasks that succeeded, and the number of tasks that failed. 9413 ProgressSummary *JobProgressSummary `type:"structure"` 9414 9415 // The specified job's current status. 9416 Status *string `type:"string" enum:"JobStatus"` 9417 9418 // A timestamp indicating when the specified job terminated. A job's termination 9419 // date is the date and time when it succeeded, failed, or was canceled. 9420 TerminationDate *time.Time `type:"timestamp"` 9421} 9422 9423// String returns the string representation 9424func (s JobListDescriptor) String() string { 9425 return awsutil.Prettify(s) 9426} 9427 9428// GoString returns the string representation 9429func (s JobListDescriptor) GoString() string { 9430 return s.String() 9431} 9432 9433// SetCreationTime sets the CreationTime field's value. 9434func (s *JobListDescriptor) SetCreationTime(v time.Time) *JobListDescriptor { 9435 s.CreationTime = &v 9436 return s 9437} 9438 9439// SetDescription sets the Description field's value. 9440func (s *JobListDescriptor) SetDescription(v string) *JobListDescriptor { 9441 s.Description = &v 9442 return s 9443} 9444 9445// SetJobId sets the JobId field's value. 9446func (s *JobListDescriptor) SetJobId(v string) *JobListDescriptor { 9447 s.JobId = &v 9448 return s 9449} 9450 9451// SetOperation sets the Operation field's value. 9452func (s *JobListDescriptor) SetOperation(v string) *JobListDescriptor { 9453 s.Operation = &v 9454 return s 9455} 9456 9457// SetPriority sets the Priority field's value. 9458func (s *JobListDescriptor) SetPriority(v int64) *JobListDescriptor { 9459 s.Priority = &v 9460 return s 9461} 9462 9463// SetProgressSummary sets the ProgressSummary field's value. 9464func (s *JobListDescriptor) SetProgressSummary(v *JobProgressSummary) *JobListDescriptor { 9465 s.ProgressSummary = v 9466 return s 9467} 9468 9469// SetStatus sets the Status field's value. 9470func (s *JobListDescriptor) SetStatus(v string) *JobListDescriptor { 9471 s.Status = &v 9472 return s 9473} 9474 9475// SetTerminationDate sets the TerminationDate field's value. 9476func (s *JobListDescriptor) SetTerminationDate(v time.Time) *JobListDescriptor { 9477 s.TerminationDate = &v 9478 return s 9479} 9480 9481// Contains the configuration information for a job's manifest. 9482type JobManifest struct { 9483 _ struct{} `type:"structure"` 9484 9485 // Contains the information required to locate the specified job's manifest. 9486 // 9487 // Location is a required field 9488 Location *JobManifestLocation `type:"structure" required:"true"` 9489 9490 // Describes the format of the specified job's manifest. If the manifest is 9491 // in CSV format, also describes the columns contained within the manifest. 9492 // 9493 // Spec is a required field 9494 Spec *JobManifestSpec `type:"structure" required:"true"` 9495} 9496 9497// String returns the string representation 9498func (s JobManifest) String() string { 9499 return awsutil.Prettify(s) 9500} 9501 9502// GoString returns the string representation 9503func (s JobManifest) GoString() string { 9504 return s.String() 9505} 9506 9507// Validate inspects the fields of the type to determine if they are valid. 9508func (s *JobManifest) Validate() error { 9509 invalidParams := request.ErrInvalidParams{Context: "JobManifest"} 9510 if s.Location == nil { 9511 invalidParams.Add(request.NewErrParamRequired("Location")) 9512 } 9513 if s.Spec == nil { 9514 invalidParams.Add(request.NewErrParamRequired("Spec")) 9515 } 9516 if s.Location != nil { 9517 if err := s.Location.Validate(); err != nil { 9518 invalidParams.AddNested("Location", err.(request.ErrInvalidParams)) 9519 } 9520 } 9521 if s.Spec != nil { 9522 if err := s.Spec.Validate(); err != nil { 9523 invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) 9524 } 9525 } 9526 9527 if invalidParams.Len() > 0 { 9528 return invalidParams 9529 } 9530 return nil 9531} 9532 9533// SetLocation sets the Location field's value. 9534func (s *JobManifest) SetLocation(v *JobManifestLocation) *JobManifest { 9535 s.Location = v 9536 return s 9537} 9538 9539// SetSpec sets the Spec field's value. 9540func (s *JobManifest) SetSpec(v *JobManifestSpec) *JobManifest { 9541 s.Spec = v 9542 return s 9543} 9544 9545// Contains the information required to locate a manifest object. 9546type JobManifestLocation struct { 9547 _ struct{} `type:"structure"` 9548 9549 // The ETag for the specified manifest object. 9550 // 9551 // ETag is a required field 9552 ETag *string `min:"1" type:"string" required:"true"` 9553 9554 // The Amazon Resource Name (ARN) for a manifest object. 9555 // 9556 // Replacement must be made for object keys containing special characters (such 9557 // as carriage returns) when using XML requests. For more information, see XML 9558 // related object key constraints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints). 9559 // 9560 // ObjectArn is a required field 9561 ObjectArn *string `min:"1" type:"string" required:"true"` 9562 9563 // The optional version ID to identify a specific version of the manifest object. 9564 ObjectVersionId *string `min:"1" type:"string"` 9565} 9566 9567// String returns the string representation 9568func (s JobManifestLocation) String() string { 9569 return awsutil.Prettify(s) 9570} 9571 9572// GoString returns the string representation 9573func (s JobManifestLocation) GoString() string { 9574 return s.String() 9575} 9576 9577// Validate inspects the fields of the type to determine if they are valid. 9578func (s *JobManifestLocation) Validate() error { 9579 invalidParams := request.ErrInvalidParams{Context: "JobManifestLocation"} 9580 if s.ETag == nil { 9581 invalidParams.Add(request.NewErrParamRequired("ETag")) 9582 } 9583 if s.ETag != nil && len(*s.ETag) < 1 { 9584 invalidParams.Add(request.NewErrParamMinLen("ETag", 1)) 9585 } 9586 if s.ObjectArn == nil { 9587 invalidParams.Add(request.NewErrParamRequired("ObjectArn")) 9588 } 9589 if s.ObjectArn != nil && len(*s.ObjectArn) < 1 { 9590 invalidParams.Add(request.NewErrParamMinLen("ObjectArn", 1)) 9591 } 9592 if s.ObjectVersionId != nil && len(*s.ObjectVersionId) < 1 { 9593 invalidParams.Add(request.NewErrParamMinLen("ObjectVersionId", 1)) 9594 } 9595 9596 if invalidParams.Len() > 0 { 9597 return invalidParams 9598 } 9599 return nil 9600} 9601 9602// SetETag sets the ETag field's value. 9603func (s *JobManifestLocation) SetETag(v string) *JobManifestLocation { 9604 s.ETag = &v 9605 return s 9606} 9607 9608// SetObjectArn sets the ObjectArn field's value. 9609func (s *JobManifestLocation) SetObjectArn(v string) *JobManifestLocation { 9610 s.ObjectArn = &v 9611 return s 9612} 9613 9614// SetObjectVersionId sets the ObjectVersionId field's value. 9615func (s *JobManifestLocation) SetObjectVersionId(v string) *JobManifestLocation { 9616 s.ObjectVersionId = &v 9617 return s 9618} 9619 9620// Describes the format of a manifest. If the manifest is in CSV format, also 9621// describes the columns contained within the manifest. 9622type JobManifestSpec struct { 9623 _ struct{} `type:"structure"` 9624 9625 // If the specified manifest object is in the S3BatchOperations_CSV_20180820 9626 // format, this element describes which columns contain the required data. 9627 Fields []*string `type:"list"` 9628 9629 // Indicates which of the available formats the specified manifest uses. 9630 // 9631 // Format is a required field 9632 Format *string `type:"string" required:"true" enum:"JobManifestFormat"` 9633} 9634 9635// String returns the string representation 9636func (s JobManifestSpec) String() string { 9637 return awsutil.Prettify(s) 9638} 9639 9640// GoString returns the string representation 9641func (s JobManifestSpec) GoString() string { 9642 return s.String() 9643} 9644 9645// Validate inspects the fields of the type to determine if they are valid. 9646func (s *JobManifestSpec) Validate() error { 9647 invalidParams := request.ErrInvalidParams{Context: "JobManifestSpec"} 9648 if s.Format == nil { 9649 invalidParams.Add(request.NewErrParamRequired("Format")) 9650 } 9651 9652 if invalidParams.Len() > 0 { 9653 return invalidParams 9654 } 9655 return nil 9656} 9657 9658// SetFields sets the Fields field's value. 9659func (s *JobManifestSpec) SetFields(v []*string) *JobManifestSpec { 9660 s.Fields = v 9661 return s 9662} 9663 9664// SetFormat sets the Format field's value. 9665func (s *JobManifestSpec) SetFormat(v string) *JobManifestSpec { 9666 s.Format = &v 9667 return s 9668} 9669 9670// The operation that you want this job to perform on every object listed in 9671// the manifest. For more information about the available operations, see Operations 9672// (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-operations.html) 9673// in the Amazon S3 User Guide. 9674type JobOperation struct { 9675 _ struct{} `type:"structure"` 9676 9677 // Directs the specified job to invoke an Lambda function on every object in 9678 // the manifest. 9679 LambdaInvoke *LambdaInvokeOperation `type:"structure"` 9680 9681 // Directs the specified job to execute a DELETE Object tagging call on every 9682 // object in the manifest. 9683 S3DeleteObjectTagging *S3DeleteObjectTaggingOperation `type:"structure"` 9684 9685 // Directs the specified job to initiate restore requests for every archived 9686 // object in the manifest. 9687 S3InitiateRestoreObject *S3InitiateRestoreObjectOperation `type:"structure"` 9688 9689 // Directs the specified job to run a PUT Object acl call on every object in 9690 // the manifest. 9691 S3PutObjectAcl *S3SetObjectAclOperation `type:"structure"` 9692 9693 // Directs the specified job to run a PUT Copy object call on every object in 9694 // the manifest. 9695 S3PutObjectCopy *S3CopyObjectOperation `type:"structure"` 9696 9697 // Contains the configuration for an S3 Object Lock legal hold operation that 9698 // an S3 Batch Operations job passes every object to the underlying PutObjectLegalHold 9699 // API. For more information, see Using S3 Object Lock legal hold with S3 Batch 9700 // Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-legal-hold.html) 9701 // in the Amazon S3 User Guide. 9702 S3PutObjectLegalHold *S3SetObjectLegalHoldOperation `type:"structure"` 9703 9704 // Contains the configuration parameters for the Object Lock retention action 9705 // for an S3 Batch Operations job. Batch Operations passes every object to the 9706 // underlying PutObjectRetention API. For more information, see Using S3 Object 9707 // Lock retention with S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html) 9708 // in the Amazon S3 User Guide. 9709 S3PutObjectRetention *S3SetObjectRetentionOperation `type:"structure"` 9710 9711 // Directs the specified job to run a PUT Object tagging call on every object 9712 // in the manifest. 9713 S3PutObjectTagging *S3SetObjectTaggingOperation `type:"structure"` 9714} 9715 9716// String returns the string representation 9717func (s JobOperation) String() string { 9718 return awsutil.Prettify(s) 9719} 9720 9721// GoString returns the string representation 9722func (s JobOperation) GoString() string { 9723 return s.String() 9724} 9725 9726// Validate inspects the fields of the type to determine if they are valid. 9727func (s *JobOperation) Validate() error { 9728 invalidParams := request.ErrInvalidParams{Context: "JobOperation"} 9729 if s.LambdaInvoke != nil { 9730 if err := s.LambdaInvoke.Validate(); err != nil { 9731 invalidParams.AddNested("LambdaInvoke", err.(request.ErrInvalidParams)) 9732 } 9733 } 9734 if s.S3PutObjectAcl != nil { 9735 if err := s.S3PutObjectAcl.Validate(); err != nil { 9736 invalidParams.AddNested("S3PutObjectAcl", err.(request.ErrInvalidParams)) 9737 } 9738 } 9739 if s.S3PutObjectCopy != nil { 9740 if err := s.S3PutObjectCopy.Validate(); err != nil { 9741 invalidParams.AddNested("S3PutObjectCopy", err.(request.ErrInvalidParams)) 9742 } 9743 } 9744 if s.S3PutObjectLegalHold != nil { 9745 if err := s.S3PutObjectLegalHold.Validate(); err != nil { 9746 invalidParams.AddNested("S3PutObjectLegalHold", err.(request.ErrInvalidParams)) 9747 } 9748 } 9749 if s.S3PutObjectRetention != nil { 9750 if err := s.S3PutObjectRetention.Validate(); err != nil { 9751 invalidParams.AddNested("S3PutObjectRetention", err.(request.ErrInvalidParams)) 9752 } 9753 } 9754 if s.S3PutObjectTagging != nil { 9755 if err := s.S3PutObjectTagging.Validate(); err != nil { 9756 invalidParams.AddNested("S3PutObjectTagging", err.(request.ErrInvalidParams)) 9757 } 9758 } 9759 9760 if invalidParams.Len() > 0 { 9761 return invalidParams 9762 } 9763 return nil 9764} 9765 9766// SetLambdaInvoke sets the LambdaInvoke field's value. 9767func (s *JobOperation) SetLambdaInvoke(v *LambdaInvokeOperation) *JobOperation { 9768 s.LambdaInvoke = v 9769 return s 9770} 9771 9772// SetS3DeleteObjectTagging sets the S3DeleteObjectTagging field's value. 9773func (s *JobOperation) SetS3DeleteObjectTagging(v *S3DeleteObjectTaggingOperation) *JobOperation { 9774 s.S3DeleteObjectTagging = v 9775 return s 9776} 9777 9778// SetS3InitiateRestoreObject sets the S3InitiateRestoreObject field's value. 9779func (s *JobOperation) SetS3InitiateRestoreObject(v *S3InitiateRestoreObjectOperation) *JobOperation { 9780 s.S3InitiateRestoreObject = v 9781 return s 9782} 9783 9784// SetS3PutObjectAcl sets the S3PutObjectAcl field's value. 9785func (s *JobOperation) SetS3PutObjectAcl(v *S3SetObjectAclOperation) *JobOperation { 9786 s.S3PutObjectAcl = v 9787 return s 9788} 9789 9790// SetS3PutObjectCopy sets the S3PutObjectCopy field's value. 9791func (s *JobOperation) SetS3PutObjectCopy(v *S3CopyObjectOperation) *JobOperation { 9792 s.S3PutObjectCopy = v 9793 return s 9794} 9795 9796// SetS3PutObjectLegalHold sets the S3PutObjectLegalHold field's value. 9797func (s *JobOperation) SetS3PutObjectLegalHold(v *S3SetObjectLegalHoldOperation) *JobOperation { 9798 s.S3PutObjectLegalHold = v 9799 return s 9800} 9801 9802// SetS3PutObjectRetention sets the S3PutObjectRetention field's value. 9803func (s *JobOperation) SetS3PutObjectRetention(v *S3SetObjectRetentionOperation) *JobOperation { 9804 s.S3PutObjectRetention = v 9805 return s 9806} 9807 9808// SetS3PutObjectTagging sets the S3PutObjectTagging field's value. 9809func (s *JobOperation) SetS3PutObjectTagging(v *S3SetObjectTaggingOperation) *JobOperation { 9810 s.S3PutObjectTagging = v 9811 return s 9812} 9813 9814// Describes the total number of tasks that the specified job has started, the 9815// number of tasks that succeeded, and the number of tasks that failed. 9816type JobProgressSummary struct { 9817 _ struct{} `type:"structure"` 9818 9819 NumberOfTasksFailed *int64 `type:"long"` 9820 9821 NumberOfTasksSucceeded *int64 `type:"long"` 9822 9823 TotalNumberOfTasks *int64 `type:"long"` 9824} 9825 9826// String returns the string representation 9827func (s JobProgressSummary) String() string { 9828 return awsutil.Prettify(s) 9829} 9830 9831// GoString returns the string representation 9832func (s JobProgressSummary) GoString() string { 9833 return s.String() 9834} 9835 9836// SetNumberOfTasksFailed sets the NumberOfTasksFailed field's value. 9837func (s *JobProgressSummary) SetNumberOfTasksFailed(v int64) *JobProgressSummary { 9838 s.NumberOfTasksFailed = &v 9839 return s 9840} 9841 9842// SetNumberOfTasksSucceeded sets the NumberOfTasksSucceeded field's value. 9843func (s *JobProgressSummary) SetNumberOfTasksSucceeded(v int64) *JobProgressSummary { 9844 s.NumberOfTasksSucceeded = &v 9845 return s 9846} 9847 9848// SetTotalNumberOfTasks sets the TotalNumberOfTasks field's value. 9849func (s *JobProgressSummary) SetTotalNumberOfTasks(v int64) *JobProgressSummary { 9850 s.TotalNumberOfTasks = &v 9851 return s 9852} 9853 9854// Contains the configuration parameters for a job-completion report. 9855type JobReport struct { 9856 _ struct{} `type:"structure"` 9857 9858 // The Amazon Resource Name (ARN) for the bucket where specified job-completion 9859 // report will be stored. 9860 Bucket *string `min:"1" type:"string"` 9861 9862 // Indicates whether the specified job will generate a job-completion report. 9863 // 9864 // Enabled is a required field 9865 Enabled *bool `type:"boolean" required:"true"` 9866 9867 // The format of the specified job-completion report. 9868 Format *string `type:"string" enum:"JobReportFormat"` 9869 9870 // An optional prefix to describe where in the specified bucket the job-completion 9871 // report will be stored. Amazon S3 stores the job-completion report at <prefix>/job-<job-id>/report.json. 9872 Prefix *string `min:"1" type:"string"` 9873 9874 // Indicates whether the job-completion report will include details of all tasks 9875 // or only failed tasks. 9876 ReportScope *string `type:"string" enum:"JobReportScope"` 9877} 9878 9879// String returns the string representation 9880func (s JobReport) String() string { 9881 return awsutil.Prettify(s) 9882} 9883 9884// GoString returns the string representation 9885func (s JobReport) GoString() string { 9886 return s.String() 9887} 9888 9889// Validate inspects the fields of the type to determine if they are valid. 9890func (s *JobReport) Validate() error { 9891 invalidParams := request.ErrInvalidParams{Context: "JobReport"} 9892 if s.Bucket != nil && len(*s.Bucket) < 1 { 9893 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 9894 } 9895 if s.Enabled == nil { 9896 invalidParams.Add(request.NewErrParamRequired("Enabled")) 9897 } 9898 if s.Prefix != nil && len(*s.Prefix) < 1 { 9899 invalidParams.Add(request.NewErrParamMinLen("Prefix", 1)) 9900 } 9901 9902 if invalidParams.Len() > 0 { 9903 return invalidParams 9904 } 9905 return nil 9906} 9907 9908// SetBucket sets the Bucket field's value. 9909func (s *JobReport) SetBucket(v string) *JobReport { 9910 s.Bucket = &v 9911 return s 9912} 9913 9914// SetEnabled sets the Enabled field's value. 9915func (s *JobReport) SetEnabled(v bool) *JobReport { 9916 s.Enabled = &v 9917 return s 9918} 9919 9920// SetFormat sets the Format field's value. 9921func (s *JobReport) SetFormat(v string) *JobReport { 9922 s.Format = &v 9923 return s 9924} 9925 9926// SetPrefix sets the Prefix field's value. 9927func (s *JobReport) SetPrefix(v string) *JobReport { 9928 s.Prefix = &v 9929 return s 9930} 9931 9932// SetReportScope sets the ReportScope field's value. 9933func (s *JobReport) SetReportScope(v string) *JobReport { 9934 s.ReportScope = &v 9935 return s 9936} 9937 9938// Contains the configuration parameters for a Lambda Invoke operation. 9939type LambdaInvokeOperation struct { 9940 _ struct{} `type:"structure"` 9941 9942 // The Amazon Resource Name (ARN) for the Lambda function that the specified 9943 // job will invoke on every object in the manifest. 9944 FunctionArn *string `min:"1" type:"string"` 9945} 9946 9947// String returns the string representation 9948func (s LambdaInvokeOperation) String() string { 9949 return awsutil.Prettify(s) 9950} 9951 9952// GoString returns the string representation 9953func (s LambdaInvokeOperation) GoString() string { 9954 return s.String() 9955} 9956 9957// Validate inspects the fields of the type to determine if they are valid. 9958func (s *LambdaInvokeOperation) Validate() error { 9959 invalidParams := request.ErrInvalidParams{Context: "LambdaInvokeOperation"} 9960 if s.FunctionArn != nil && len(*s.FunctionArn) < 1 { 9961 invalidParams.Add(request.NewErrParamMinLen("FunctionArn", 1)) 9962 } 9963 9964 if invalidParams.Len() > 0 { 9965 return invalidParams 9966 } 9967 return nil 9968} 9969 9970// SetFunctionArn sets the FunctionArn field's value. 9971func (s *LambdaInvokeOperation) SetFunctionArn(v string) *LambdaInvokeOperation { 9972 s.FunctionArn = &v 9973 return s 9974} 9975 9976// The container for the Outposts bucket lifecycle configuration. 9977type LifecycleConfiguration struct { 9978 _ struct{} `type:"structure"` 9979 9980 // A lifecycle rule for individual objects in an Outposts bucket. 9981 Rules []*LifecycleRule `locationNameList:"Rule" type:"list"` 9982} 9983 9984// String returns the string representation 9985func (s LifecycleConfiguration) String() string { 9986 return awsutil.Prettify(s) 9987} 9988 9989// GoString returns the string representation 9990func (s LifecycleConfiguration) GoString() string { 9991 return s.String() 9992} 9993 9994// Validate inspects the fields of the type to determine if they are valid. 9995func (s *LifecycleConfiguration) Validate() error { 9996 invalidParams := request.ErrInvalidParams{Context: "LifecycleConfiguration"} 9997 if s.Rules != nil { 9998 for i, v := range s.Rules { 9999 if v == nil { 10000 continue 10001 } 10002 if err := v.Validate(); err != nil { 10003 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams)) 10004 } 10005 } 10006 } 10007 10008 if invalidParams.Len() > 0 { 10009 return invalidParams 10010 } 10011 return nil 10012} 10013 10014// SetRules sets the Rules field's value. 10015func (s *LifecycleConfiguration) SetRules(v []*LifecycleRule) *LifecycleConfiguration { 10016 s.Rules = v 10017 return s 10018} 10019 10020// The container of the Outposts bucket lifecycle expiration. 10021type LifecycleExpiration struct { 10022 _ struct{} `type:"structure"` 10023 10024 // Indicates at what date the object is to be deleted. Should be in GMT ISO 10025 // 8601 format. 10026 Date *time.Time `type:"timestamp"` 10027 10028 // Indicates the lifetime, in days, of the objects that are subject to the rule. 10029 // The value must be a non-zero positive integer. 10030 Days *int64 `type:"integer"` 10031 10032 // Indicates whether Amazon S3 will remove a delete marker with no noncurrent 10033 // versions. If set to true, the delete marker will be expired. If set to false, 10034 // the policy takes no action. This cannot be specified with Days or Date in 10035 // a Lifecycle Expiration Policy. 10036 ExpiredObjectDeleteMarker *bool `type:"boolean"` 10037} 10038 10039// String returns the string representation 10040func (s LifecycleExpiration) String() string { 10041 return awsutil.Prettify(s) 10042} 10043 10044// GoString returns the string representation 10045func (s LifecycleExpiration) GoString() string { 10046 return s.String() 10047} 10048 10049// SetDate sets the Date field's value. 10050func (s *LifecycleExpiration) SetDate(v time.Time) *LifecycleExpiration { 10051 s.Date = &v 10052 return s 10053} 10054 10055// SetDays sets the Days field's value. 10056func (s *LifecycleExpiration) SetDays(v int64) *LifecycleExpiration { 10057 s.Days = &v 10058 return s 10059} 10060 10061// SetExpiredObjectDeleteMarker sets the ExpiredObjectDeleteMarker field's value. 10062func (s *LifecycleExpiration) SetExpiredObjectDeleteMarker(v bool) *LifecycleExpiration { 10063 s.ExpiredObjectDeleteMarker = &v 10064 return s 10065} 10066 10067// The container for the Outposts bucket lifecycle rule. 10068type LifecycleRule struct { 10069 _ struct{} `type:"structure"` 10070 10071 // Specifies the days since the initiation of an incomplete multipart upload 10072 // that Amazon S3 waits before permanently removing all parts of the upload. 10073 // For more information, see Aborting Incomplete Multipart Uploads Using a Bucket 10074 // Lifecycle Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config) 10075 // in the Amazon S3 User Guide. 10076 AbortIncompleteMultipartUpload *AbortIncompleteMultipartUpload `type:"structure"` 10077 10078 // Specifies the expiration for the lifecycle of the object in the form of date, 10079 // days and, whether the object has a delete marker. 10080 Expiration *LifecycleExpiration `type:"structure"` 10081 10082 // The container for the filter of lifecycle rule. 10083 Filter *LifecycleRuleFilter `type:"structure"` 10084 10085 // Unique identifier for the rule. The value cannot be longer than 255 characters. 10086 ID *string `type:"string"` 10087 10088 // The noncurrent version expiration of the lifecycle rule. 10089 // 10090 // This is not supported by Amazon S3 on Outposts buckets. 10091 NoncurrentVersionExpiration *NoncurrentVersionExpiration `type:"structure"` 10092 10093 // Specifies the transition rule for the lifecycle rule that describes when 10094 // noncurrent objects transition to a specific storage class. If your bucket 10095 // is versioning-enabled (or versioning is suspended), you can set this action 10096 // to request that Amazon S3 transition noncurrent object versions to a specific 10097 // storage class at a set period in the object's lifetime. 10098 // 10099 // This is not supported by Amazon S3 on Outposts buckets. 10100 NoncurrentVersionTransitions []*NoncurrentVersionTransition `locationNameList:"NoncurrentVersionTransition" type:"list"` 10101 10102 // If 'Enabled', the rule is currently being applied. If 'Disabled', the rule 10103 // is not currently being applied. 10104 // 10105 // Status is a required field 10106 Status *string `type:"string" required:"true" enum:"ExpirationStatus"` 10107 10108 // Specifies when an Amazon S3 object transitions to a specified storage class. 10109 // 10110 // This is not supported by Amazon S3 on Outposts buckets. 10111 Transitions []*Transition `locationNameList:"Transition" type:"list"` 10112} 10113 10114// String returns the string representation 10115func (s LifecycleRule) String() string { 10116 return awsutil.Prettify(s) 10117} 10118 10119// GoString returns the string representation 10120func (s LifecycleRule) GoString() string { 10121 return s.String() 10122} 10123 10124// Validate inspects the fields of the type to determine if they are valid. 10125func (s *LifecycleRule) Validate() error { 10126 invalidParams := request.ErrInvalidParams{Context: "LifecycleRule"} 10127 if s.Status == nil { 10128 invalidParams.Add(request.NewErrParamRequired("Status")) 10129 } 10130 if s.Filter != nil { 10131 if err := s.Filter.Validate(); err != nil { 10132 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 10133 } 10134 } 10135 10136 if invalidParams.Len() > 0 { 10137 return invalidParams 10138 } 10139 return nil 10140} 10141 10142// SetAbortIncompleteMultipartUpload sets the AbortIncompleteMultipartUpload field's value. 10143func (s *LifecycleRule) SetAbortIncompleteMultipartUpload(v *AbortIncompleteMultipartUpload) *LifecycleRule { 10144 s.AbortIncompleteMultipartUpload = v 10145 return s 10146} 10147 10148// SetExpiration sets the Expiration field's value. 10149func (s *LifecycleRule) SetExpiration(v *LifecycleExpiration) *LifecycleRule { 10150 s.Expiration = v 10151 return s 10152} 10153 10154// SetFilter sets the Filter field's value. 10155func (s *LifecycleRule) SetFilter(v *LifecycleRuleFilter) *LifecycleRule { 10156 s.Filter = v 10157 return s 10158} 10159 10160// SetID sets the ID field's value. 10161func (s *LifecycleRule) SetID(v string) *LifecycleRule { 10162 s.ID = &v 10163 return s 10164} 10165 10166// SetNoncurrentVersionExpiration sets the NoncurrentVersionExpiration field's value. 10167func (s *LifecycleRule) SetNoncurrentVersionExpiration(v *NoncurrentVersionExpiration) *LifecycleRule { 10168 s.NoncurrentVersionExpiration = v 10169 return s 10170} 10171 10172// SetNoncurrentVersionTransitions sets the NoncurrentVersionTransitions field's value. 10173func (s *LifecycleRule) SetNoncurrentVersionTransitions(v []*NoncurrentVersionTransition) *LifecycleRule { 10174 s.NoncurrentVersionTransitions = v 10175 return s 10176} 10177 10178// SetStatus sets the Status field's value. 10179func (s *LifecycleRule) SetStatus(v string) *LifecycleRule { 10180 s.Status = &v 10181 return s 10182} 10183 10184// SetTransitions sets the Transitions field's value. 10185func (s *LifecycleRule) SetTransitions(v []*Transition) *LifecycleRule { 10186 s.Transitions = v 10187 return s 10188} 10189 10190// The container for the Outposts bucket lifecycle rule and operator. 10191type LifecycleRuleAndOperator struct { 10192 _ struct{} `type:"structure"` 10193 10194 // Prefix identifying one or more objects to which the rule applies. 10195 Prefix *string `type:"string"` 10196 10197 // All of these tags must exist in the object's tag set in order for the rule 10198 // to apply. 10199 Tags []*S3Tag `type:"list"` 10200} 10201 10202// String returns the string representation 10203func (s LifecycleRuleAndOperator) String() string { 10204 return awsutil.Prettify(s) 10205} 10206 10207// GoString returns the string representation 10208func (s LifecycleRuleAndOperator) GoString() string { 10209 return s.String() 10210} 10211 10212// Validate inspects the fields of the type to determine if they are valid. 10213func (s *LifecycleRuleAndOperator) Validate() error { 10214 invalidParams := request.ErrInvalidParams{Context: "LifecycleRuleAndOperator"} 10215 if s.Tags != nil { 10216 for i, v := range s.Tags { 10217 if v == nil { 10218 continue 10219 } 10220 if err := v.Validate(); err != nil { 10221 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 10222 } 10223 } 10224 } 10225 10226 if invalidParams.Len() > 0 { 10227 return invalidParams 10228 } 10229 return nil 10230} 10231 10232// SetPrefix sets the Prefix field's value. 10233func (s *LifecycleRuleAndOperator) SetPrefix(v string) *LifecycleRuleAndOperator { 10234 s.Prefix = &v 10235 return s 10236} 10237 10238// SetTags sets the Tags field's value. 10239func (s *LifecycleRuleAndOperator) SetTags(v []*S3Tag) *LifecycleRuleAndOperator { 10240 s.Tags = v 10241 return s 10242} 10243 10244// The container for the filter of the lifecycle rule. 10245type LifecycleRuleFilter struct { 10246 _ struct{} `type:"structure"` 10247 10248 // The container for the AND condition for the lifecycle rule. 10249 And *LifecycleRuleAndOperator `type:"structure"` 10250 10251 // Prefix identifying one or more objects to which the rule applies. 10252 // 10253 // Replacement must be made for object keys containing special characters (such 10254 // as carriage returns) when using XML requests. For more information, see XML 10255 // related object key constraints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints). 10256 Prefix *string `type:"string"` 10257 10258 Tag *S3Tag `type:"structure"` 10259} 10260 10261// String returns the string representation 10262func (s LifecycleRuleFilter) String() string { 10263 return awsutil.Prettify(s) 10264} 10265 10266// GoString returns the string representation 10267func (s LifecycleRuleFilter) GoString() string { 10268 return s.String() 10269} 10270 10271// Validate inspects the fields of the type to determine if they are valid. 10272func (s *LifecycleRuleFilter) Validate() error { 10273 invalidParams := request.ErrInvalidParams{Context: "LifecycleRuleFilter"} 10274 if s.And != nil { 10275 if err := s.And.Validate(); err != nil { 10276 invalidParams.AddNested("And", err.(request.ErrInvalidParams)) 10277 } 10278 } 10279 if s.Tag != nil { 10280 if err := s.Tag.Validate(); err != nil { 10281 invalidParams.AddNested("Tag", err.(request.ErrInvalidParams)) 10282 } 10283 } 10284 10285 if invalidParams.Len() > 0 { 10286 return invalidParams 10287 } 10288 return nil 10289} 10290 10291// SetAnd sets the And field's value. 10292func (s *LifecycleRuleFilter) SetAnd(v *LifecycleRuleAndOperator) *LifecycleRuleFilter { 10293 s.And = v 10294 return s 10295} 10296 10297// SetPrefix sets the Prefix field's value. 10298func (s *LifecycleRuleFilter) SetPrefix(v string) *LifecycleRuleFilter { 10299 s.Prefix = &v 10300 return s 10301} 10302 10303// SetTag sets the Tag field's value. 10304func (s *LifecycleRuleFilter) SetTag(v *S3Tag) *LifecycleRuleFilter { 10305 s.Tag = v 10306 return s 10307} 10308 10309type ListAccessPointsForObjectLambdaInput struct { 10310 _ struct{} `locationName:"ListAccessPointsForObjectLambdaRequest" type:"structure"` 10311 10312 // The account ID for the account that owns the specified Object Lambda Access 10313 // Point. 10314 // 10315 // AccountId is a required field 10316 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 10317 10318 // The maximum number of access points that you want to include in the list. 10319 // If there are more than this number of access points, then the response will 10320 // include a continuation token in the NextToken field that you can use to retrieve 10321 // the next page of access points. 10322 MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` 10323 10324 // If the list has more access points than can be returned in one call to this 10325 // API, this field contains a continuation token that you can provide in subsequent 10326 // calls to this API to retrieve additional access points. 10327 NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` 10328} 10329 10330// String returns the string representation 10331func (s ListAccessPointsForObjectLambdaInput) String() string { 10332 return awsutil.Prettify(s) 10333} 10334 10335// GoString returns the string representation 10336func (s ListAccessPointsForObjectLambdaInput) GoString() string { 10337 return s.String() 10338} 10339 10340// Validate inspects the fields of the type to determine if they are valid. 10341func (s *ListAccessPointsForObjectLambdaInput) Validate() error { 10342 invalidParams := request.ErrInvalidParams{Context: "ListAccessPointsForObjectLambdaInput"} 10343 if s.AccountId == nil { 10344 invalidParams.Add(request.NewErrParamRequired("AccountId")) 10345 } 10346 if s.AccountId != nil && len(*s.AccountId) < 1 { 10347 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 10348 } 10349 if s.NextToken != nil && len(*s.NextToken) < 1 { 10350 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 10351 } 10352 10353 if invalidParams.Len() > 0 { 10354 return invalidParams 10355 } 10356 return nil 10357} 10358 10359// SetAccountId sets the AccountId field's value. 10360func (s *ListAccessPointsForObjectLambdaInput) SetAccountId(v string) *ListAccessPointsForObjectLambdaInput { 10361 s.AccountId = &v 10362 return s 10363} 10364 10365// SetMaxResults sets the MaxResults field's value. 10366func (s *ListAccessPointsForObjectLambdaInput) SetMaxResults(v int64) *ListAccessPointsForObjectLambdaInput { 10367 s.MaxResults = &v 10368 return s 10369} 10370 10371// SetNextToken sets the NextToken field's value. 10372func (s *ListAccessPointsForObjectLambdaInput) SetNextToken(v string) *ListAccessPointsForObjectLambdaInput { 10373 s.NextToken = &v 10374 return s 10375} 10376 10377func (s *ListAccessPointsForObjectLambdaInput) hostLabels() map[string]string { 10378 return map[string]string{ 10379 "AccountId": aws.StringValue(s.AccountId), 10380 } 10381} 10382 10383type ListAccessPointsForObjectLambdaOutput struct { 10384 _ struct{} `type:"structure"` 10385 10386 // If the list has more access points than can be returned in one call to this 10387 // API, this field contains a continuation token that you can provide in subsequent 10388 // calls to this API to retrieve additional access points. 10389 NextToken *string `min:"1" type:"string"` 10390 10391 // Returns list of Object Lambda Access Points. 10392 ObjectLambdaAccessPointList []*ObjectLambdaAccessPoint `locationNameList:"ObjectLambdaAccessPoint" type:"list"` 10393} 10394 10395// String returns the string representation 10396func (s ListAccessPointsForObjectLambdaOutput) String() string { 10397 return awsutil.Prettify(s) 10398} 10399 10400// GoString returns the string representation 10401func (s ListAccessPointsForObjectLambdaOutput) GoString() string { 10402 return s.String() 10403} 10404 10405// SetNextToken sets the NextToken field's value. 10406func (s *ListAccessPointsForObjectLambdaOutput) SetNextToken(v string) *ListAccessPointsForObjectLambdaOutput { 10407 s.NextToken = &v 10408 return s 10409} 10410 10411// SetObjectLambdaAccessPointList sets the ObjectLambdaAccessPointList field's value. 10412func (s *ListAccessPointsForObjectLambdaOutput) SetObjectLambdaAccessPointList(v []*ObjectLambdaAccessPoint) *ListAccessPointsForObjectLambdaOutput { 10413 s.ObjectLambdaAccessPointList = v 10414 return s 10415} 10416 10417type ListAccessPointsInput struct { 10418 _ struct{} `locationName:"ListAccessPointsRequest" type:"structure"` 10419 10420 // The account ID for owner of the bucket whose access points you want to list. 10421 // 10422 // AccountId is a required field 10423 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 10424 10425 // The name of the bucket whose associated access points you want to list. 10426 // 10427 // For using this parameter with Amazon S3 on Outposts with the REST API, you 10428 // must specify the name and the x-amz-outpost-id as well. 10429 // 10430 // For using this parameter with S3 on Outposts with the Amazon Web Services 10431 // SDK and CLI, you must specify the ARN of the bucket accessed in the format 10432 // arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 10433 // For example, to access the bucket reports through outpost my-outpost owned 10434 // 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. 10435 // The value must be URL encoded. 10436 Bucket *string `location:"querystring" locationName:"bucket" min:"3" type:"string"` 10437 10438 // The maximum number of access points that you want to include in the list. 10439 // If the specified bucket has more than this number of access points, then 10440 // the response will include a continuation token in the NextToken field that 10441 // you can use to retrieve the next page of access points. 10442 MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` 10443 10444 // A continuation token. If a previous call to ListAccessPoints returned a continuation 10445 // token in the NextToken field, then providing that value here causes Amazon 10446 // S3 to retrieve the next page of results. 10447 NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` 10448} 10449 10450// String returns the string representation 10451func (s ListAccessPointsInput) String() string { 10452 return awsutil.Prettify(s) 10453} 10454 10455// GoString returns the string representation 10456func (s ListAccessPointsInput) GoString() string { 10457 return s.String() 10458} 10459 10460// Validate inspects the fields of the type to determine if they are valid. 10461func (s *ListAccessPointsInput) Validate() error { 10462 invalidParams := request.ErrInvalidParams{Context: "ListAccessPointsInput"} 10463 if s.AccountId == nil { 10464 invalidParams.Add(request.NewErrParamRequired("AccountId")) 10465 } 10466 if s.AccountId != nil && len(*s.AccountId) < 1 { 10467 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 10468 } 10469 if s.Bucket != nil && len(*s.Bucket) < 3 { 10470 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 10471 } 10472 if s.NextToken != nil && len(*s.NextToken) < 1 { 10473 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 10474 } 10475 10476 if invalidParams.Len() > 0 { 10477 return invalidParams 10478 } 10479 return nil 10480} 10481 10482// SetAccountId sets the AccountId field's value. 10483func (s *ListAccessPointsInput) SetAccountId(v string) *ListAccessPointsInput { 10484 s.AccountId = &v 10485 return s 10486} 10487 10488// SetBucket sets the Bucket field's value. 10489func (s *ListAccessPointsInput) SetBucket(v string) *ListAccessPointsInput { 10490 s.Bucket = &v 10491 return s 10492} 10493 10494// SetMaxResults sets the MaxResults field's value. 10495func (s *ListAccessPointsInput) SetMaxResults(v int64) *ListAccessPointsInput { 10496 s.MaxResults = &v 10497 return s 10498} 10499 10500// SetNextToken sets the NextToken field's value. 10501func (s *ListAccessPointsInput) SetNextToken(v string) *ListAccessPointsInput { 10502 s.NextToken = &v 10503 return s 10504} 10505 10506func (s *ListAccessPointsInput) hostLabels() map[string]string { 10507 return map[string]string{ 10508 "AccountId": aws.StringValue(s.AccountId), 10509 } 10510} 10511 10512func (s *ListAccessPointsInput) getEndpointARN() (arn.Resource, error) { 10513 if s.Bucket == nil { 10514 return nil, fmt.Errorf("member Bucket is nil") 10515 } 10516 return parseEndpointARN(*s.Bucket) 10517} 10518 10519func (s *ListAccessPointsInput) hasEndpointARN() bool { 10520 if s.Bucket == nil { 10521 return false 10522 } 10523 return arn.IsARN(*s.Bucket) 10524} 10525 10526// updateArnableField updates the value of the input field that 10527// takes an ARN as an input. This method is useful to backfill 10528// the parsed resource name from ARN into the input member. 10529// It returns a pointer to a modified copy of input and an error. 10530// Note that original input is not modified. 10531func (s ListAccessPointsInput) updateArnableField(v string) (interface{}, error) { 10532 if s.Bucket == nil { 10533 return nil, fmt.Errorf("member Bucket is nil") 10534 } 10535 s.Bucket = aws.String(v) 10536 return &s, nil 10537} 10538 10539// updateAccountID returns a pointer to a modified copy of input, 10540// if account id is not provided, we update the account id in modified input 10541// if account id is provided, but doesn't match with the one in ARN, we throw an error 10542// if account id is not updated, we return nil. Note that original input is not modified. 10543func (s ListAccessPointsInput) updateAccountID(accountId string) (interface{}, error) { 10544 if s.AccountId == nil { 10545 s.AccountId = aws.String(accountId) 10546 return &s, nil 10547 } else if *s.AccountId != accountId { 10548 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 10549 } 10550 return nil, nil 10551} 10552 10553type ListAccessPointsOutput struct { 10554 _ struct{} `type:"structure"` 10555 10556 // Contains identification and configuration information for one or more access 10557 // points associated with the specified bucket. 10558 AccessPointList []*AccessPoint `locationNameList:"AccessPoint" type:"list"` 10559 10560 // If the specified bucket has more access points than can be returned in one 10561 // call to this API, this field contains a continuation token that you can provide 10562 // in subsequent calls to this API to retrieve additional access points. 10563 NextToken *string `min:"1" type:"string"` 10564} 10565 10566// String returns the string representation 10567func (s ListAccessPointsOutput) String() string { 10568 return awsutil.Prettify(s) 10569} 10570 10571// GoString returns the string representation 10572func (s ListAccessPointsOutput) GoString() string { 10573 return s.String() 10574} 10575 10576// SetAccessPointList sets the AccessPointList field's value. 10577func (s *ListAccessPointsOutput) SetAccessPointList(v []*AccessPoint) *ListAccessPointsOutput { 10578 s.AccessPointList = v 10579 return s 10580} 10581 10582// SetNextToken sets the NextToken field's value. 10583func (s *ListAccessPointsOutput) SetNextToken(v string) *ListAccessPointsOutput { 10584 s.NextToken = &v 10585 return s 10586} 10587 10588type ListJobsInput struct { 10589 _ struct{} `locationName:"ListJobsRequest" type:"structure"` 10590 10591 // The account ID associated with the S3 Batch Operations job. 10592 // 10593 // AccountId is a required field 10594 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 10595 10596 // The List Jobs request returns jobs that match the statuses listed in this 10597 // element. 10598 JobStatuses []*string `location:"querystring" locationName:"jobStatuses" type:"list"` 10599 10600 // The maximum number of jobs that Amazon S3 will include in the List Jobs response. 10601 // If there are more jobs than this number, the response will include a pagination 10602 // token in the NextToken field to enable you to retrieve the next page of results. 10603 MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` 10604 10605 // A pagination token to request the next page of results. Use the token that 10606 // Amazon S3 returned in the NextToken element of the ListJobsResult from the 10607 // previous List Jobs request. 10608 NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` 10609} 10610 10611// String returns the string representation 10612func (s ListJobsInput) String() string { 10613 return awsutil.Prettify(s) 10614} 10615 10616// GoString returns the string representation 10617func (s ListJobsInput) GoString() string { 10618 return s.String() 10619} 10620 10621// Validate inspects the fields of the type to determine if they are valid. 10622func (s *ListJobsInput) Validate() error { 10623 invalidParams := request.ErrInvalidParams{Context: "ListJobsInput"} 10624 if s.AccountId == nil { 10625 invalidParams.Add(request.NewErrParamRequired("AccountId")) 10626 } 10627 if s.AccountId != nil && len(*s.AccountId) < 1 { 10628 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 10629 } 10630 if s.NextToken != nil && len(*s.NextToken) < 1 { 10631 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 10632 } 10633 10634 if invalidParams.Len() > 0 { 10635 return invalidParams 10636 } 10637 return nil 10638} 10639 10640// SetAccountId sets the AccountId field's value. 10641func (s *ListJobsInput) SetAccountId(v string) *ListJobsInput { 10642 s.AccountId = &v 10643 return s 10644} 10645 10646// SetJobStatuses sets the JobStatuses field's value. 10647func (s *ListJobsInput) SetJobStatuses(v []*string) *ListJobsInput { 10648 s.JobStatuses = v 10649 return s 10650} 10651 10652// SetMaxResults sets the MaxResults field's value. 10653func (s *ListJobsInput) SetMaxResults(v int64) *ListJobsInput { 10654 s.MaxResults = &v 10655 return s 10656} 10657 10658// SetNextToken sets the NextToken field's value. 10659func (s *ListJobsInput) SetNextToken(v string) *ListJobsInput { 10660 s.NextToken = &v 10661 return s 10662} 10663 10664func (s *ListJobsInput) hostLabels() map[string]string { 10665 return map[string]string{ 10666 "AccountId": aws.StringValue(s.AccountId), 10667 } 10668} 10669 10670type ListJobsOutput struct { 10671 _ struct{} `type:"structure"` 10672 10673 // The list of current jobs and jobs that have ended within the last 30 days. 10674 Jobs []*JobListDescriptor `type:"list"` 10675 10676 // If the List Jobs request produced more than the maximum number of results, 10677 // you can pass this value into a subsequent List Jobs request in order to retrieve 10678 // the next page of results. 10679 NextToken *string `min:"1" type:"string"` 10680} 10681 10682// String returns the string representation 10683func (s ListJobsOutput) String() string { 10684 return awsutil.Prettify(s) 10685} 10686 10687// GoString returns the string representation 10688func (s ListJobsOutput) GoString() string { 10689 return s.String() 10690} 10691 10692// SetJobs sets the Jobs field's value. 10693func (s *ListJobsOutput) SetJobs(v []*JobListDescriptor) *ListJobsOutput { 10694 s.Jobs = v 10695 return s 10696} 10697 10698// SetNextToken sets the NextToken field's value. 10699func (s *ListJobsOutput) SetNextToken(v string) *ListJobsOutput { 10700 s.NextToken = &v 10701 return s 10702} 10703 10704type ListRegionalBucketsInput struct { 10705 _ struct{} `locationName:"ListRegionalBucketsRequest" type:"structure"` 10706 10707 // The account ID of the Outposts bucket. 10708 // 10709 // AccountId is a required field 10710 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 10711 10712 MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` 10713 10714 NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` 10715 10716 // The ID of the Outposts. 10717 // 10718 // This is required by Amazon S3 on Outposts buckets. 10719 OutpostId *string `location:"header" locationName:"x-amz-outpost-id" min:"1" type:"string"` 10720} 10721 10722// String returns the string representation 10723func (s ListRegionalBucketsInput) String() string { 10724 return awsutil.Prettify(s) 10725} 10726 10727// GoString returns the string representation 10728func (s ListRegionalBucketsInput) GoString() string { 10729 return s.String() 10730} 10731 10732// Validate inspects the fields of the type to determine if they are valid. 10733func (s *ListRegionalBucketsInput) Validate() error { 10734 invalidParams := request.ErrInvalidParams{Context: "ListRegionalBucketsInput"} 10735 if s.AccountId == nil { 10736 invalidParams.Add(request.NewErrParamRequired("AccountId")) 10737 } 10738 if s.AccountId != nil && len(*s.AccountId) < 1 { 10739 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 10740 } 10741 if s.NextToken != nil && len(*s.NextToken) < 1 { 10742 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 10743 } 10744 if s.OutpostId != nil && len(*s.OutpostId) < 1 { 10745 invalidParams.Add(request.NewErrParamMinLen("OutpostId", 1)) 10746 } 10747 10748 if invalidParams.Len() > 0 { 10749 return invalidParams 10750 } 10751 return nil 10752} 10753 10754// SetAccountId sets the AccountId field's value. 10755func (s *ListRegionalBucketsInput) SetAccountId(v string) *ListRegionalBucketsInput { 10756 s.AccountId = &v 10757 return s 10758} 10759 10760// SetMaxResults sets the MaxResults field's value. 10761func (s *ListRegionalBucketsInput) SetMaxResults(v int64) *ListRegionalBucketsInput { 10762 s.MaxResults = &v 10763 return s 10764} 10765 10766// SetNextToken sets the NextToken field's value. 10767func (s *ListRegionalBucketsInput) SetNextToken(v string) *ListRegionalBucketsInput { 10768 s.NextToken = &v 10769 return s 10770} 10771 10772// SetOutpostId sets the OutpostId field's value. 10773func (s *ListRegionalBucketsInput) SetOutpostId(v string) *ListRegionalBucketsInput { 10774 s.OutpostId = &v 10775 return s 10776} 10777 10778func (s *ListRegionalBucketsInput) hostLabels() map[string]string { 10779 return map[string]string{ 10780 "AccountId": aws.StringValue(s.AccountId), 10781 } 10782} 10783 10784func (s *ListRegionalBucketsInput) getOutpostID() (string, error) { 10785 if s.OutpostId == nil { 10786 return "", fmt.Errorf("member OutpostId is nil") 10787 } 10788 return *s.OutpostId, nil 10789} 10790 10791func (s *ListRegionalBucketsInput) hasOutpostID() bool { 10792 if s.OutpostId == nil { 10793 return false 10794 } 10795 return true 10796} 10797 10798type ListRegionalBucketsOutput struct { 10799 _ struct{} `type:"structure"` 10800 10801 // NextToken is sent when isTruncated is true, which means there are more buckets 10802 // that can be listed. The next list requests to Amazon S3 can be continued 10803 // with this NextToken. NextToken is obfuscated and is not a real key. 10804 NextToken *string `min:"1" type:"string"` 10805 10806 RegionalBucketList []*RegionalBucket `locationNameList:"RegionalBucket" type:"list"` 10807} 10808 10809// String returns the string representation 10810func (s ListRegionalBucketsOutput) String() string { 10811 return awsutil.Prettify(s) 10812} 10813 10814// GoString returns the string representation 10815func (s ListRegionalBucketsOutput) GoString() string { 10816 return s.String() 10817} 10818 10819// SetNextToken sets the NextToken field's value. 10820func (s *ListRegionalBucketsOutput) SetNextToken(v string) *ListRegionalBucketsOutput { 10821 s.NextToken = &v 10822 return s 10823} 10824 10825// SetRegionalBucketList sets the RegionalBucketList field's value. 10826func (s *ListRegionalBucketsOutput) SetRegionalBucketList(v []*RegionalBucket) *ListRegionalBucketsOutput { 10827 s.RegionalBucketList = v 10828 return s 10829} 10830 10831// Part of ListStorageLensConfigurationResult. Each entry includes the description 10832// of the S3 Storage Lens configuration, its home Region, whether it is enabled, 10833// its Amazon Resource Name (ARN), and config ID. 10834type ListStorageLensConfigurationEntry struct { 10835 _ struct{} `type:"structure"` 10836 10837 // A container for the S3 Storage Lens home Region. Your metrics data is stored 10838 // and retained in your designated S3 Storage Lens home Region. 10839 // 10840 // HomeRegion is a required field 10841 HomeRegion *string `min:"5" type:"string" required:"true"` 10842 10843 // A container for the S3 Storage Lens configuration ID. 10844 // 10845 // Id is a required field 10846 Id *string `min:"1" type:"string" required:"true"` 10847 10848 // A container for whether the S3 Storage Lens configuration is enabled. This 10849 // property is required. 10850 IsEnabled *bool `type:"boolean"` 10851 10852 // The ARN of the S3 Storage Lens configuration. This property is read-only. 10853 // 10854 // StorageLensArn is a required field 10855 StorageLensArn *string `min:"1" type:"string" required:"true"` 10856} 10857 10858// String returns the string representation 10859func (s ListStorageLensConfigurationEntry) String() string { 10860 return awsutil.Prettify(s) 10861} 10862 10863// GoString returns the string representation 10864func (s ListStorageLensConfigurationEntry) GoString() string { 10865 return s.String() 10866} 10867 10868// SetHomeRegion sets the HomeRegion field's value. 10869func (s *ListStorageLensConfigurationEntry) SetHomeRegion(v string) *ListStorageLensConfigurationEntry { 10870 s.HomeRegion = &v 10871 return s 10872} 10873 10874// SetId sets the Id field's value. 10875func (s *ListStorageLensConfigurationEntry) SetId(v string) *ListStorageLensConfigurationEntry { 10876 s.Id = &v 10877 return s 10878} 10879 10880// SetIsEnabled sets the IsEnabled field's value. 10881func (s *ListStorageLensConfigurationEntry) SetIsEnabled(v bool) *ListStorageLensConfigurationEntry { 10882 s.IsEnabled = &v 10883 return s 10884} 10885 10886// SetStorageLensArn sets the StorageLensArn field's value. 10887func (s *ListStorageLensConfigurationEntry) SetStorageLensArn(v string) *ListStorageLensConfigurationEntry { 10888 s.StorageLensArn = &v 10889 return s 10890} 10891 10892type ListStorageLensConfigurationsInput struct { 10893 _ struct{} `locationName:"ListStorageLensConfigurationsRequest" type:"structure"` 10894 10895 // The account ID of the requester. 10896 // 10897 // AccountId is a required field 10898 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 10899 10900 // A pagination token to request the next page of results. 10901 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 10902} 10903 10904// String returns the string representation 10905func (s ListStorageLensConfigurationsInput) String() string { 10906 return awsutil.Prettify(s) 10907} 10908 10909// GoString returns the string representation 10910func (s ListStorageLensConfigurationsInput) GoString() string { 10911 return s.String() 10912} 10913 10914// Validate inspects the fields of the type to determine if they are valid. 10915func (s *ListStorageLensConfigurationsInput) Validate() error { 10916 invalidParams := request.ErrInvalidParams{Context: "ListStorageLensConfigurationsInput"} 10917 if s.AccountId == nil { 10918 invalidParams.Add(request.NewErrParamRequired("AccountId")) 10919 } 10920 if s.AccountId != nil && len(*s.AccountId) < 1 { 10921 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 10922 } 10923 10924 if invalidParams.Len() > 0 { 10925 return invalidParams 10926 } 10927 return nil 10928} 10929 10930// SetAccountId sets the AccountId field's value. 10931func (s *ListStorageLensConfigurationsInput) SetAccountId(v string) *ListStorageLensConfigurationsInput { 10932 s.AccountId = &v 10933 return s 10934} 10935 10936// SetNextToken sets the NextToken field's value. 10937func (s *ListStorageLensConfigurationsInput) SetNextToken(v string) *ListStorageLensConfigurationsInput { 10938 s.NextToken = &v 10939 return s 10940} 10941 10942func (s *ListStorageLensConfigurationsInput) hostLabels() map[string]string { 10943 return map[string]string{ 10944 "AccountId": aws.StringValue(s.AccountId), 10945 } 10946} 10947 10948type ListStorageLensConfigurationsOutput struct { 10949 _ struct{} `type:"structure"` 10950 10951 // If the request produced more than the maximum number of S3 Storage Lens configuration 10952 // results, you can pass this value into a subsequent request to retrieve the 10953 // next page of results. 10954 NextToken *string `type:"string"` 10955 10956 // A list of S3 Storage Lens configurations. 10957 StorageLensConfigurationList []*ListStorageLensConfigurationEntry `locationNameList:"StorageLensConfiguration" type:"list" flattened:"true"` 10958} 10959 10960// String returns the string representation 10961func (s ListStorageLensConfigurationsOutput) String() string { 10962 return awsutil.Prettify(s) 10963} 10964 10965// GoString returns the string representation 10966func (s ListStorageLensConfigurationsOutput) GoString() string { 10967 return s.String() 10968} 10969 10970// SetNextToken sets the NextToken field's value. 10971func (s *ListStorageLensConfigurationsOutput) SetNextToken(v string) *ListStorageLensConfigurationsOutput { 10972 s.NextToken = &v 10973 return s 10974} 10975 10976// SetStorageLensConfigurationList sets the StorageLensConfigurationList field's value. 10977func (s *ListStorageLensConfigurationsOutput) SetStorageLensConfigurationList(v []*ListStorageLensConfigurationEntry) *ListStorageLensConfigurationsOutput { 10978 s.StorageLensConfigurationList = v 10979 return s 10980} 10981 10982// The container of the noncurrent version expiration. 10983type NoncurrentVersionExpiration struct { 10984 _ struct{} `type:"structure"` 10985 10986 // Specifies the number of days an object is noncurrent before Amazon S3 can 10987 // perform the associated action. For information about the noncurrent days 10988 // calculations, see How Amazon S3 Calculates When an Object Became Noncurrent 10989 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) 10990 // in the Amazon S3 User Guide. 10991 NoncurrentDays *int64 `type:"integer"` 10992} 10993 10994// String returns the string representation 10995func (s NoncurrentVersionExpiration) String() string { 10996 return awsutil.Prettify(s) 10997} 10998 10999// GoString returns the string representation 11000func (s NoncurrentVersionExpiration) GoString() string { 11001 return s.String() 11002} 11003 11004// SetNoncurrentDays sets the NoncurrentDays field's value. 11005func (s *NoncurrentVersionExpiration) SetNoncurrentDays(v int64) *NoncurrentVersionExpiration { 11006 s.NoncurrentDays = &v 11007 return s 11008} 11009 11010// The container for the noncurrent version transition. 11011type NoncurrentVersionTransition struct { 11012 _ struct{} `type:"structure"` 11013 11014 // Specifies the number of days an object is noncurrent before Amazon S3 can 11015 // perform the associated action. For information about the noncurrent days 11016 // calculations, see How Amazon S3 Calculates How Long an Object Has Been Noncurrent 11017 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) 11018 // in the Amazon S3 User Guide. 11019 NoncurrentDays *int64 `type:"integer"` 11020 11021 // The class of storage used to store the object. 11022 StorageClass *string `type:"string" enum:"TransitionStorageClass"` 11023} 11024 11025// String returns the string representation 11026func (s NoncurrentVersionTransition) String() string { 11027 return awsutil.Prettify(s) 11028} 11029 11030// GoString returns the string representation 11031func (s NoncurrentVersionTransition) GoString() string { 11032 return s.String() 11033} 11034 11035// SetNoncurrentDays sets the NoncurrentDays field's value. 11036func (s *NoncurrentVersionTransition) SetNoncurrentDays(v int64) *NoncurrentVersionTransition { 11037 s.NoncurrentDays = &v 11038 return s 11039} 11040 11041// SetStorageClass sets the StorageClass field's value. 11042func (s *NoncurrentVersionTransition) SetStorageClass(v string) *NoncurrentVersionTransition { 11043 s.StorageClass = &v 11044 return s 11045} 11046 11047// An access point with an attached Lambda function used to access transformed 11048// data from an Amazon S3 bucket. 11049type ObjectLambdaAccessPoint struct { 11050 _ struct{} `type:"structure"` 11051 11052 // The name of the Object Lambda Access Point. 11053 // 11054 // Name is a required field 11055 Name *string `min:"3" type:"string" required:"true"` 11056 11057 // Specifies the ARN for the Object Lambda Access Point. 11058 ObjectLambdaAccessPointArn *string `min:"1" type:"string"` 11059} 11060 11061// String returns the string representation 11062func (s ObjectLambdaAccessPoint) String() string { 11063 return awsutil.Prettify(s) 11064} 11065 11066// GoString returns the string representation 11067func (s ObjectLambdaAccessPoint) GoString() string { 11068 return s.String() 11069} 11070 11071// SetName sets the Name field's value. 11072func (s *ObjectLambdaAccessPoint) SetName(v string) *ObjectLambdaAccessPoint { 11073 s.Name = &v 11074 return s 11075} 11076 11077// SetObjectLambdaAccessPointArn sets the ObjectLambdaAccessPointArn field's value. 11078func (s *ObjectLambdaAccessPoint) SetObjectLambdaAccessPointArn(v string) *ObjectLambdaAccessPoint { 11079 s.ObjectLambdaAccessPointArn = &v 11080 return s 11081} 11082 11083// A configuration used when creating an Object Lambda Access Point. 11084type ObjectLambdaConfiguration struct { 11085 _ struct{} `type:"structure"` 11086 11087 // A container for allowed features. Valid inputs are GetObject-Range and GetObject-PartNumber. 11088 AllowedFeatures []*string `locationNameList:"AllowedFeature" type:"list"` 11089 11090 // A container for whether the CloudWatch metrics configuration is enabled. 11091 CloudWatchMetricsEnabled *bool `type:"boolean"` 11092 11093 // Standard access point associated with the Object Lambda Access Point. 11094 // 11095 // SupportingAccessPoint is a required field 11096 SupportingAccessPoint *string `min:"1" type:"string" required:"true"` 11097 11098 // A container for transformation configurations for an Object Lambda Access 11099 // Point. 11100 // 11101 // TransformationConfigurations is a required field 11102 TransformationConfigurations []*ObjectLambdaTransformationConfiguration `locationNameList:"TransformationConfiguration" type:"list" required:"true"` 11103} 11104 11105// String returns the string representation 11106func (s ObjectLambdaConfiguration) String() string { 11107 return awsutil.Prettify(s) 11108} 11109 11110// GoString returns the string representation 11111func (s ObjectLambdaConfiguration) GoString() string { 11112 return s.String() 11113} 11114 11115// Validate inspects the fields of the type to determine if they are valid. 11116func (s *ObjectLambdaConfiguration) Validate() error { 11117 invalidParams := request.ErrInvalidParams{Context: "ObjectLambdaConfiguration"} 11118 if s.SupportingAccessPoint == nil { 11119 invalidParams.Add(request.NewErrParamRequired("SupportingAccessPoint")) 11120 } 11121 if s.SupportingAccessPoint != nil && len(*s.SupportingAccessPoint) < 1 { 11122 invalidParams.Add(request.NewErrParamMinLen("SupportingAccessPoint", 1)) 11123 } 11124 if s.TransformationConfigurations == nil { 11125 invalidParams.Add(request.NewErrParamRequired("TransformationConfigurations")) 11126 } 11127 if s.TransformationConfigurations != nil { 11128 for i, v := range s.TransformationConfigurations { 11129 if v == nil { 11130 continue 11131 } 11132 if err := v.Validate(); err != nil { 11133 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TransformationConfigurations", i), err.(request.ErrInvalidParams)) 11134 } 11135 } 11136 } 11137 11138 if invalidParams.Len() > 0 { 11139 return invalidParams 11140 } 11141 return nil 11142} 11143 11144// SetAllowedFeatures sets the AllowedFeatures field's value. 11145func (s *ObjectLambdaConfiguration) SetAllowedFeatures(v []*string) *ObjectLambdaConfiguration { 11146 s.AllowedFeatures = v 11147 return s 11148} 11149 11150// SetCloudWatchMetricsEnabled sets the CloudWatchMetricsEnabled field's value. 11151func (s *ObjectLambdaConfiguration) SetCloudWatchMetricsEnabled(v bool) *ObjectLambdaConfiguration { 11152 s.CloudWatchMetricsEnabled = &v 11153 return s 11154} 11155 11156// SetSupportingAccessPoint sets the SupportingAccessPoint field's value. 11157func (s *ObjectLambdaConfiguration) SetSupportingAccessPoint(v string) *ObjectLambdaConfiguration { 11158 s.SupportingAccessPoint = &v 11159 return s 11160} 11161 11162// SetTransformationConfigurations sets the TransformationConfigurations field's value. 11163func (s *ObjectLambdaConfiguration) SetTransformationConfigurations(v []*ObjectLambdaTransformationConfiguration) *ObjectLambdaConfiguration { 11164 s.TransformationConfigurations = v 11165 return s 11166} 11167 11168// A container for AwsLambdaTransformation. 11169type ObjectLambdaContentTransformation struct { 11170 _ struct{} `type:"structure"` 11171 11172 // A container for an Lambda function. 11173 AwsLambda *AwsLambdaTransformation `type:"structure"` 11174} 11175 11176// String returns the string representation 11177func (s ObjectLambdaContentTransformation) String() string { 11178 return awsutil.Prettify(s) 11179} 11180 11181// GoString returns the string representation 11182func (s ObjectLambdaContentTransformation) GoString() string { 11183 return s.String() 11184} 11185 11186// Validate inspects the fields of the type to determine if they are valid. 11187func (s *ObjectLambdaContentTransformation) Validate() error { 11188 invalidParams := request.ErrInvalidParams{Context: "ObjectLambdaContentTransformation"} 11189 if s.AwsLambda != nil { 11190 if err := s.AwsLambda.Validate(); err != nil { 11191 invalidParams.AddNested("AwsLambda", err.(request.ErrInvalidParams)) 11192 } 11193 } 11194 11195 if invalidParams.Len() > 0 { 11196 return invalidParams 11197 } 11198 return nil 11199} 11200 11201// SetAwsLambda sets the AwsLambda field's value. 11202func (s *ObjectLambdaContentTransformation) SetAwsLambda(v *AwsLambdaTransformation) *ObjectLambdaContentTransformation { 11203 s.AwsLambda = v 11204 return s 11205} 11206 11207// A configuration used when creating an Object Lambda Access Point transformation. 11208type ObjectLambdaTransformationConfiguration struct { 11209 _ struct{} `type:"structure"` 11210 11211 // A container for the action of an Object Lambda Access Point configuration. 11212 // Valid input is GetObject. 11213 // 11214 // Actions is a required field 11215 Actions []*string `locationNameList:"Action" type:"list" required:"true"` 11216 11217 // A container for the content transformation of an Object Lambda Access Point 11218 // configuration. 11219 // 11220 // ContentTransformation is a required field 11221 ContentTransformation *ObjectLambdaContentTransformation `type:"structure" required:"true"` 11222} 11223 11224// String returns the string representation 11225func (s ObjectLambdaTransformationConfiguration) String() string { 11226 return awsutil.Prettify(s) 11227} 11228 11229// GoString returns the string representation 11230func (s ObjectLambdaTransformationConfiguration) GoString() string { 11231 return s.String() 11232} 11233 11234// Validate inspects the fields of the type to determine if they are valid. 11235func (s *ObjectLambdaTransformationConfiguration) Validate() error { 11236 invalidParams := request.ErrInvalidParams{Context: "ObjectLambdaTransformationConfiguration"} 11237 if s.Actions == nil { 11238 invalidParams.Add(request.NewErrParamRequired("Actions")) 11239 } 11240 if s.ContentTransformation == nil { 11241 invalidParams.Add(request.NewErrParamRequired("ContentTransformation")) 11242 } 11243 if s.ContentTransformation != nil { 11244 if err := s.ContentTransformation.Validate(); err != nil { 11245 invalidParams.AddNested("ContentTransformation", err.(request.ErrInvalidParams)) 11246 } 11247 } 11248 11249 if invalidParams.Len() > 0 { 11250 return invalidParams 11251 } 11252 return nil 11253} 11254 11255// SetActions sets the Actions field's value. 11256func (s *ObjectLambdaTransformationConfiguration) SetActions(v []*string) *ObjectLambdaTransformationConfiguration { 11257 s.Actions = v 11258 return s 11259} 11260 11261// SetContentTransformation sets the ContentTransformation field's value. 11262func (s *ObjectLambdaTransformationConfiguration) SetContentTransformation(v *ObjectLambdaContentTransformation) *ObjectLambdaTransformationConfiguration { 11263 s.ContentTransformation = v 11264 return s 11265} 11266 11267// Indicates whether this access point policy is public. For more information 11268// about how Amazon S3 evaluates policies to determine whether they are public, 11269// 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) 11270// in the Amazon S3 User Guide. 11271type PolicyStatus struct { 11272 _ struct{} `type:"structure"` 11273 11274 IsPublic *bool `locationName:"IsPublic" type:"boolean"` 11275} 11276 11277// String returns the string representation 11278func (s PolicyStatus) String() string { 11279 return awsutil.Prettify(s) 11280} 11281 11282// GoString returns the string representation 11283func (s PolicyStatus) GoString() string { 11284 return s.String() 11285} 11286 11287// SetIsPublic sets the IsPublic field's value. 11288func (s *PolicyStatus) SetIsPublic(v bool) *PolicyStatus { 11289 s.IsPublic = &v 11290 return s 11291} 11292 11293// A container for the prefix-level configuration. 11294type PrefixLevel struct { 11295 _ struct{} `type:"structure"` 11296 11297 // A container for the prefix-level storage metrics for S3 Storage Lens. 11298 // 11299 // StorageMetrics is a required field 11300 StorageMetrics *PrefixLevelStorageMetrics `type:"structure" required:"true"` 11301} 11302 11303// String returns the string representation 11304func (s PrefixLevel) String() string { 11305 return awsutil.Prettify(s) 11306} 11307 11308// GoString returns the string representation 11309func (s PrefixLevel) GoString() string { 11310 return s.String() 11311} 11312 11313// Validate inspects the fields of the type to determine if they are valid. 11314func (s *PrefixLevel) Validate() error { 11315 invalidParams := request.ErrInvalidParams{Context: "PrefixLevel"} 11316 if s.StorageMetrics == nil { 11317 invalidParams.Add(request.NewErrParamRequired("StorageMetrics")) 11318 } 11319 if s.StorageMetrics != nil { 11320 if err := s.StorageMetrics.Validate(); err != nil { 11321 invalidParams.AddNested("StorageMetrics", err.(request.ErrInvalidParams)) 11322 } 11323 } 11324 11325 if invalidParams.Len() > 0 { 11326 return invalidParams 11327 } 11328 return nil 11329} 11330 11331// SetStorageMetrics sets the StorageMetrics field's value. 11332func (s *PrefixLevel) SetStorageMetrics(v *PrefixLevelStorageMetrics) *PrefixLevel { 11333 s.StorageMetrics = v 11334 return s 11335} 11336 11337// A container for the prefix-level storage metrics for S3 Storage Lens. 11338type PrefixLevelStorageMetrics struct { 11339 _ struct{} `type:"structure"` 11340 11341 // A container for whether prefix-level storage metrics are enabled. 11342 IsEnabled *bool `type:"boolean"` 11343 11344 SelectionCriteria *SelectionCriteria `type:"structure"` 11345} 11346 11347// String returns the string representation 11348func (s PrefixLevelStorageMetrics) String() string { 11349 return awsutil.Prettify(s) 11350} 11351 11352// GoString returns the string representation 11353func (s PrefixLevelStorageMetrics) GoString() string { 11354 return s.String() 11355} 11356 11357// Validate inspects the fields of the type to determine if they are valid. 11358func (s *PrefixLevelStorageMetrics) Validate() error { 11359 invalidParams := request.ErrInvalidParams{Context: "PrefixLevelStorageMetrics"} 11360 if s.SelectionCriteria != nil { 11361 if err := s.SelectionCriteria.Validate(); err != nil { 11362 invalidParams.AddNested("SelectionCriteria", err.(request.ErrInvalidParams)) 11363 } 11364 } 11365 11366 if invalidParams.Len() > 0 { 11367 return invalidParams 11368 } 11369 return nil 11370} 11371 11372// SetIsEnabled sets the IsEnabled field's value. 11373func (s *PrefixLevelStorageMetrics) SetIsEnabled(v bool) *PrefixLevelStorageMetrics { 11374 s.IsEnabled = &v 11375 return s 11376} 11377 11378// SetSelectionCriteria sets the SelectionCriteria field's value. 11379func (s *PrefixLevelStorageMetrics) SetSelectionCriteria(v *SelectionCriteria) *PrefixLevelStorageMetrics { 11380 s.SelectionCriteria = v 11381 return s 11382} 11383 11384// The PublicAccessBlock configuration that you want to apply to this Amazon 11385// S3 account. You can enable the configuration options in any combination. 11386// For more information about when Amazon S3 considers a bucket or object public, 11387// 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) 11388// in the Amazon S3 User Guide. 11389// 11390// This is not supported for Amazon S3 on Outposts. 11391type PublicAccessBlockConfiguration struct { 11392 _ struct{} `type:"structure"` 11393 11394 // Specifies whether Amazon S3 should block public access control lists (ACLs) 11395 // for buckets in this account. Setting this element to TRUE causes the following 11396 // behavior: 11397 // 11398 // * PUT Bucket acl and PUT Object acl calls fail if the specified ACL is 11399 // public. 11400 // 11401 // * PUT Object calls fail if the request includes a public ACL. 11402 // 11403 // * PUT Bucket calls fail if the request includes a public ACL. 11404 // 11405 // Enabling this setting doesn't affect existing policies or ACLs. 11406 // 11407 // This is not supported for Amazon S3 on Outposts. 11408 BlockPublicAcls *bool `locationName:"BlockPublicAcls" type:"boolean"` 11409 11410 // Specifies whether Amazon S3 should block public bucket policies for buckets 11411 // in this account. Setting this element to TRUE causes Amazon S3 to reject 11412 // calls to PUT Bucket policy if the specified bucket policy allows public access. 11413 // 11414 // Enabling this setting doesn't affect existing bucket policies. 11415 // 11416 // This is not supported for Amazon S3 on Outposts. 11417 BlockPublicPolicy *bool `locationName:"BlockPublicPolicy" type:"boolean"` 11418 11419 // Specifies whether Amazon S3 should ignore public ACLs for buckets in this 11420 // account. Setting this element to TRUE causes Amazon S3 to ignore all public 11421 // ACLs on buckets in this account and any objects that they contain. 11422 // 11423 // Enabling this setting doesn't affect the persistence of any existing ACLs 11424 // and doesn't prevent new public ACLs from being set. 11425 // 11426 // This is not supported for Amazon S3 on Outposts. 11427 IgnorePublicAcls *bool `locationName:"IgnorePublicAcls" type:"boolean"` 11428 11429 // Specifies whether Amazon S3 should restrict public bucket policies for buckets 11430 // in this account. Setting this element to TRUE restricts access to buckets 11431 // with public policies to only Amazon Web Service principals and authorized 11432 // users within this account. 11433 // 11434 // Enabling this setting doesn't affect previously stored bucket policies, except 11435 // that public and cross-account access within any public bucket policy, including 11436 // non-public delegation to specific accounts, is blocked. 11437 // 11438 // This is not supported for Amazon S3 on Outposts. 11439 RestrictPublicBuckets *bool `locationName:"RestrictPublicBuckets" type:"boolean"` 11440} 11441 11442// String returns the string representation 11443func (s PublicAccessBlockConfiguration) String() string { 11444 return awsutil.Prettify(s) 11445} 11446 11447// GoString returns the string representation 11448func (s PublicAccessBlockConfiguration) GoString() string { 11449 return s.String() 11450} 11451 11452// SetBlockPublicAcls sets the BlockPublicAcls field's value. 11453func (s *PublicAccessBlockConfiguration) SetBlockPublicAcls(v bool) *PublicAccessBlockConfiguration { 11454 s.BlockPublicAcls = &v 11455 return s 11456} 11457 11458// SetBlockPublicPolicy sets the BlockPublicPolicy field's value. 11459func (s *PublicAccessBlockConfiguration) SetBlockPublicPolicy(v bool) *PublicAccessBlockConfiguration { 11460 s.BlockPublicPolicy = &v 11461 return s 11462} 11463 11464// SetIgnorePublicAcls sets the IgnorePublicAcls field's value. 11465func (s *PublicAccessBlockConfiguration) SetIgnorePublicAcls(v bool) *PublicAccessBlockConfiguration { 11466 s.IgnorePublicAcls = &v 11467 return s 11468} 11469 11470// SetRestrictPublicBuckets sets the RestrictPublicBuckets field's value. 11471func (s *PublicAccessBlockConfiguration) SetRestrictPublicBuckets(v bool) *PublicAccessBlockConfiguration { 11472 s.RestrictPublicBuckets = &v 11473 return s 11474} 11475 11476type PutAccessPointConfigurationForObjectLambdaInput struct { 11477 _ struct{} `locationName:"PutAccessPointConfigurationForObjectLambdaRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 11478 11479 // The account ID for the account that owns the specified Object Lambda Access 11480 // Point. 11481 // 11482 // AccountId is a required field 11483 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 11484 11485 // Object Lambda Access Point configuration document. 11486 // 11487 // Configuration is a required field 11488 Configuration *ObjectLambdaConfiguration `type:"structure" required:"true"` 11489 11490 // The name of the Object Lambda Access Point. 11491 // 11492 // Name is a required field 11493 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 11494} 11495 11496// String returns the string representation 11497func (s PutAccessPointConfigurationForObjectLambdaInput) String() string { 11498 return awsutil.Prettify(s) 11499} 11500 11501// GoString returns the string representation 11502func (s PutAccessPointConfigurationForObjectLambdaInput) GoString() string { 11503 return s.String() 11504} 11505 11506// Validate inspects the fields of the type to determine if they are valid. 11507func (s *PutAccessPointConfigurationForObjectLambdaInput) Validate() error { 11508 invalidParams := request.ErrInvalidParams{Context: "PutAccessPointConfigurationForObjectLambdaInput"} 11509 if s.AccountId == nil { 11510 invalidParams.Add(request.NewErrParamRequired("AccountId")) 11511 } 11512 if s.AccountId != nil && len(*s.AccountId) < 1 { 11513 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 11514 } 11515 if s.Configuration == nil { 11516 invalidParams.Add(request.NewErrParamRequired("Configuration")) 11517 } 11518 if s.Name == nil { 11519 invalidParams.Add(request.NewErrParamRequired("Name")) 11520 } 11521 if s.Name != nil && len(*s.Name) < 3 { 11522 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 11523 } 11524 if s.Configuration != nil { 11525 if err := s.Configuration.Validate(); err != nil { 11526 invalidParams.AddNested("Configuration", err.(request.ErrInvalidParams)) 11527 } 11528 } 11529 11530 if invalidParams.Len() > 0 { 11531 return invalidParams 11532 } 11533 return nil 11534} 11535 11536// SetAccountId sets the AccountId field's value. 11537func (s *PutAccessPointConfigurationForObjectLambdaInput) SetAccountId(v string) *PutAccessPointConfigurationForObjectLambdaInput { 11538 s.AccountId = &v 11539 return s 11540} 11541 11542// SetConfiguration sets the Configuration field's value. 11543func (s *PutAccessPointConfigurationForObjectLambdaInput) SetConfiguration(v *ObjectLambdaConfiguration) *PutAccessPointConfigurationForObjectLambdaInput { 11544 s.Configuration = v 11545 return s 11546} 11547 11548// SetName sets the Name field's value. 11549func (s *PutAccessPointConfigurationForObjectLambdaInput) SetName(v string) *PutAccessPointConfigurationForObjectLambdaInput { 11550 s.Name = &v 11551 return s 11552} 11553 11554func (s *PutAccessPointConfigurationForObjectLambdaInput) hostLabels() map[string]string { 11555 return map[string]string{ 11556 "AccountId": aws.StringValue(s.AccountId), 11557 } 11558} 11559 11560type PutAccessPointConfigurationForObjectLambdaOutput struct { 11561 _ struct{} `type:"structure"` 11562} 11563 11564// String returns the string representation 11565func (s PutAccessPointConfigurationForObjectLambdaOutput) String() string { 11566 return awsutil.Prettify(s) 11567} 11568 11569// GoString returns the string representation 11570func (s PutAccessPointConfigurationForObjectLambdaOutput) GoString() string { 11571 return s.String() 11572} 11573 11574type PutAccessPointPolicyForObjectLambdaInput struct { 11575 _ struct{} `locationName:"PutAccessPointPolicyForObjectLambdaRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 11576 11577 // The account ID for the account that owns the specified Object Lambda Access 11578 // Point. 11579 // 11580 // AccountId is a required field 11581 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 11582 11583 // The name of the Object Lambda Access Point. 11584 // 11585 // Name is a required field 11586 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 11587 11588 // Object Lambda Access Point resource policy document. 11589 // 11590 // Policy is a required field 11591 Policy *string `type:"string" required:"true"` 11592} 11593 11594// String returns the string representation 11595func (s PutAccessPointPolicyForObjectLambdaInput) String() string { 11596 return awsutil.Prettify(s) 11597} 11598 11599// GoString returns the string representation 11600func (s PutAccessPointPolicyForObjectLambdaInput) GoString() string { 11601 return s.String() 11602} 11603 11604// Validate inspects the fields of the type to determine if they are valid. 11605func (s *PutAccessPointPolicyForObjectLambdaInput) Validate() error { 11606 invalidParams := request.ErrInvalidParams{Context: "PutAccessPointPolicyForObjectLambdaInput"} 11607 if s.AccountId == nil { 11608 invalidParams.Add(request.NewErrParamRequired("AccountId")) 11609 } 11610 if s.AccountId != nil && len(*s.AccountId) < 1 { 11611 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 11612 } 11613 if s.Name == nil { 11614 invalidParams.Add(request.NewErrParamRequired("Name")) 11615 } 11616 if s.Name != nil && len(*s.Name) < 3 { 11617 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 11618 } 11619 if s.Policy == nil { 11620 invalidParams.Add(request.NewErrParamRequired("Policy")) 11621 } 11622 11623 if invalidParams.Len() > 0 { 11624 return invalidParams 11625 } 11626 return nil 11627} 11628 11629// SetAccountId sets the AccountId field's value. 11630func (s *PutAccessPointPolicyForObjectLambdaInput) SetAccountId(v string) *PutAccessPointPolicyForObjectLambdaInput { 11631 s.AccountId = &v 11632 return s 11633} 11634 11635// SetName sets the Name field's value. 11636func (s *PutAccessPointPolicyForObjectLambdaInput) SetName(v string) *PutAccessPointPolicyForObjectLambdaInput { 11637 s.Name = &v 11638 return s 11639} 11640 11641// SetPolicy sets the Policy field's value. 11642func (s *PutAccessPointPolicyForObjectLambdaInput) SetPolicy(v string) *PutAccessPointPolicyForObjectLambdaInput { 11643 s.Policy = &v 11644 return s 11645} 11646 11647func (s *PutAccessPointPolicyForObjectLambdaInput) hostLabels() map[string]string { 11648 return map[string]string{ 11649 "AccountId": aws.StringValue(s.AccountId), 11650 } 11651} 11652 11653type PutAccessPointPolicyForObjectLambdaOutput struct { 11654 _ struct{} `type:"structure"` 11655} 11656 11657// String returns the string representation 11658func (s PutAccessPointPolicyForObjectLambdaOutput) String() string { 11659 return awsutil.Prettify(s) 11660} 11661 11662// GoString returns the string representation 11663func (s PutAccessPointPolicyForObjectLambdaOutput) GoString() string { 11664 return s.String() 11665} 11666 11667type PutAccessPointPolicyInput struct { 11668 _ struct{} `locationName:"PutAccessPointPolicyRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 11669 11670 // The account ID for owner of the bucket associated with the specified access 11671 // point. 11672 // 11673 // AccountId is a required field 11674 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 11675 11676 // The name of the access point that you want to associate with the specified 11677 // policy. 11678 // 11679 // For using this parameter with Amazon S3 on Outposts with the REST API, you 11680 // must specify the name and the x-amz-outpost-id as well. 11681 // 11682 // For using this parameter with S3 on Outposts with the Amazon Web Services 11683 // SDK and CLI, you must specify the ARN of the access point accessed in the 11684 // format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>. 11685 // For example, to access the access point reports-ap through outpost my-outpost 11686 // owned by account 123456789012 in Region us-west-2, use the URL encoding of 11687 // arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. 11688 // The value must be URL encoded. 11689 // 11690 // Name is a required field 11691 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 11692 11693 // The policy that you want to apply to the specified access point. For more 11694 // information about access point policies, see Managing data access with Amazon 11695 // S3 access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html) 11696 // in the Amazon S3 User Guide. 11697 // 11698 // Policy is a required field 11699 Policy *string `type:"string" required:"true"` 11700} 11701 11702// String returns the string representation 11703func (s PutAccessPointPolicyInput) String() string { 11704 return awsutil.Prettify(s) 11705} 11706 11707// GoString returns the string representation 11708func (s PutAccessPointPolicyInput) GoString() string { 11709 return s.String() 11710} 11711 11712// Validate inspects the fields of the type to determine if they are valid. 11713func (s *PutAccessPointPolicyInput) Validate() error { 11714 invalidParams := request.ErrInvalidParams{Context: "PutAccessPointPolicyInput"} 11715 if s.AccountId == nil { 11716 invalidParams.Add(request.NewErrParamRequired("AccountId")) 11717 } 11718 if s.AccountId != nil && len(*s.AccountId) < 1 { 11719 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 11720 } 11721 if s.Name == nil { 11722 invalidParams.Add(request.NewErrParamRequired("Name")) 11723 } 11724 if s.Name != nil && len(*s.Name) < 3 { 11725 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 11726 } 11727 if s.Policy == nil { 11728 invalidParams.Add(request.NewErrParamRequired("Policy")) 11729 } 11730 11731 if invalidParams.Len() > 0 { 11732 return invalidParams 11733 } 11734 return nil 11735} 11736 11737// SetAccountId sets the AccountId field's value. 11738func (s *PutAccessPointPolicyInput) SetAccountId(v string) *PutAccessPointPolicyInput { 11739 s.AccountId = &v 11740 return s 11741} 11742 11743// SetName sets the Name field's value. 11744func (s *PutAccessPointPolicyInput) SetName(v string) *PutAccessPointPolicyInput { 11745 s.Name = &v 11746 return s 11747} 11748 11749// SetPolicy sets the Policy field's value. 11750func (s *PutAccessPointPolicyInput) SetPolicy(v string) *PutAccessPointPolicyInput { 11751 s.Policy = &v 11752 return s 11753} 11754 11755func (s *PutAccessPointPolicyInput) hostLabels() map[string]string { 11756 return map[string]string{ 11757 "AccountId": aws.StringValue(s.AccountId), 11758 } 11759} 11760 11761func (s *PutAccessPointPolicyInput) getEndpointARN() (arn.Resource, error) { 11762 if s.Name == nil { 11763 return nil, fmt.Errorf("member Name is nil") 11764 } 11765 return parseEndpointARN(*s.Name) 11766} 11767 11768func (s *PutAccessPointPolicyInput) hasEndpointARN() bool { 11769 if s.Name == nil { 11770 return false 11771 } 11772 return arn.IsARN(*s.Name) 11773} 11774 11775// updateArnableField updates the value of the input field that 11776// takes an ARN as an input. This method is useful to backfill 11777// the parsed resource name from ARN into the input member. 11778// It returns a pointer to a modified copy of input and an error. 11779// Note that original input is not modified. 11780func (s PutAccessPointPolicyInput) updateArnableField(v string) (interface{}, error) { 11781 if s.Name == nil { 11782 return nil, fmt.Errorf("member Name is nil") 11783 } 11784 s.Name = aws.String(v) 11785 return &s, nil 11786} 11787 11788// updateAccountID returns a pointer to a modified copy of input, 11789// if account id is not provided, we update the account id in modified input 11790// if account id is provided, but doesn't match with the one in ARN, we throw an error 11791// if account id is not updated, we return nil. Note that original input is not modified. 11792func (s PutAccessPointPolicyInput) updateAccountID(accountId string) (interface{}, error) { 11793 if s.AccountId == nil { 11794 s.AccountId = aws.String(accountId) 11795 return &s, nil 11796 } else if *s.AccountId != accountId { 11797 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 11798 } 11799 return nil, nil 11800} 11801 11802type PutAccessPointPolicyOutput struct { 11803 _ struct{} `type:"structure"` 11804} 11805 11806// String returns the string representation 11807func (s PutAccessPointPolicyOutput) String() string { 11808 return awsutil.Prettify(s) 11809} 11810 11811// GoString returns the string representation 11812func (s PutAccessPointPolicyOutput) GoString() string { 11813 return s.String() 11814} 11815 11816type PutBucketLifecycleConfigurationInput struct { 11817 _ struct{} `locationName:"PutBucketLifecycleConfigurationRequest" type:"structure" payload:"LifecycleConfiguration"` 11818 11819 // The account ID of the Outposts bucket. 11820 // 11821 // AccountId is a required field 11822 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 11823 11824 // The name of the bucket for which to set the configuration. 11825 // 11826 // Bucket is a required field 11827 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 11828 11829 // Container for lifecycle rules. You can add as many as 1,000 rules. 11830 LifecycleConfiguration *LifecycleConfiguration `locationName:"LifecycleConfiguration" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 11831} 11832 11833// String returns the string representation 11834func (s PutBucketLifecycleConfigurationInput) String() string { 11835 return awsutil.Prettify(s) 11836} 11837 11838// GoString returns the string representation 11839func (s PutBucketLifecycleConfigurationInput) GoString() string { 11840 return s.String() 11841} 11842 11843// Validate inspects the fields of the type to determine if they are valid. 11844func (s *PutBucketLifecycleConfigurationInput) Validate() error { 11845 invalidParams := request.ErrInvalidParams{Context: "PutBucketLifecycleConfigurationInput"} 11846 if s.AccountId == nil { 11847 invalidParams.Add(request.NewErrParamRequired("AccountId")) 11848 } 11849 if s.AccountId != nil && len(*s.AccountId) < 1 { 11850 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 11851 } 11852 if s.Bucket == nil { 11853 invalidParams.Add(request.NewErrParamRequired("Bucket")) 11854 } 11855 if s.Bucket != nil && len(*s.Bucket) < 3 { 11856 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 11857 } 11858 if s.LifecycleConfiguration != nil { 11859 if err := s.LifecycleConfiguration.Validate(); err != nil { 11860 invalidParams.AddNested("LifecycleConfiguration", err.(request.ErrInvalidParams)) 11861 } 11862 } 11863 11864 if invalidParams.Len() > 0 { 11865 return invalidParams 11866 } 11867 return nil 11868} 11869 11870// SetAccountId sets the AccountId field's value. 11871func (s *PutBucketLifecycleConfigurationInput) SetAccountId(v string) *PutBucketLifecycleConfigurationInput { 11872 s.AccountId = &v 11873 return s 11874} 11875 11876// SetBucket sets the Bucket field's value. 11877func (s *PutBucketLifecycleConfigurationInput) SetBucket(v string) *PutBucketLifecycleConfigurationInput { 11878 s.Bucket = &v 11879 return s 11880} 11881 11882// SetLifecycleConfiguration sets the LifecycleConfiguration field's value. 11883func (s *PutBucketLifecycleConfigurationInput) SetLifecycleConfiguration(v *LifecycleConfiguration) *PutBucketLifecycleConfigurationInput { 11884 s.LifecycleConfiguration = v 11885 return s 11886} 11887 11888func (s *PutBucketLifecycleConfigurationInput) hostLabels() map[string]string { 11889 return map[string]string{ 11890 "AccountId": aws.StringValue(s.AccountId), 11891 } 11892} 11893 11894func (s *PutBucketLifecycleConfigurationInput) getEndpointARN() (arn.Resource, error) { 11895 if s.Bucket == nil { 11896 return nil, fmt.Errorf("member Bucket is nil") 11897 } 11898 return parseEndpointARN(*s.Bucket) 11899} 11900 11901func (s *PutBucketLifecycleConfigurationInput) hasEndpointARN() bool { 11902 if s.Bucket == nil { 11903 return false 11904 } 11905 return arn.IsARN(*s.Bucket) 11906} 11907 11908// updateArnableField updates the value of the input field that 11909// takes an ARN as an input. This method is useful to backfill 11910// the parsed resource name from ARN into the input member. 11911// It returns a pointer to a modified copy of input and an error. 11912// Note that original input is not modified. 11913func (s PutBucketLifecycleConfigurationInput) updateArnableField(v string) (interface{}, error) { 11914 if s.Bucket == nil { 11915 return nil, fmt.Errorf("member Bucket is nil") 11916 } 11917 s.Bucket = aws.String(v) 11918 return &s, nil 11919} 11920 11921// updateAccountID returns a pointer to a modified copy of input, 11922// if account id is not provided, we update the account id in modified input 11923// if account id is provided, but doesn't match with the one in ARN, we throw an error 11924// if account id is not updated, we return nil. Note that original input is not modified. 11925func (s PutBucketLifecycleConfigurationInput) updateAccountID(accountId string) (interface{}, error) { 11926 if s.AccountId == nil { 11927 s.AccountId = aws.String(accountId) 11928 return &s, nil 11929 } else if *s.AccountId != accountId { 11930 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 11931 } 11932 return nil, nil 11933} 11934 11935type PutBucketLifecycleConfigurationOutput struct { 11936 _ struct{} `type:"structure"` 11937} 11938 11939// String returns the string representation 11940func (s PutBucketLifecycleConfigurationOutput) String() string { 11941 return awsutil.Prettify(s) 11942} 11943 11944// GoString returns the string representation 11945func (s PutBucketLifecycleConfigurationOutput) GoString() string { 11946 return s.String() 11947} 11948 11949type PutBucketPolicyInput struct { 11950 _ struct{} `locationName:"PutBucketPolicyRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 11951 11952 // The account ID of the Outposts bucket. 11953 // 11954 // AccountId is a required field 11955 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 11956 11957 // Specifies the bucket. 11958 // 11959 // For using this parameter with Amazon S3 on Outposts with the REST API, you 11960 // must specify the name and the x-amz-outpost-id as well. 11961 // 11962 // For using this parameter with S3 on Outposts with the Amazon Web Services 11963 // SDK and CLI, you must specify the ARN of the bucket accessed in the format 11964 // arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 11965 // For example, to access the bucket reports through outpost my-outpost owned 11966 // 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. 11967 // The value must be URL encoded. 11968 // 11969 // Bucket is a required field 11970 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 11971 11972 // Set this parameter to true to confirm that you want to remove your permissions 11973 // to change this bucket policy in the future. 11974 // 11975 // This is not supported by Amazon S3 on Outposts buckets. 11976 ConfirmRemoveSelfBucketAccess *bool `location:"header" locationName:"x-amz-confirm-remove-self-bucket-access" type:"boolean"` 11977 11978 // The bucket policy as a JSON document. 11979 // 11980 // Policy is a required field 11981 Policy *string `type:"string" required:"true"` 11982} 11983 11984// String returns the string representation 11985func (s PutBucketPolicyInput) String() string { 11986 return awsutil.Prettify(s) 11987} 11988 11989// GoString returns the string representation 11990func (s PutBucketPolicyInput) GoString() string { 11991 return s.String() 11992} 11993 11994// Validate inspects the fields of the type to determine if they are valid. 11995func (s *PutBucketPolicyInput) Validate() error { 11996 invalidParams := request.ErrInvalidParams{Context: "PutBucketPolicyInput"} 11997 if s.AccountId == nil { 11998 invalidParams.Add(request.NewErrParamRequired("AccountId")) 11999 } 12000 if s.AccountId != nil && len(*s.AccountId) < 1 { 12001 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 12002 } 12003 if s.Bucket == nil { 12004 invalidParams.Add(request.NewErrParamRequired("Bucket")) 12005 } 12006 if s.Bucket != nil && len(*s.Bucket) < 3 { 12007 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 12008 } 12009 if s.Policy == nil { 12010 invalidParams.Add(request.NewErrParamRequired("Policy")) 12011 } 12012 12013 if invalidParams.Len() > 0 { 12014 return invalidParams 12015 } 12016 return nil 12017} 12018 12019// SetAccountId sets the AccountId field's value. 12020func (s *PutBucketPolicyInput) SetAccountId(v string) *PutBucketPolicyInput { 12021 s.AccountId = &v 12022 return s 12023} 12024 12025// SetBucket sets the Bucket field's value. 12026func (s *PutBucketPolicyInput) SetBucket(v string) *PutBucketPolicyInput { 12027 s.Bucket = &v 12028 return s 12029} 12030 12031// SetConfirmRemoveSelfBucketAccess sets the ConfirmRemoveSelfBucketAccess field's value. 12032func (s *PutBucketPolicyInput) SetConfirmRemoveSelfBucketAccess(v bool) *PutBucketPolicyInput { 12033 s.ConfirmRemoveSelfBucketAccess = &v 12034 return s 12035} 12036 12037// SetPolicy sets the Policy field's value. 12038func (s *PutBucketPolicyInput) SetPolicy(v string) *PutBucketPolicyInput { 12039 s.Policy = &v 12040 return s 12041} 12042 12043func (s *PutBucketPolicyInput) hostLabels() map[string]string { 12044 return map[string]string{ 12045 "AccountId": aws.StringValue(s.AccountId), 12046 } 12047} 12048 12049func (s *PutBucketPolicyInput) getEndpointARN() (arn.Resource, error) { 12050 if s.Bucket == nil { 12051 return nil, fmt.Errorf("member Bucket is nil") 12052 } 12053 return parseEndpointARN(*s.Bucket) 12054} 12055 12056func (s *PutBucketPolicyInput) hasEndpointARN() bool { 12057 if s.Bucket == nil { 12058 return false 12059 } 12060 return arn.IsARN(*s.Bucket) 12061} 12062 12063// updateArnableField updates the value of the input field that 12064// takes an ARN as an input. This method is useful to backfill 12065// the parsed resource name from ARN into the input member. 12066// It returns a pointer to a modified copy of input and an error. 12067// Note that original input is not modified. 12068func (s PutBucketPolicyInput) updateArnableField(v string) (interface{}, error) { 12069 if s.Bucket == nil { 12070 return nil, fmt.Errorf("member Bucket is nil") 12071 } 12072 s.Bucket = aws.String(v) 12073 return &s, nil 12074} 12075 12076// updateAccountID returns a pointer to a modified copy of input, 12077// if account id is not provided, we update the account id in modified input 12078// if account id is provided, but doesn't match with the one in ARN, we throw an error 12079// if account id is not updated, we return nil. Note that original input is not modified. 12080func (s PutBucketPolicyInput) updateAccountID(accountId string) (interface{}, error) { 12081 if s.AccountId == nil { 12082 s.AccountId = aws.String(accountId) 12083 return &s, nil 12084 } else if *s.AccountId != accountId { 12085 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 12086 } 12087 return nil, nil 12088} 12089 12090type PutBucketPolicyOutput struct { 12091 _ struct{} `type:"structure"` 12092} 12093 12094// String returns the string representation 12095func (s PutBucketPolicyOutput) String() string { 12096 return awsutil.Prettify(s) 12097} 12098 12099// GoString returns the string representation 12100func (s PutBucketPolicyOutput) GoString() string { 12101 return s.String() 12102} 12103 12104type PutBucketTaggingInput struct { 12105 _ struct{} `locationName:"PutBucketTaggingRequest" type:"structure" payload:"Tagging"` 12106 12107 // The account ID of the Outposts bucket. 12108 // 12109 // AccountId is a required field 12110 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 12111 12112 // The Amazon Resource Name (ARN) of the bucket. 12113 // 12114 // For using this parameter with Amazon S3 on Outposts with the REST API, you 12115 // must specify the name and the x-amz-outpost-id as well. 12116 // 12117 // For using this parameter with S3 on Outposts with the Amazon Web Services 12118 // SDK and CLI, you must specify the ARN of the bucket accessed in the format 12119 // arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 12120 // For example, to access the bucket reports through outpost my-outpost owned 12121 // 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. 12122 // The value must be URL encoded. 12123 // 12124 // Bucket is a required field 12125 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 12126 12127 // Tagging is a required field 12128 Tagging *Tagging `locationName:"Tagging" type:"structure" required:"true" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 12129} 12130 12131// String returns the string representation 12132func (s PutBucketTaggingInput) String() string { 12133 return awsutil.Prettify(s) 12134} 12135 12136// GoString returns the string representation 12137func (s PutBucketTaggingInput) GoString() string { 12138 return s.String() 12139} 12140 12141// Validate inspects the fields of the type to determine if they are valid. 12142func (s *PutBucketTaggingInput) Validate() error { 12143 invalidParams := request.ErrInvalidParams{Context: "PutBucketTaggingInput"} 12144 if s.AccountId == nil { 12145 invalidParams.Add(request.NewErrParamRequired("AccountId")) 12146 } 12147 if s.AccountId != nil && len(*s.AccountId) < 1 { 12148 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 12149 } 12150 if s.Bucket == nil { 12151 invalidParams.Add(request.NewErrParamRequired("Bucket")) 12152 } 12153 if s.Bucket != nil && len(*s.Bucket) < 3 { 12154 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 12155 } 12156 if s.Tagging == nil { 12157 invalidParams.Add(request.NewErrParamRequired("Tagging")) 12158 } 12159 if s.Tagging != nil { 12160 if err := s.Tagging.Validate(); err != nil { 12161 invalidParams.AddNested("Tagging", err.(request.ErrInvalidParams)) 12162 } 12163 } 12164 12165 if invalidParams.Len() > 0 { 12166 return invalidParams 12167 } 12168 return nil 12169} 12170 12171// SetAccountId sets the AccountId field's value. 12172func (s *PutBucketTaggingInput) SetAccountId(v string) *PutBucketTaggingInput { 12173 s.AccountId = &v 12174 return s 12175} 12176 12177// SetBucket sets the Bucket field's value. 12178func (s *PutBucketTaggingInput) SetBucket(v string) *PutBucketTaggingInput { 12179 s.Bucket = &v 12180 return s 12181} 12182 12183// SetTagging sets the Tagging field's value. 12184func (s *PutBucketTaggingInput) SetTagging(v *Tagging) *PutBucketTaggingInput { 12185 s.Tagging = v 12186 return s 12187} 12188 12189func (s *PutBucketTaggingInput) hostLabels() map[string]string { 12190 return map[string]string{ 12191 "AccountId": aws.StringValue(s.AccountId), 12192 } 12193} 12194 12195func (s *PutBucketTaggingInput) getEndpointARN() (arn.Resource, error) { 12196 if s.Bucket == nil { 12197 return nil, fmt.Errorf("member Bucket is nil") 12198 } 12199 return parseEndpointARN(*s.Bucket) 12200} 12201 12202func (s *PutBucketTaggingInput) hasEndpointARN() bool { 12203 if s.Bucket == nil { 12204 return false 12205 } 12206 return arn.IsARN(*s.Bucket) 12207} 12208 12209// updateArnableField updates the value of the input field that 12210// takes an ARN as an input. This method is useful to backfill 12211// the parsed resource name from ARN into the input member. 12212// It returns a pointer to a modified copy of input and an error. 12213// Note that original input is not modified. 12214func (s PutBucketTaggingInput) updateArnableField(v string) (interface{}, error) { 12215 if s.Bucket == nil { 12216 return nil, fmt.Errorf("member Bucket is nil") 12217 } 12218 s.Bucket = aws.String(v) 12219 return &s, nil 12220} 12221 12222// updateAccountID returns a pointer to a modified copy of input, 12223// if account id is not provided, we update the account id in modified input 12224// if account id is provided, but doesn't match with the one in ARN, we throw an error 12225// if account id is not updated, we return nil. Note that original input is not modified. 12226func (s PutBucketTaggingInput) updateAccountID(accountId string) (interface{}, error) { 12227 if s.AccountId == nil { 12228 s.AccountId = aws.String(accountId) 12229 return &s, nil 12230 } else if *s.AccountId != accountId { 12231 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 12232 } 12233 return nil, nil 12234} 12235 12236type PutBucketTaggingOutput struct { 12237 _ struct{} `type:"structure"` 12238} 12239 12240// String returns the string representation 12241func (s PutBucketTaggingOutput) String() string { 12242 return awsutil.Prettify(s) 12243} 12244 12245// GoString returns the string representation 12246func (s PutBucketTaggingOutput) GoString() string { 12247 return s.String() 12248} 12249 12250type PutJobTaggingInput struct { 12251 _ struct{} `locationName:"PutJobTaggingRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 12252 12253 // The account ID associated with the S3 Batch Operations job. 12254 // 12255 // AccountId is a required field 12256 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 12257 12258 // The ID for the S3 Batch Operations job whose tags you want to replace. 12259 // 12260 // JobId is a required field 12261 JobId *string `location:"uri" locationName:"id" min:"5" type:"string" required:"true"` 12262 12263 // The set of tags to associate with the S3 Batch Operations job. 12264 // 12265 // Tags is a required field 12266 Tags []*S3Tag `type:"list" required:"true"` 12267} 12268 12269// String returns the string representation 12270func (s PutJobTaggingInput) String() string { 12271 return awsutil.Prettify(s) 12272} 12273 12274// GoString returns the string representation 12275func (s PutJobTaggingInput) GoString() string { 12276 return s.String() 12277} 12278 12279// Validate inspects the fields of the type to determine if they are valid. 12280func (s *PutJobTaggingInput) Validate() error { 12281 invalidParams := request.ErrInvalidParams{Context: "PutJobTaggingInput"} 12282 if s.AccountId == nil { 12283 invalidParams.Add(request.NewErrParamRequired("AccountId")) 12284 } 12285 if s.AccountId != nil && len(*s.AccountId) < 1 { 12286 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 12287 } 12288 if s.JobId == nil { 12289 invalidParams.Add(request.NewErrParamRequired("JobId")) 12290 } 12291 if s.JobId != nil && len(*s.JobId) < 5 { 12292 invalidParams.Add(request.NewErrParamMinLen("JobId", 5)) 12293 } 12294 if s.Tags == nil { 12295 invalidParams.Add(request.NewErrParamRequired("Tags")) 12296 } 12297 if s.Tags != nil { 12298 for i, v := range s.Tags { 12299 if v == nil { 12300 continue 12301 } 12302 if err := v.Validate(); err != nil { 12303 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 12304 } 12305 } 12306 } 12307 12308 if invalidParams.Len() > 0 { 12309 return invalidParams 12310 } 12311 return nil 12312} 12313 12314// SetAccountId sets the AccountId field's value. 12315func (s *PutJobTaggingInput) SetAccountId(v string) *PutJobTaggingInput { 12316 s.AccountId = &v 12317 return s 12318} 12319 12320// SetJobId sets the JobId field's value. 12321func (s *PutJobTaggingInput) SetJobId(v string) *PutJobTaggingInput { 12322 s.JobId = &v 12323 return s 12324} 12325 12326// SetTags sets the Tags field's value. 12327func (s *PutJobTaggingInput) SetTags(v []*S3Tag) *PutJobTaggingInput { 12328 s.Tags = v 12329 return s 12330} 12331 12332func (s *PutJobTaggingInput) hostLabels() map[string]string { 12333 return map[string]string{ 12334 "AccountId": aws.StringValue(s.AccountId), 12335 } 12336} 12337 12338type PutJobTaggingOutput struct { 12339 _ struct{} `type:"structure"` 12340} 12341 12342// String returns the string representation 12343func (s PutJobTaggingOutput) String() string { 12344 return awsutil.Prettify(s) 12345} 12346 12347// GoString returns the string representation 12348func (s PutJobTaggingOutput) GoString() string { 12349 return s.String() 12350} 12351 12352type PutPublicAccessBlockInput struct { 12353 _ struct{} `locationName:"PutPublicAccessBlockRequest" type:"structure" payload:"PublicAccessBlockConfiguration"` 12354 12355 // The account ID for the account whose PublicAccessBlock configuration you 12356 // want to set. 12357 // 12358 // AccountId is a required field 12359 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 12360 12361 // The PublicAccessBlock configuration that you want to apply to the specified 12362 // account. 12363 // 12364 // PublicAccessBlockConfiguration is a required field 12365 PublicAccessBlockConfiguration *PublicAccessBlockConfiguration `locationName:"PublicAccessBlockConfiguration" type:"structure" required:"true" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 12366} 12367 12368// String returns the string representation 12369func (s PutPublicAccessBlockInput) String() string { 12370 return awsutil.Prettify(s) 12371} 12372 12373// GoString returns the string representation 12374func (s PutPublicAccessBlockInput) GoString() string { 12375 return s.String() 12376} 12377 12378// Validate inspects the fields of the type to determine if they are valid. 12379func (s *PutPublicAccessBlockInput) Validate() error { 12380 invalidParams := request.ErrInvalidParams{Context: "PutPublicAccessBlockInput"} 12381 if s.AccountId == nil { 12382 invalidParams.Add(request.NewErrParamRequired("AccountId")) 12383 } 12384 if s.AccountId != nil && len(*s.AccountId) < 1 { 12385 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 12386 } 12387 if s.PublicAccessBlockConfiguration == nil { 12388 invalidParams.Add(request.NewErrParamRequired("PublicAccessBlockConfiguration")) 12389 } 12390 12391 if invalidParams.Len() > 0 { 12392 return invalidParams 12393 } 12394 return nil 12395} 12396 12397// SetAccountId sets the AccountId field's value. 12398func (s *PutPublicAccessBlockInput) SetAccountId(v string) *PutPublicAccessBlockInput { 12399 s.AccountId = &v 12400 return s 12401} 12402 12403// SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value. 12404func (s *PutPublicAccessBlockInput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *PutPublicAccessBlockInput { 12405 s.PublicAccessBlockConfiguration = v 12406 return s 12407} 12408 12409func (s *PutPublicAccessBlockInput) hostLabels() map[string]string { 12410 return map[string]string{ 12411 "AccountId": aws.StringValue(s.AccountId), 12412 } 12413} 12414 12415type PutPublicAccessBlockOutput struct { 12416 _ struct{} `type:"structure"` 12417} 12418 12419// String returns the string representation 12420func (s PutPublicAccessBlockOutput) String() string { 12421 return awsutil.Prettify(s) 12422} 12423 12424// GoString returns the string representation 12425func (s PutPublicAccessBlockOutput) GoString() string { 12426 return s.String() 12427} 12428 12429type PutStorageLensConfigurationInput struct { 12430 _ struct{} `locationName:"PutStorageLensConfigurationRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 12431 12432 // The account ID of the requester. 12433 // 12434 // AccountId is a required field 12435 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 12436 12437 // The ID of the S3 Storage Lens configuration. 12438 // 12439 // ConfigId is a required field 12440 ConfigId *string `location:"uri" locationName:"storagelensid" min:"1" type:"string" required:"true"` 12441 12442 // The S3 Storage Lens configuration. 12443 // 12444 // StorageLensConfiguration is a required field 12445 StorageLensConfiguration *StorageLensConfiguration `type:"structure" required:"true"` 12446 12447 // The tag set of the S3 Storage Lens configuration. 12448 // 12449 // You can set up to a maximum of 50 tags. 12450 Tags []*StorageLensTag `locationNameList:"Tag" type:"list"` 12451} 12452 12453// String returns the string representation 12454func (s PutStorageLensConfigurationInput) String() string { 12455 return awsutil.Prettify(s) 12456} 12457 12458// GoString returns the string representation 12459func (s PutStorageLensConfigurationInput) GoString() string { 12460 return s.String() 12461} 12462 12463// Validate inspects the fields of the type to determine if they are valid. 12464func (s *PutStorageLensConfigurationInput) Validate() error { 12465 invalidParams := request.ErrInvalidParams{Context: "PutStorageLensConfigurationInput"} 12466 if s.AccountId == nil { 12467 invalidParams.Add(request.NewErrParamRequired("AccountId")) 12468 } 12469 if s.AccountId != nil && len(*s.AccountId) < 1 { 12470 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 12471 } 12472 if s.ConfigId == nil { 12473 invalidParams.Add(request.NewErrParamRequired("ConfigId")) 12474 } 12475 if s.ConfigId != nil && len(*s.ConfigId) < 1 { 12476 invalidParams.Add(request.NewErrParamMinLen("ConfigId", 1)) 12477 } 12478 if s.StorageLensConfiguration == nil { 12479 invalidParams.Add(request.NewErrParamRequired("StorageLensConfiguration")) 12480 } 12481 if s.StorageLensConfiguration != nil { 12482 if err := s.StorageLensConfiguration.Validate(); err != nil { 12483 invalidParams.AddNested("StorageLensConfiguration", err.(request.ErrInvalidParams)) 12484 } 12485 } 12486 if s.Tags != nil { 12487 for i, v := range s.Tags { 12488 if v == nil { 12489 continue 12490 } 12491 if err := v.Validate(); err != nil { 12492 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 12493 } 12494 } 12495 } 12496 12497 if invalidParams.Len() > 0 { 12498 return invalidParams 12499 } 12500 return nil 12501} 12502 12503// SetAccountId sets the AccountId field's value. 12504func (s *PutStorageLensConfigurationInput) SetAccountId(v string) *PutStorageLensConfigurationInput { 12505 s.AccountId = &v 12506 return s 12507} 12508 12509// SetConfigId sets the ConfigId field's value. 12510func (s *PutStorageLensConfigurationInput) SetConfigId(v string) *PutStorageLensConfigurationInput { 12511 s.ConfigId = &v 12512 return s 12513} 12514 12515// SetStorageLensConfiguration sets the StorageLensConfiguration field's value. 12516func (s *PutStorageLensConfigurationInput) SetStorageLensConfiguration(v *StorageLensConfiguration) *PutStorageLensConfigurationInput { 12517 s.StorageLensConfiguration = v 12518 return s 12519} 12520 12521// SetTags sets the Tags field's value. 12522func (s *PutStorageLensConfigurationInput) SetTags(v []*StorageLensTag) *PutStorageLensConfigurationInput { 12523 s.Tags = v 12524 return s 12525} 12526 12527func (s *PutStorageLensConfigurationInput) hostLabels() map[string]string { 12528 return map[string]string{ 12529 "AccountId": aws.StringValue(s.AccountId), 12530 } 12531} 12532 12533type PutStorageLensConfigurationOutput struct { 12534 _ struct{} `type:"structure"` 12535} 12536 12537// String returns the string representation 12538func (s PutStorageLensConfigurationOutput) String() string { 12539 return awsutil.Prettify(s) 12540} 12541 12542// GoString returns the string representation 12543func (s PutStorageLensConfigurationOutput) GoString() string { 12544 return s.String() 12545} 12546 12547type PutStorageLensConfigurationTaggingInput struct { 12548 _ struct{} `locationName:"PutStorageLensConfigurationTaggingRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 12549 12550 // The account ID of the requester. 12551 // 12552 // AccountId is a required field 12553 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 12554 12555 // The ID of the S3 Storage Lens configuration. 12556 // 12557 // ConfigId is a required field 12558 ConfigId *string `location:"uri" locationName:"storagelensid" min:"1" type:"string" required:"true"` 12559 12560 // The tag set of the S3 Storage Lens configuration. 12561 // 12562 // You can set up to a maximum of 50 tags. 12563 // 12564 // Tags is a required field 12565 Tags []*StorageLensTag `locationNameList:"Tag" type:"list" required:"true"` 12566} 12567 12568// String returns the string representation 12569func (s PutStorageLensConfigurationTaggingInput) String() string { 12570 return awsutil.Prettify(s) 12571} 12572 12573// GoString returns the string representation 12574func (s PutStorageLensConfigurationTaggingInput) GoString() string { 12575 return s.String() 12576} 12577 12578// Validate inspects the fields of the type to determine if they are valid. 12579func (s *PutStorageLensConfigurationTaggingInput) Validate() error { 12580 invalidParams := request.ErrInvalidParams{Context: "PutStorageLensConfigurationTaggingInput"} 12581 if s.AccountId == nil { 12582 invalidParams.Add(request.NewErrParamRequired("AccountId")) 12583 } 12584 if s.AccountId != nil && len(*s.AccountId) < 1 { 12585 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 12586 } 12587 if s.ConfigId == nil { 12588 invalidParams.Add(request.NewErrParamRequired("ConfigId")) 12589 } 12590 if s.ConfigId != nil && len(*s.ConfigId) < 1 { 12591 invalidParams.Add(request.NewErrParamMinLen("ConfigId", 1)) 12592 } 12593 if s.Tags == nil { 12594 invalidParams.Add(request.NewErrParamRequired("Tags")) 12595 } 12596 if s.Tags != nil { 12597 for i, v := range s.Tags { 12598 if v == nil { 12599 continue 12600 } 12601 if err := v.Validate(); err != nil { 12602 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 12603 } 12604 } 12605 } 12606 12607 if invalidParams.Len() > 0 { 12608 return invalidParams 12609 } 12610 return nil 12611} 12612 12613// SetAccountId sets the AccountId field's value. 12614func (s *PutStorageLensConfigurationTaggingInput) SetAccountId(v string) *PutStorageLensConfigurationTaggingInput { 12615 s.AccountId = &v 12616 return s 12617} 12618 12619// SetConfigId sets the ConfigId field's value. 12620func (s *PutStorageLensConfigurationTaggingInput) SetConfigId(v string) *PutStorageLensConfigurationTaggingInput { 12621 s.ConfigId = &v 12622 return s 12623} 12624 12625// SetTags sets the Tags field's value. 12626func (s *PutStorageLensConfigurationTaggingInput) SetTags(v []*StorageLensTag) *PutStorageLensConfigurationTaggingInput { 12627 s.Tags = v 12628 return s 12629} 12630 12631func (s *PutStorageLensConfigurationTaggingInput) hostLabels() map[string]string { 12632 return map[string]string{ 12633 "AccountId": aws.StringValue(s.AccountId), 12634 } 12635} 12636 12637type PutStorageLensConfigurationTaggingOutput struct { 12638 _ struct{} `type:"structure"` 12639} 12640 12641// String returns the string representation 12642func (s PutStorageLensConfigurationTaggingOutput) String() string { 12643 return awsutil.Prettify(s) 12644} 12645 12646// GoString returns the string representation 12647func (s PutStorageLensConfigurationTaggingOutput) GoString() string { 12648 return s.String() 12649} 12650 12651// The container for the regional bucket. 12652type RegionalBucket struct { 12653 _ struct{} `type:"structure"` 12654 12655 // Bucket is a required field 12656 Bucket *string `min:"3" type:"string" required:"true"` 12657 12658 // The Amazon Resource Name (ARN) for the regional bucket. 12659 BucketArn *string `min:"4" type:"string"` 12660 12661 // The creation date of the regional bucket 12662 // 12663 // CreationDate is a required field 12664 CreationDate *time.Time `type:"timestamp" required:"true"` 12665 12666 // The Outposts ID of the regional bucket. 12667 OutpostId *string `min:"1" type:"string"` 12668 12669 // PublicAccessBlockEnabled is a required field 12670 PublicAccessBlockEnabled *bool `type:"boolean" required:"true"` 12671} 12672 12673// String returns the string representation 12674func (s RegionalBucket) String() string { 12675 return awsutil.Prettify(s) 12676} 12677 12678// GoString returns the string representation 12679func (s RegionalBucket) GoString() string { 12680 return s.String() 12681} 12682 12683// SetBucket sets the Bucket field's value. 12684func (s *RegionalBucket) SetBucket(v string) *RegionalBucket { 12685 s.Bucket = &v 12686 return s 12687} 12688 12689// SetBucketArn sets the BucketArn field's value. 12690func (s *RegionalBucket) SetBucketArn(v string) *RegionalBucket { 12691 s.BucketArn = &v 12692 return s 12693} 12694 12695// SetCreationDate sets the CreationDate field's value. 12696func (s *RegionalBucket) SetCreationDate(v time.Time) *RegionalBucket { 12697 s.CreationDate = &v 12698 return s 12699} 12700 12701// SetOutpostId sets the OutpostId field's value. 12702func (s *RegionalBucket) SetOutpostId(v string) *RegionalBucket { 12703 s.OutpostId = &v 12704 return s 12705} 12706 12707// SetPublicAccessBlockEnabled sets the PublicAccessBlockEnabled field's value. 12708func (s *RegionalBucket) SetPublicAccessBlockEnabled(v bool) *RegionalBucket { 12709 s.PublicAccessBlockEnabled = &v 12710 return s 12711} 12712 12713type S3AccessControlList struct { 12714 _ struct{} `type:"structure"` 12715 12716 Grants []*S3Grant `type:"list"` 12717 12718 // Owner is a required field 12719 Owner *S3ObjectOwner `type:"structure" required:"true"` 12720} 12721 12722// String returns the string representation 12723func (s S3AccessControlList) String() string { 12724 return awsutil.Prettify(s) 12725} 12726 12727// GoString returns the string representation 12728func (s S3AccessControlList) GoString() string { 12729 return s.String() 12730} 12731 12732// Validate inspects the fields of the type to determine if they are valid. 12733func (s *S3AccessControlList) Validate() error { 12734 invalidParams := request.ErrInvalidParams{Context: "S3AccessControlList"} 12735 if s.Owner == nil { 12736 invalidParams.Add(request.NewErrParamRequired("Owner")) 12737 } 12738 if s.Grants != nil { 12739 for i, v := range s.Grants { 12740 if v == nil { 12741 continue 12742 } 12743 if err := v.Validate(); err != nil { 12744 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Grants", i), err.(request.ErrInvalidParams)) 12745 } 12746 } 12747 } 12748 if s.Owner != nil { 12749 if err := s.Owner.Validate(); err != nil { 12750 invalidParams.AddNested("Owner", err.(request.ErrInvalidParams)) 12751 } 12752 } 12753 12754 if invalidParams.Len() > 0 { 12755 return invalidParams 12756 } 12757 return nil 12758} 12759 12760// SetGrants sets the Grants field's value. 12761func (s *S3AccessControlList) SetGrants(v []*S3Grant) *S3AccessControlList { 12762 s.Grants = v 12763 return s 12764} 12765 12766// SetOwner sets the Owner field's value. 12767func (s *S3AccessControlList) SetOwner(v *S3ObjectOwner) *S3AccessControlList { 12768 s.Owner = v 12769 return s 12770} 12771 12772type S3AccessControlPolicy struct { 12773 _ struct{} `type:"structure"` 12774 12775 AccessControlList *S3AccessControlList `type:"structure"` 12776 12777 CannedAccessControlList *string `type:"string" enum:"S3CannedAccessControlList"` 12778} 12779 12780// String returns the string representation 12781func (s S3AccessControlPolicy) String() string { 12782 return awsutil.Prettify(s) 12783} 12784 12785// GoString returns the string representation 12786func (s S3AccessControlPolicy) GoString() string { 12787 return s.String() 12788} 12789 12790// Validate inspects the fields of the type to determine if they are valid. 12791func (s *S3AccessControlPolicy) Validate() error { 12792 invalidParams := request.ErrInvalidParams{Context: "S3AccessControlPolicy"} 12793 if s.AccessControlList != nil { 12794 if err := s.AccessControlList.Validate(); err != nil { 12795 invalidParams.AddNested("AccessControlList", err.(request.ErrInvalidParams)) 12796 } 12797 } 12798 12799 if invalidParams.Len() > 0 { 12800 return invalidParams 12801 } 12802 return nil 12803} 12804 12805// SetAccessControlList sets the AccessControlList field's value. 12806func (s *S3AccessControlPolicy) SetAccessControlList(v *S3AccessControlList) *S3AccessControlPolicy { 12807 s.AccessControlList = v 12808 return s 12809} 12810 12811// SetCannedAccessControlList sets the CannedAccessControlList field's value. 12812func (s *S3AccessControlPolicy) SetCannedAccessControlList(v string) *S3AccessControlPolicy { 12813 s.CannedAccessControlList = &v 12814 return s 12815} 12816 12817// A container for the bucket where the Amazon S3 Storage Lens metrics export 12818// files are located. 12819type S3BucketDestination struct { 12820 _ struct{} `type:"structure"` 12821 12822 // The account ID of the owner of the S3 Storage Lens metrics export bucket. 12823 // 12824 // AccountId is a required field 12825 AccountId *string `type:"string" required:"true"` 12826 12827 // The Amazon Resource Name (ARN) of the bucket. This property is read-only 12828 // and follows the following format: arn:aws:s3:us-east-1:example-account-id:bucket/your-destination-bucket-name 12829 // 12830 // Arn is a required field 12831 Arn *string `min:"1" type:"string" required:"true"` 12832 12833 // The container for the type encryption of the metrics exports in this bucket. 12834 Encryption *StorageLensDataExportEncryption `type:"structure"` 12835 12836 // Format is a required field 12837 Format *string `type:"string" required:"true" enum:"Format"` 12838 12839 // The schema version of the export file. 12840 // 12841 // OutputSchemaVersion is a required field 12842 OutputSchemaVersion *string `type:"string" required:"true" enum:"OutputSchemaVersion"` 12843 12844 // The prefix of the destination bucket where the metrics export will be delivered. 12845 Prefix *string `type:"string"` 12846} 12847 12848// String returns the string representation 12849func (s S3BucketDestination) String() string { 12850 return awsutil.Prettify(s) 12851} 12852 12853// GoString returns the string representation 12854func (s S3BucketDestination) GoString() string { 12855 return s.String() 12856} 12857 12858// Validate inspects the fields of the type to determine if they are valid. 12859func (s *S3BucketDestination) Validate() error { 12860 invalidParams := request.ErrInvalidParams{Context: "S3BucketDestination"} 12861 if s.AccountId == nil { 12862 invalidParams.Add(request.NewErrParamRequired("AccountId")) 12863 } 12864 if s.Arn == nil { 12865 invalidParams.Add(request.NewErrParamRequired("Arn")) 12866 } 12867 if s.Arn != nil && len(*s.Arn) < 1 { 12868 invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) 12869 } 12870 if s.Format == nil { 12871 invalidParams.Add(request.NewErrParamRequired("Format")) 12872 } 12873 if s.OutputSchemaVersion == nil { 12874 invalidParams.Add(request.NewErrParamRequired("OutputSchemaVersion")) 12875 } 12876 if s.Encryption != nil { 12877 if err := s.Encryption.Validate(); err != nil { 12878 invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams)) 12879 } 12880 } 12881 12882 if invalidParams.Len() > 0 { 12883 return invalidParams 12884 } 12885 return nil 12886} 12887 12888// SetAccountId sets the AccountId field's value. 12889func (s *S3BucketDestination) SetAccountId(v string) *S3BucketDestination { 12890 s.AccountId = &v 12891 return s 12892} 12893 12894// SetArn sets the Arn field's value. 12895func (s *S3BucketDestination) SetArn(v string) *S3BucketDestination { 12896 s.Arn = &v 12897 return s 12898} 12899 12900// SetEncryption sets the Encryption field's value. 12901func (s *S3BucketDestination) SetEncryption(v *StorageLensDataExportEncryption) *S3BucketDestination { 12902 s.Encryption = v 12903 return s 12904} 12905 12906// SetFormat sets the Format field's value. 12907func (s *S3BucketDestination) SetFormat(v string) *S3BucketDestination { 12908 s.Format = &v 12909 return s 12910} 12911 12912// SetOutputSchemaVersion sets the OutputSchemaVersion field's value. 12913func (s *S3BucketDestination) SetOutputSchemaVersion(v string) *S3BucketDestination { 12914 s.OutputSchemaVersion = &v 12915 return s 12916} 12917 12918// SetPrefix sets the Prefix field's value. 12919func (s *S3BucketDestination) SetPrefix(v string) *S3BucketDestination { 12920 s.Prefix = &v 12921 return s 12922} 12923 12924// Contains the configuration parameters for a PUT Copy object operation. S3 12925// Batch Operations passes every object to the underlying PUT Copy object API. 12926// For more information about the parameters for this operation, see PUT Object 12927// - Copy (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectCOPY.html). 12928type S3CopyObjectOperation struct { 12929 _ struct{} `type:"structure"` 12930 12931 AccessControlGrants []*S3Grant `type:"list"` 12932 12933 // Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption 12934 // with server-side encryption using Amazon Web Services KMS (SSE-KMS). Setting 12935 // this header to true causes Amazon S3 to use an S3 Bucket Key for object encryption 12936 // with SSE-KMS. 12937 // 12938 // Specifying this header with an object action doesn’t affect bucket-level 12939 // settings for S3 Bucket Key. 12940 BucketKeyEnabled *bool `type:"boolean"` 12941 12942 CannedAccessControlList *string `type:"string" enum:"S3CannedAccessControlList"` 12943 12944 MetadataDirective *string `type:"string" enum:"S3MetadataDirective"` 12945 12946 ModifiedSinceConstraint *time.Time `type:"timestamp"` 12947 12948 NewObjectMetadata *S3ObjectMetadata `type:"structure"` 12949 12950 NewObjectTagging []*S3Tag `type:"list"` 12951 12952 // The legal hold status to be applied to all objects in the Batch Operations 12953 // job. 12954 ObjectLockLegalHoldStatus *string `type:"string" enum:"S3ObjectLockLegalHoldStatus"` 12955 12956 // The retention mode to be applied to all objects in the Batch Operations job. 12957 ObjectLockMode *string `type:"string" enum:"S3ObjectLockMode"` 12958 12959 // The date when the applied object retention configuration expires on all objects 12960 // in the Batch Operations job. 12961 ObjectLockRetainUntilDate *time.Time `type:"timestamp"` 12962 12963 // Specifies an optional metadata property for website redirects, x-amz-website-redirect-location. 12964 // Allows webpage redirects if the object is accessed through a website endpoint. 12965 RedirectLocation *string `min:"1" type:"string"` 12966 12967 RequesterPays *bool `type:"boolean"` 12968 12969 SSEAwsKmsKeyId *string `min:"1" type:"string"` 12970 12971 StorageClass *string `type:"string" enum:"S3StorageClass"` 12972 12973 // Specifies the folder prefix into which you would like the objects to be copied. 12974 // For example, to copy objects into a folder named "Folder1" in the destination 12975 // bucket, set the TargetKeyPrefix to "Folder1/". 12976 TargetKeyPrefix *string `min:"1" type:"string"` 12977 12978 // Specifies the destination bucket ARN for the batch copy operation. For example, 12979 // to copy objects to a bucket named "destinationBucket", set the TargetResource 12980 // to "arn:aws:s3:::destinationBucket". 12981 TargetResource *string `min:"1" type:"string"` 12982 12983 UnModifiedSinceConstraint *time.Time `type:"timestamp"` 12984} 12985 12986// String returns the string representation 12987func (s S3CopyObjectOperation) String() string { 12988 return awsutil.Prettify(s) 12989} 12990 12991// GoString returns the string representation 12992func (s S3CopyObjectOperation) GoString() string { 12993 return s.String() 12994} 12995 12996// Validate inspects the fields of the type to determine if they are valid. 12997func (s *S3CopyObjectOperation) Validate() error { 12998 invalidParams := request.ErrInvalidParams{Context: "S3CopyObjectOperation"} 12999 if s.RedirectLocation != nil && len(*s.RedirectLocation) < 1 { 13000 invalidParams.Add(request.NewErrParamMinLen("RedirectLocation", 1)) 13001 } 13002 if s.SSEAwsKmsKeyId != nil && len(*s.SSEAwsKmsKeyId) < 1 { 13003 invalidParams.Add(request.NewErrParamMinLen("SSEAwsKmsKeyId", 1)) 13004 } 13005 if s.TargetKeyPrefix != nil && len(*s.TargetKeyPrefix) < 1 { 13006 invalidParams.Add(request.NewErrParamMinLen("TargetKeyPrefix", 1)) 13007 } 13008 if s.TargetResource != nil && len(*s.TargetResource) < 1 { 13009 invalidParams.Add(request.NewErrParamMinLen("TargetResource", 1)) 13010 } 13011 if s.AccessControlGrants != nil { 13012 for i, v := range s.AccessControlGrants { 13013 if v == nil { 13014 continue 13015 } 13016 if err := v.Validate(); err != nil { 13017 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccessControlGrants", i), err.(request.ErrInvalidParams)) 13018 } 13019 } 13020 } 13021 if s.NewObjectMetadata != nil { 13022 if err := s.NewObjectMetadata.Validate(); err != nil { 13023 invalidParams.AddNested("NewObjectMetadata", err.(request.ErrInvalidParams)) 13024 } 13025 } 13026 if s.NewObjectTagging != nil { 13027 for i, v := range s.NewObjectTagging { 13028 if v == nil { 13029 continue 13030 } 13031 if err := v.Validate(); err != nil { 13032 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NewObjectTagging", i), err.(request.ErrInvalidParams)) 13033 } 13034 } 13035 } 13036 13037 if invalidParams.Len() > 0 { 13038 return invalidParams 13039 } 13040 return nil 13041} 13042 13043// SetAccessControlGrants sets the AccessControlGrants field's value. 13044func (s *S3CopyObjectOperation) SetAccessControlGrants(v []*S3Grant) *S3CopyObjectOperation { 13045 s.AccessControlGrants = v 13046 return s 13047} 13048 13049// SetBucketKeyEnabled sets the BucketKeyEnabled field's value. 13050func (s *S3CopyObjectOperation) SetBucketKeyEnabled(v bool) *S3CopyObjectOperation { 13051 s.BucketKeyEnabled = &v 13052 return s 13053} 13054 13055// SetCannedAccessControlList sets the CannedAccessControlList field's value. 13056func (s *S3CopyObjectOperation) SetCannedAccessControlList(v string) *S3CopyObjectOperation { 13057 s.CannedAccessControlList = &v 13058 return s 13059} 13060 13061// SetMetadataDirective sets the MetadataDirective field's value. 13062func (s *S3CopyObjectOperation) SetMetadataDirective(v string) *S3CopyObjectOperation { 13063 s.MetadataDirective = &v 13064 return s 13065} 13066 13067// SetModifiedSinceConstraint sets the ModifiedSinceConstraint field's value. 13068func (s *S3CopyObjectOperation) SetModifiedSinceConstraint(v time.Time) *S3CopyObjectOperation { 13069 s.ModifiedSinceConstraint = &v 13070 return s 13071} 13072 13073// SetNewObjectMetadata sets the NewObjectMetadata field's value. 13074func (s *S3CopyObjectOperation) SetNewObjectMetadata(v *S3ObjectMetadata) *S3CopyObjectOperation { 13075 s.NewObjectMetadata = v 13076 return s 13077} 13078 13079// SetNewObjectTagging sets the NewObjectTagging field's value. 13080func (s *S3CopyObjectOperation) SetNewObjectTagging(v []*S3Tag) *S3CopyObjectOperation { 13081 s.NewObjectTagging = v 13082 return s 13083} 13084 13085// SetObjectLockLegalHoldStatus sets the ObjectLockLegalHoldStatus field's value. 13086func (s *S3CopyObjectOperation) SetObjectLockLegalHoldStatus(v string) *S3CopyObjectOperation { 13087 s.ObjectLockLegalHoldStatus = &v 13088 return s 13089} 13090 13091// SetObjectLockMode sets the ObjectLockMode field's value. 13092func (s *S3CopyObjectOperation) SetObjectLockMode(v string) *S3CopyObjectOperation { 13093 s.ObjectLockMode = &v 13094 return s 13095} 13096 13097// SetObjectLockRetainUntilDate sets the ObjectLockRetainUntilDate field's value. 13098func (s *S3CopyObjectOperation) SetObjectLockRetainUntilDate(v time.Time) *S3CopyObjectOperation { 13099 s.ObjectLockRetainUntilDate = &v 13100 return s 13101} 13102 13103// SetRedirectLocation sets the RedirectLocation field's value. 13104func (s *S3CopyObjectOperation) SetRedirectLocation(v string) *S3CopyObjectOperation { 13105 s.RedirectLocation = &v 13106 return s 13107} 13108 13109// SetRequesterPays sets the RequesterPays field's value. 13110func (s *S3CopyObjectOperation) SetRequesterPays(v bool) *S3CopyObjectOperation { 13111 s.RequesterPays = &v 13112 return s 13113} 13114 13115// SetSSEAwsKmsKeyId sets the SSEAwsKmsKeyId field's value. 13116func (s *S3CopyObjectOperation) SetSSEAwsKmsKeyId(v string) *S3CopyObjectOperation { 13117 s.SSEAwsKmsKeyId = &v 13118 return s 13119} 13120 13121// SetStorageClass sets the StorageClass field's value. 13122func (s *S3CopyObjectOperation) SetStorageClass(v string) *S3CopyObjectOperation { 13123 s.StorageClass = &v 13124 return s 13125} 13126 13127// SetTargetKeyPrefix sets the TargetKeyPrefix field's value. 13128func (s *S3CopyObjectOperation) SetTargetKeyPrefix(v string) *S3CopyObjectOperation { 13129 s.TargetKeyPrefix = &v 13130 return s 13131} 13132 13133// SetTargetResource sets the TargetResource field's value. 13134func (s *S3CopyObjectOperation) SetTargetResource(v string) *S3CopyObjectOperation { 13135 s.TargetResource = &v 13136 return s 13137} 13138 13139// SetUnModifiedSinceConstraint sets the UnModifiedSinceConstraint field's value. 13140func (s *S3CopyObjectOperation) SetUnModifiedSinceConstraint(v time.Time) *S3CopyObjectOperation { 13141 s.UnModifiedSinceConstraint = &v 13142 return s 13143} 13144 13145// Contains no configuration parameters because the DELETE Object tagging API 13146// only accepts the bucket name and key name as parameters, which are defined 13147// in the job's manifest. 13148type S3DeleteObjectTaggingOperation struct { 13149 _ struct{} `type:"structure"` 13150} 13151 13152// String returns the string representation 13153func (s S3DeleteObjectTaggingOperation) String() string { 13154 return awsutil.Prettify(s) 13155} 13156 13157// GoString returns the string representation 13158func (s S3DeleteObjectTaggingOperation) GoString() string { 13159 return s.String() 13160} 13161 13162type S3Grant struct { 13163 _ struct{} `type:"structure"` 13164 13165 Grantee *S3Grantee `type:"structure"` 13166 13167 Permission *string `type:"string" enum:"S3Permission"` 13168} 13169 13170// String returns the string representation 13171func (s S3Grant) String() string { 13172 return awsutil.Prettify(s) 13173} 13174 13175// GoString returns the string representation 13176func (s S3Grant) GoString() string { 13177 return s.String() 13178} 13179 13180// Validate inspects the fields of the type to determine if they are valid. 13181func (s *S3Grant) Validate() error { 13182 invalidParams := request.ErrInvalidParams{Context: "S3Grant"} 13183 if s.Grantee != nil { 13184 if err := s.Grantee.Validate(); err != nil { 13185 invalidParams.AddNested("Grantee", err.(request.ErrInvalidParams)) 13186 } 13187 } 13188 13189 if invalidParams.Len() > 0 { 13190 return invalidParams 13191 } 13192 return nil 13193} 13194 13195// SetGrantee sets the Grantee field's value. 13196func (s *S3Grant) SetGrantee(v *S3Grantee) *S3Grant { 13197 s.Grantee = v 13198 return s 13199} 13200 13201// SetPermission sets the Permission field's value. 13202func (s *S3Grant) SetPermission(v string) *S3Grant { 13203 s.Permission = &v 13204 return s 13205} 13206 13207type S3Grantee struct { 13208 _ struct{} `type:"structure"` 13209 13210 DisplayName *string `min:"1" type:"string"` 13211 13212 Identifier *string `min:"1" type:"string"` 13213 13214 TypeIdentifier *string `type:"string" enum:"S3GranteeTypeIdentifier"` 13215} 13216 13217// String returns the string representation 13218func (s S3Grantee) String() string { 13219 return awsutil.Prettify(s) 13220} 13221 13222// GoString returns the string representation 13223func (s S3Grantee) GoString() string { 13224 return s.String() 13225} 13226 13227// Validate inspects the fields of the type to determine if they are valid. 13228func (s *S3Grantee) Validate() error { 13229 invalidParams := request.ErrInvalidParams{Context: "S3Grantee"} 13230 if s.DisplayName != nil && len(*s.DisplayName) < 1 { 13231 invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1)) 13232 } 13233 if s.Identifier != nil && len(*s.Identifier) < 1 { 13234 invalidParams.Add(request.NewErrParamMinLen("Identifier", 1)) 13235 } 13236 13237 if invalidParams.Len() > 0 { 13238 return invalidParams 13239 } 13240 return nil 13241} 13242 13243// SetDisplayName sets the DisplayName field's value. 13244func (s *S3Grantee) SetDisplayName(v string) *S3Grantee { 13245 s.DisplayName = &v 13246 return s 13247} 13248 13249// SetIdentifier sets the Identifier field's value. 13250func (s *S3Grantee) SetIdentifier(v string) *S3Grantee { 13251 s.Identifier = &v 13252 return s 13253} 13254 13255// SetTypeIdentifier sets the TypeIdentifier field's value. 13256func (s *S3Grantee) SetTypeIdentifier(v string) *S3Grantee { 13257 s.TypeIdentifier = &v 13258 return s 13259} 13260 13261// Contains the configuration parameters for an S3 Initiate Restore Object job. 13262// S3 Batch Operations passes every object to the underlying POST Object restore 13263// API. For more information about the parameters for this operation, see RestoreObject 13264// (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOSTrestore.html#RESTObjectPOSTrestore-restore-request). 13265type S3InitiateRestoreObjectOperation struct { 13266 _ struct{} `type:"structure"` 13267 13268 // This argument specifies how long the S3 Glacier or S3 Glacier Deep Archive 13269 // object remains available in Amazon S3. S3 Initiate Restore Object jobs that 13270 // target S3 Glacier and S3 Glacier Deep Archive objects require ExpirationInDays 13271 // set to 1 or greater. 13272 // 13273 // Conversely, do not set ExpirationInDays when creating S3 Initiate Restore 13274 // Object jobs that target S3 Intelligent-Tiering Archive Access and Deep Archive 13275 // Access tier objects. Objects in S3 Intelligent-Tiering archive access tiers 13276 // are not subject to restore expiry, so specifying ExpirationInDays results 13277 // in restore request failure. 13278 // 13279 // S3 Batch Operations jobs can operate either on S3 Glacier and S3 Glacier 13280 // Deep Archive storage class objects or on S3 Intelligent-Tiering Archive Access 13281 // and Deep Archive Access storage tier objects, but not both types in the same 13282 // job. If you need to restore objects of both types you must create separate 13283 // Batch Operations jobs. 13284 ExpirationInDays *int64 `type:"integer"` 13285 13286 // S3 Batch Operations supports STANDARD and BULK retrieval tiers, but not the 13287 // EXPEDITED retrieval tier. 13288 GlacierJobTier *string `type:"string" enum:"S3GlacierJobTier"` 13289} 13290 13291// String returns the string representation 13292func (s S3InitiateRestoreObjectOperation) String() string { 13293 return awsutil.Prettify(s) 13294} 13295 13296// GoString returns the string representation 13297func (s S3InitiateRestoreObjectOperation) GoString() string { 13298 return s.String() 13299} 13300 13301// SetExpirationInDays sets the ExpirationInDays field's value. 13302func (s *S3InitiateRestoreObjectOperation) SetExpirationInDays(v int64) *S3InitiateRestoreObjectOperation { 13303 s.ExpirationInDays = &v 13304 return s 13305} 13306 13307// SetGlacierJobTier sets the GlacierJobTier field's value. 13308func (s *S3InitiateRestoreObjectOperation) SetGlacierJobTier(v string) *S3InitiateRestoreObjectOperation { 13309 s.GlacierJobTier = &v 13310 return s 13311} 13312 13313// Whether S3 Object Lock legal hold will be applied to objects in an S3 Batch 13314// Operations job. 13315type S3ObjectLockLegalHold struct { 13316 _ struct{} `type:"structure"` 13317 13318 // The Object Lock legal hold status to be applied to all objects in the Batch 13319 // Operations job. 13320 // 13321 // Status is a required field 13322 Status *string `type:"string" required:"true" enum:"S3ObjectLockLegalHoldStatus"` 13323} 13324 13325// String returns the string representation 13326func (s S3ObjectLockLegalHold) String() string { 13327 return awsutil.Prettify(s) 13328} 13329 13330// GoString returns the string representation 13331func (s S3ObjectLockLegalHold) GoString() string { 13332 return s.String() 13333} 13334 13335// Validate inspects the fields of the type to determine if they are valid. 13336func (s *S3ObjectLockLegalHold) Validate() error { 13337 invalidParams := request.ErrInvalidParams{Context: "S3ObjectLockLegalHold"} 13338 if s.Status == nil { 13339 invalidParams.Add(request.NewErrParamRequired("Status")) 13340 } 13341 13342 if invalidParams.Len() > 0 { 13343 return invalidParams 13344 } 13345 return nil 13346} 13347 13348// SetStatus sets the Status field's value. 13349func (s *S3ObjectLockLegalHold) SetStatus(v string) *S3ObjectLockLegalHold { 13350 s.Status = &v 13351 return s 13352} 13353 13354type S3ObjectMetadata struct { 13355 _ struct{} `type:"structure"` 13356 13357 CacheControl *string `min:"1" type:"string"` 13358 13359 ContentDisposition *string `min:"1" type:"string"` 13360 13361 ContentEncoding *string `min:"1" type:"string"` 13362 13363 ContentLanguage *string `min:"1" type:"string"` 13364 13365 ContentLength *int64 `type:"long"` 13366 13367 ContentMD5 *string `min:"1" type:"string"` 13368 13369 ContentType *string `min:"1" type:"string"` 13370 13371 HttpExpiresDate *time.Time `type:"timestamp"` 13372 13373 RequesterCharged *bool `type:"boolean"` 13374 13375 SSEAlgorithm *string `type:"string" enum:"S3SSEAlgorithm"` 13376 13377 UserMetadata map[string]*string `type:"map"` 13378} 13379 13380// String returns the string representation 13381func (s S3ObjectMetadata) String() string { 13382 return awsutil.Prettify(s) 13383} 13384 13385// GoString returns the string representation 13386func (s S3ObjectMetadata) GoString() string { 13387 return s.String() 13388} 13389 13390// Validate inspects the fields of the type to determine if they are valid. 13391func (s *S3ObjectMetadata) Validate() error { 13392 invalidParams := request.ErrInvalidParams{Context: "S3ObjectMetadata"} 13393 if s.CacheControl != nil && len(*s.CacheControl) < 1 { 13394 invalidParams.Add(request.NewErrParamMinLen("CacheControl", 1)) 13395 } 13396 if s.ContentDisposition != nil && len(*s.ContentDisposition) < 1 { 13397 invalidParams.Add(request.NewErrParamMinLen("ContentDisposition", 1)) 13398 } 13399 if s.ContentEncoding != nil && len(*s.ContentEncoding) < 1 { 13400 invalidParams.Add(request.NewErrParamMinLen("ContentEncoding", 1)) 13401 } 13402 if s.ContentLanguage != nil && len(*s.ContentLanguage) < 1 { 13403 invalidParams.Add(request.NewErrParamMinLen("ContentLanguage", 1)) 13404 } 13405 if s.ContentMD5 != nil && len(*s.ContentMD5) < 1 { 13406 invalidParams.Add(request.NewErrParamMinLen("ContentMD5", 1)) 13407 } 13408 if s.ContentType != nil && len(*s.ContentType) < 1 { 13409 invalidParams.Add(request.NewErrParamMinLen("ContentType", 1)) 13410 } 13411 13412 if invalidParams.Len() > 0 { 13413 return invalidParams 13414 } 13415 return nil 13416} 13417 13418// SetCacheControl sets the CacheControl field's value. 13419func (s *S3ObjectMetadata) SetCacheControl(v string) *S3ObjectMetadata { 13420 s.CacheControl = &v 13421 return s 13422} 13423 13424// SetContentDisposition sets the ContentDisposition field's value. 13425func (s *S3ObjectMetadata) SetContentDisposition(v string) *S3ObjectMetadata { 13426 s.ContentDisposition = &v 13427 return s 13428} 13429 13430// SetContentEncoding sets the ContentEncoding field's value. 13431func (s *S3ObjectMetadata) SetContentEncoding(v string) *S3ObjectMetadata { 13432 s.ContentEncoding = &v 13433 return s 13434} 13435 13436// SetContentLanguage sets the ContentLanguage field's value. 13437func (s *S3ObjectMetadata) SetContentLanguage(v string) *S3ObjectMetadata { 13438 s.ContentLanguage = &v 13439 return s 13440} 13441 13442// SetContentLength sets the ContentLength field's value. 13443func (s *S3ObjectMetadata) SetContentLength(v int64) *S3ObjectMetadata { 13444 s.ContentLength = &v 13445 return s 13446} 13447 13448// SetContentMD5 sets the ContentMD5 field's value. 13449func (s *S3ObjectMetadata) SetContentMD5(v string) *S3ObjectMetadata { 13450 s.ContentMD5 = &v 13451 return s 13452} 13453 13454// SetContentType sets the ContentType field's value. 13455func (s *S3ObjectMetadata) SetContentType(v string) *S3ObjectMetadata { 13456 s.ContentType = &v 13457 return s 13458} 13459 13460// SetHttpExpiresDate sets the HttpExpiresDate field's value. 13461func (s *S3ObjectMetadata) SetHttpExpiresDate(v time.Time) *S3ObjectMetadata { 13462 s.HttpExpiresDate = &v 13463 return s 13464} 13465 13466// SetRequesterCharged sets the RequesterCharged field's value. 13467func (s *S3ObjectMetadata) SetRequesterCharged(v bool) *S3ObjectMetadata { 13468 s.RequesterCharged = &v 13469 return s 13470} 13471 13472// SetSSEAlgorithm sets the SSEAlgorithm field's value. 13473func (s *S3ObjectMetadata) SetSSEAlgorithm(v string) *S3ObjectMetadata { 13474 s.SSEAlgorithm = &v 13475 return s 13476} 13477 13478// SetUserMetadata sets the UserMetadata field's value. 13479func (s *S3ObjectMetadata) SetUserMetadata(v map[string]*string) *S3ObjectMetadata { 13480 s.UserMetadata = v 13481 return s 13482} 13483 13484type S3ObjectOwner struct { 13485 _ struct{} `type:"structure"` 13486 13487 DisplayName *string `min:"1" type:"string"` 13488 13489 ID *string `min:"1" type:"string"` 13490} 13491 13492// String returns the string representation 13493func (s S3ObjectOwner) String() string { 13494 return awsutil.Prettify(s) 13495} 13496 13497// GoString returns the string representation 13498func (s S3ObjectOwner) GoString() string { 13499 return s.String() 13500} 13501 13502// Validate inspects the fields of the type to determine if they are valid. 13503func (s *S3ObjectOwner) Validate() error { 13504 invalidParams := request.ErrInvalidParams{Context: "S3ObjectOwner"} 13505 if s.DisplayName != nil && len(*s.DisplayName) < 1 { 13506 invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1)) 13507 } 13508 if s.ID != nil && len(*s.ID) < 1 { 13509 invalidParams.Add(request.NewErrParamMinLen("ID", 1)) 13510 } 13511 13512 if invalidParams.Len() > 0 { 13513 return invalidParams 13514 } 13515 return nil 13516} 13517 13518// SetDisplayName sets the DisplayName field's value. 13519func (s *S3ObjectOwner) SetDisplayName(v string) *S3ObjectOwner { 13520 s.DisplayName = &v 13521 return s 13522} 13523 13524// SetID sets the ID field's value. 13525func (s *S3ObjectOwner) SetID(v string) *S3ObjectOwner { 13526 s.ID = &v 13527 return s 13528} 13529 13530// Contains the S3 Object Lock retention mode to be applied to all objects in 13531// the S3 Batch Operations job. If you don't provide Mode and RetainUntilDate 13532// data types in your operation, you will remove the retention from your objects. 13533// For more information, see Using S3 Object Lock retention with S3 Batch Operations 13534// (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html) 13535// in the Amazon S3 User Guide. 13536type S3Retention struct { 13537 _ struct{} `type:"structure"` 13538 13539 // The Object Lock retention mode to be applied to all objects in the Batch 13540 // Operations job. 13541 Mode *string `type:"string" enum:"S3ObjectLockRetentionMode"` 13542 13543 // The date when the applied Object Lock retention will expire on all objects 13544 // set by the Batch Operations job. 13545 RetainUntilDate *time.Time `type:"timestamp"` 13546} 13547 13548// String returns the string representation 13549func (s S3Retention) String() string { 13550 return awsutil.Prettify(s) 13551} 13552 13553// GoString returns the string representation 13554func (s S3Retention) GoString() string { 13555 return s.String() 13556} 13557 13558// SetMode sets the Mode field's value. 13559func (s *S3Retention) SetMode(v string) *S3Retention { 13560 s.Mode = &v 13561 return s 13562} 13563 13564// SetRetainUntilDate sets the RetainUntilDate field's value. 13565func (s *S3Retention) SetRetainUntilDate(v time.Time) *S3Retention { 13566 s.RetainUntilDate = &v 13567 return s 13568} 13569 13570// Contains the configuration parameters for a Set Object ACL operation. S3 13571// Batch Operations passes every object to the underlying PUT Object acl API. 13572// For more information about the parameters for this operation, see PUT Object 13573// acl (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUTacl.html). 13574type S3SetObjectAclOperation struct { 13575 _ struct{} `type:"structure"` 13576 13577 AccessControlPolicy *S3AccessControlPolicy `type:"structure"` 13578} 13579 13580// String returns the string representation 13581func (s S3SetObjectAclOperation) String() string { 13582 return awsutil.Prettify(s) 13583} 13584 13585// GoString returns the string representation 13586func (s S3SetObjectAclOperation) GoString() string { 13587 return s.String() 13588} 13589 13590// Validate inspects the fields of the type to determine if they are valid. 13591func (s *S3SetObjectAclOperation) Validate() error { 13592 invalidParams := request.ErrInvalidParams{Context: "S3SetObjectAclOperation"} 13593 if s.AccessControlPolicy != nil { 13594 if err := s.AccessControlPolicy.Validate(); err != nil { 13595 invalidParams.AddNested("AccessControlPolicy", err.(request.ErrInvalidParams)) 13596 } 13597 } 13598 13599 if invalidParams.Len() > 0 { 13600 return invalidParams 13601 } 13602 return nil 13603} 13604 13605// SetAccessControlPolicy sets the AccessControlPolicy field's value. 13606func (s *S3SetObjectAclOperation) SetAccessControlPolicy(v *S3AccessControlPolicy) *S3SetObjectAclOperation { 13607 s.AccessControlPolicy = v 13608 return s 13609} 13610 13611// Contains the configuration for an S3 Object Lock legal hold operation that 13612// an S3 Batch Operations job passes every object to the underlying PutObjectLegalHold 13613// API. For more information, see Using S3 Object Lock legal hold with S3 Batch 13614// Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-legal-hold.html) 13615// in the Amazon S3 User Guide. 13616type S3SetObjectLegalHoldOperation struct { 13617 _ struct{} `type:"structure"` 13618 13619 // Contains the Object Lock legal hold status to be applied to all objects in 13620 // the Batch Operations job. 13621 // 13622 // LegalHold is a required field 13623 LegalHold *S3ObjectLockLegalHold `type:"structure" required:"true"` 13624} 13625 13626// String returns the string representation 13627func (s S3SetObjectLegalHoldOperation) String() string { 13628 return awsutil.Prettify(s) 13629} 13630 13631// GoString returns the string representation 13632func (s S3SetObjectLegalHoldOperation) GoString() string { 13633 return s.String() 13634} 13635 13636// Validate inspects the fields of the type to determine if they are valid. 13637func (s *S3SetObjectLegalHoldOperation) Validate() error { 13638 invalidParams := request.ErrInvalidParams{Context: "S3SetObjectLegalHoldOperation"} 13639 if s.LegalHold == nil { 13640 invalidParams.Add(request.NewErrParamRequired("LegalHold")) 13641 } 13642 if s.LegalHold != nil { 13643 if err := s.LegalHold.Validate(); err != nil { 13644 invalidParams.AddNested("LegalHold", err.(request.ErrInvalidParams)) 13645 } 13646 } 13647 13648 if invalidParams.Len() > 0 { 13649 return invalidParams 13650 } 13651 return nil 13652} 13653 13654// SetLegalHold sets the LegalHold field's value. 13655func (s *S3SetObjectLegalHoldOperation) SetLegalHold(v *S3ObjectLockLegalHold) *S3SetObjectLegalHoldOperation { 13656 s.LegalHold = v 13657 return s 13658} 13659 13660// Contains the configuration parameters for the Object Lock retention action 13661// for an S3 Batch Operations job. Batch Operations passes every object to the 13662// underlying PutObjectRetention API. For more information, see Using S3 Object 13663// Lock retention with S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html) 13664// in the Amazon S3 User Guide. 13665type S3SetObjectRetentionOperation struct { 13666 _ struct{} `type:"structure"` 13667 13668 // Indicates if the action should be applied to objects in the Batch Operations 13669 // job even if they have Object Lock GOVERNANCE type in place. 13670 BypassGovernanceRetention *bool `type:"boolean"` 13671 13672 // Contains the Object Lock retention mode to be applied to all objects in the 13673 // Batch Operations job. For more information, see Using S3 Object Lock retention 13674 // with S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html) 13675 // in the Amazon S3 User Guide. 13676 // 13677 // Retention is a required field 13678 Retention *S3Retention `type:"structure" required:"true"` 13679} 13680 13681// String returns the string representation 13682func (s S3SetObjectRetentionOperation) String() string { 13683 return awsutil.Prettify(s) 13684} 13685 13686// GoString returns the string representation 13687func (s S3SetObjectRetentionOperation) GoString() string { 13688 return s.String() 13689} 13690 13691// Validate inspects the fields of the type to determine if they are valid. 13692func (s *S3SetObjectRetentionOperation) Validate() error { 13693 invalidParams := request.ErrInvalidParams{Context: "S3SetObjectRetentionOperation"} 13694 if s.Retention == nil { 13695 invalidParams.Add(request.NewErrParamRequired("Retention")) 13696 } 13697 13698 if invalidParams.Len() > 0 { 13699 return invalidParams 13700 } 13701 return nil 13702} 13703 13704// SetBypassGovernanceRetention sets the BypassGovernanceRetention field's value. 13705func (s *S3SetObjectRetentionOperation) SetBypassGovernanceRetention(v bool) *S3SetObjectRetentionOperation { 13706 s.BypassGovernanceRetention = &v 13707 return s 13708} 13709 13710// SetRetention sets the Retention field's value. 13711func (s *S3SetObjectRetentionOperation) SetRetention(v *S3Retention) *S3SetObjectRetentionOperation { 13712 s.Retention = v 13713 return s 13714} 13715 13716// Contains the configuration parameters for a Set Object Tagging operation. 13717// S3 Batch Operations passes every object to the underlying PUT Object tagging 13718// API. For more information about the parameters for this operation, see PUT 13719// Object tagging (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUTtagging.html). 13720type S3SetObjectTaggingOperation struct { 13721 _ struct{} `type:"structure"` 13722 13723 TagSet []*S3Tag `type:"list"` 13724} 13725 13726// String returns the string representation 13727func (s S3SetObjectTaggingOperation) String() string { 13728 return awsutil.Prettify(s) 13729} 13730 13731// GoString returns the string representation 13732func (s S3SetObjectTaggingOperation) GoString() string { 13733 return s.String() 13734} 13735 13736// Validate inspects the fields of the type to determine if they are valid. 13737func (s *S3SetObjectTaggingOperation) Validate() error { 13738 invalidParams := request.ErrInvalidParams{Context: "S3SetObjectTaggingOperation"} 13739 if s.TagSet != nil { 13740 for i, v := range s.TagSet { 13741 if v == nil { 13742 continue 13743 } 13744 if err := v.Validate(); err != nil { 13745 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagSet", i), err.(request.ErrInvalidParams)) 13746 } 13747 } 13748 } 13749 13750 if invalidParams.Len() > 0 { 13751 return invalidParams 13752 } 13753 return nil 13754} 13755 13756// SetTagSet sets the TagSet field's value. 13757func (s *S3SetObjectTaggingOperation) SetTagSet(v []*S3Tag) *S3SetObjectTaggingOperation { 13758 s.TagSet = v 13759 return s 13760} 13761 13762type S3Tag struct { 13763 _ struct{} `type:"structure"` 13764 13765 // Key is a required field 13766 Key *string `min:"1" type:"string" required:"true"` 13767 13768 // Value is a required field 13769 Value *string `type:"string" required:"true"` 13770} 13771 13772// String returns the string representation 13773func (s S3Tag) String() string { 13774 return awsutil.Prettify(s) 13775} 13776 13777// GoString returns the string representation 13778func (s S3Tag) GoString() string { 13779 return s.String() 13780} 13781 13782// Validate inspects the fields of the type to determine if they are valid. 13783func (s *S3Tag) Validate() error { 13784 invalidParams := request.ErrInvalidParams{Context: "S3Tag"} 13785 if s.Key == nil { 13786 invalidParams.Add(request.NewErrParamRequired("Key")) 13787 } 13788 if s.Key != nil && len(*s.Key) < 1 { 13789 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 13790 } 13791 if s.Value == nil { 13792 invalidParams.Add(request.NewErrParamRequired("Value")) 13793 } 13794 13795 if invalidParams.Len() > 0 { 13796 return invalidParams 13797 } 13798 return nil 13799} 13800 13801// SetKey sets the Key field's value. 13802func (s *S3Tag) SetKey(v string) *S3Tag { 13803 s.Key = &v 13804 return s 13805} 13806 13807// SetValue sets the Value field's value. 13808func (s *S3Tag) SetValue(v string) *S3Tag { 13809 s.Value = &v 13810 return s 13811} 13812 13813type SSEKMS struct { 13814 _ struct{} `locationName:"SSE-KMS" type:"structure"` 13815 13816 // A container for the ARN of the SSE-KMS encryption. This property is read-only 13817 // and follows the following format: arn:aws:kms:us-east-1:example-account-id:key/example-9a73-4afc-8d29-8f5900cef44e 13818 // 13819 // KeyId is a required field 13820 KeyId *string `type:"string" required:"true"` 13821} 13822 13823// String returns the string representation 13824func (s SSEKMS) String() string { 13825 return awsutil.Prettify(s) 13826} 13827 13828// GoString returns the string representation 13829func (s SSEKMS) GoString() string { 13830 return s.String() 13831} 13832 13833// Validate inspects the fields of the type to determine if they are valid. 13834func (s *SSEKMS) Validate() error { 13835 invalidParams := request.ErrInvalidParams{Context: "SSEKMS"} 13836 if s.KeyId == nil { 13837 invalidParams.Add(request.NewErrParamRequired("KeyId")) 13838 } 13839 13840 if invalidParams.Len() > 0 { 13841 return invalidParams 13842 } 13843 return nil 13844} 13845 13846// SetKeyId sets the KeyId field's value. 13847func (s *SSEKMS) SetKeyId(v string) *SSEKMS { 13848 s.KeyId = &v 13849 return s 13850} 13851 13852type SSES3 struct { 13853 _ struct{} `locationName:"SSE-S3" type:"structure"` 13854} 13855 13856// String returns the string representation 13857func (s SSES3) String() string { 13858 return awsutil.Prettify(s) 13859} 13860 13861// GoString returns the string representation 13862func (s SSES3) GoString() string { 13863 return s.String() 13864} 13865 13866type SelectionCriteria struct { 13867 _ struct{} `type:"structure"` 13868 13869 // A container for the delimiter of the selection criteria being used. 13870 Delimiter *string `type:"string"` 13871 13872 // The max depth of the selection criteria 13873 MaxDepth *int64 `min:"1" type:"integer"` 13874 13875 // The minimum number of storage bytes percentage whose metrics will be selected. 13876 // 13877 // You must choose a value greater than or equal to 1.0. 13878 MinStorageBytesPercentage *float64 `min:"0.1" type:"double"` 13879} 13880 13881// String returns the string representation 13882func (s SelectionCriteria) String() string { 13883 return awsutil.Prettify(s) 13884} 13885 13886// GoString returns the string representation 13887func (s SelectionCriteria) GoString() string { 13888 return s.String() 13889} 13890 13891// Validate inspects the fields of the type to determine if they are valid. 13892func (s *SelectionCriteria) Validate() error { 13893 invalidParams := request.ErrInvalidParams{Context: "SelectionCriteria"} 13894 if s.MaxDepth != nil && *s.MaxDepth < 1 { 13895 invalidParams.Add(request.NewErrParamMinValue("MaxDepth", 1)) 13896 } 13897 if s.MinStorageBytesPercentage != nil && *s.MinStorageBytesPercentage < 0.1 { 13898 invalidParams.Add(request.NewErrParamMinValue("MinStorageBytesPercentage", 0.1)) 13899 } 13900 13901 if invalidParams.Len() > 0 { 13902 return invalidParams 13903 } 13904 return nil 13905} 13906 13907// SetDelimiter sets the Delimiter field's value. 13908func (s *SelectionCriteria) SetDelimiter(v string) *SelectionCriteria { 13909 s.Delimiter = &v 13910 return s 13911} 13912 13913// SetMaxDepth sets the MaxDepth field's value. 13914func (s *SelectionCriteria) SetMaxDepth(v int64) *SelectionCriteria { 13915 s.MaxDepth = &v 13916 return s 13917} 13918 13919// SetMinStorageBytesPercentage sets the MinStorageBytesPercentage field's value. 13920func (s *SelectionCriteria) SetMinStorageBytesPercentage(v float64) *SelectionCriteria { 13921 s.MinStorageBytesPercentage = &v 13922 return s 13923} 13924 13925// The Amazon Web Services organization for your S3 Storage Lens. 13926type StorageLensAwsOrg struct { 13927 _ struct{} `type:"structure"` 13928 13929 // A container for the Amazon Resource Name (ARN) of the Amazon Web Services 13930 // organization. This property is read-only and follows the following format: 13931 // arn:aws:organizations:us-east-1:example-account-id:organization/o-ex2l495dck 13932 // 13933 // Arn is a required field 13934 Arn *string `min:"1" type:"string" required:"true"` 13935} 13936 13937// String returns the string representation 13938func (s StorageLensAwsOrg) String() string { 13939 return awsutil.Prettify(s) 13940} 13941 13942// GoString returns the string representation 13943func (s StorageLensAwsOrg) GoString() string { 13944 return s.String() 13945} 13946 13947// Validate inspects the fields of the type to determine if they are valid. 13948func (s *StorageLensAwsOrg) Validate() error { 13949 invalidParams := request.ErrInvalidParams{Context: "StorageLensAwsOrg"} 13950 if s.Arn == nil { 13951 invalidParams.Add(request.NewErrParamRequired("Arn")) 13952 } 13953 if s.Arn != nil && len(*s.Arn) < 1 { 13954 invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) 13955 } 13956 13957 if invalidParams.Len() > 0 { 13958 return invalidParams 13959 } 13960 return nil 13961} 13962 13963// SetArn sets the Arn field's value. 13964func (s *StorageLensAwsOrg) SetArn(v string) *StorageLensAwsOrg { 13965 s.Arn = &v 13966 return s 13967} 13968 13969// A container for the Amazon S3 Storage Lens configuration. 13970type StorageLensConfiguration struct { 13971 _ struct{} `type:"structure"` 13972 13973 // A container for all the account-level configurations of your S3 Storage Lens 13974 // configuration. 13975 // 13976 // AccountLevel is a required field 13977 AccountLevel *AccountLevel `type:"structure" required:"true"` 13978 13979 // A container for the Amazon Web Services organization for this S3 Storage 13980 // Lens configuration. 13981 AwsOrg *StorageLensAwsOrg `type:"structure"` 13982 13983 // A container to specify the properties of your S3 Storage Lens metrics export 13984 // including, the destination, schema and format. 13985 DataExport *StorageLensDataExport `type:"structure"` 13986 13987 // A container for what is excluded in this configuration. This container can 13988 // only be valid if there is no Include container submitted, and it's not empty. 13989 Exclude *Exclude `type:"structure"` 13990 13991 // A container for the Amazon S3 Storage Lens configuration ID. 13992 // 13993 // Id is a required field 13994 Id *string `min:"1" type:"string" required:"true"` 13995 13996 // A container for what is included in this configuration. This container can 13997 // only be valid if there is no Exclude container submitted, and it's not empty. 13998 Include *Include `type:"structure"` 13999 14000 // A container for whether the S3 Storage Lens configuration is enabled. 14001 // 14002 // IsEnabled is a required field 14003 IsEnabled *bool `type:"boolean" required:"true"` 14004 14005 // The Amazon Resource Name (ARN) of the S3 Storage Lens configuration. This 14006 // property is read-only and follows the following format: arn:aws:s3:us-east-1:example-account-id:storage-lens/your-dashboard-name 14007 StorageLensArn *string `min:"1" type:"string"` 14008} 14009 14010// String returns the string representation 14011func (s StorageLensConfiguration) String() string { 14012 return awsutil.Prettify(s) 14013} 14014 14015// GoString returns the string representation 14016func (s StorageLensConfiguration) GoString() string { 14017 return s.String() 14018} 14019 14020// Validate inspects the fields of the type to determine if they are valid. 14021func (s *StorageLensConfiguration) Validate() error { 14022 invalidParams := request.ErrInvalidParams{Context: "StorageLensConfiguration"} 14023 if s.AccountLevel == nil { 14024 invalidParams.Add(request.NewErrParamRequired("AccountLevel")) 14025 } 14026 if s.Id == nil { 14027 invalidParams.Add(request.NewErrParamRequired("Id")) 14028 } 14029 if s.Id != nil && len(*s.Id) < 1 { 14030 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 14031 } 14032 if s.IsEnabled == nil { 14033 invalidParams.Add(request.NewErrParamRequired("IsEnabled")) 14034 } 14035 if s.StorageLensArn != nil && len(*s.StorageLensArn) < 1 { 14036 invalidParams.Add(request.NewErrParamMinLen("StorageLensArn", 1)) 14037 } 14038 if s.AccountLevel != nil { 14039 if err := s.AccountLevel.Validate(); err != nil { 14040 invalidParams.AddNested("AccountLevel", err.(request.ErrInvalidParams)) 14041 } 14042 } 14043 if s.AwsOrg != nil { 14044 if err := s.AwsOrg.Validate(); err != nil { 14045 invalidParams.AddNested("AwsOrg", err.(request.ErrInvalidParams)) 14046 } 14047 } 14048 if s.DataExport != nil { 14049 if err := s.DataExport.Validate(); err != nil { 14050 invalidParams.AddNested("DataExport", err.(request.ErrInvalidParams)) 14051 } 14052 } 14053 14054 if invalidParams.Len() > 0 { 14055 return invalidParams 14056 } 14057 return nil 14058} 14059 14060// SetAccountLevel sets the AccountLevel field's value. 14061func (s *StorageLensConfiguration) SetAccountLevel(v *AccountLevel) *StorageLensConfiguration { 14062 s.AccountLevel = v 14063 return s 14064} 14065 14066// SetAwsOrg sets the AwsOrg field's value. 14067func (s *StorageLensConfiguration) SetAwsOrg(v *StorageLensAwsOrg) *StorageLensConfiguration { 14068 s.AwsOrg = v 14069 return s 14070} 14071 14072// SetDataExport sets the DataExport field's value. 14073func (s *StorageLensConfiguration) SetDataExport(v *StorageLensDataExport) *StorageLensConfiguration { 14074 s.DataExport = v 14075 return s 14076} 14077 14078// SetExclude sets the Exclude field's value. 14079func (s *StorageLensConfiguration) SetExclude(v *Exclude) *StorageLensConfiguration { 14080 s.Exclude = v 14081 return s 14082} 14083 14084// SetId sets the Id field's value. 14085func (s *StorageLensConfiguration) SetId(v string) *StorageLensConfiguration { 14086 s.Id = &v 14087 return s 14088} 14089 14090// SetInclude sets the Include field's value. 14091func (s *StorageLensConfiguration) SetInclude(v *Include) *StorageLensConfiguration { 14092 s.Include = v 14093 return s 14094} 14095 14096// SetIsEnabled sets the IsEnabled field's value. 14097func (s *StorageLensConfiguration) SetIsEnabled(v bool) *StorageLensConfiguration { 14098 s.IsEnabled = &v 14099 return s 14100} 14101 14102// SetStorageLensArn sets the StorageLensArn field's value. 14103func (s *StorageLensConfiguration) SetStorageLensArn(v string) *StorageLensConfiguration { 14104 s.StorageLensArn = &v 14105 return s 14106} 14107 14108// A container to specify the properties of your S3 Storage Lens metrics export, 14109// including the destination, schema, and format. 14110type StorageLensDataExport struct { 14111 _ struct{} `type:"structure"` 14112 14113 // A container for the bucket where the S3 Storage Lens metrics export will 14114 // be located. 14115 // 14116 // This bucket must be located in the same Region as the storage lens configuration. 14117 // 14118 // S3BucketDestination is a required field 14119 S3BucketDestination *S3BucketDestination `type:"structure" required:"true"` 14120} 14121 14122// String returns the string representation 14123func (s StorageLensDataExport) String() string { 14124 return awsutil.Prettify(s) 14125} 14126 14127// GoString returns the string representation 14128func (s StorageLensDataExport) GoString() string { 14129 return s.String() 14130} 14131 14132// Validate inspects the fields of the type to determine if they are valid. 14133func (s *StorageLensDataExport) Validate() error { 14134 invalidParams := request.ErrInvalidParams{Context: "StorageLensDataExport"} 14135 if s.S3BucketDestination == nil { 14136 invalidParams.Add(request.NewErrParamRequired("S3BucketDestination")) 14137 } 14138 if s.S3BucketDestination != nil { 14139 if err := s.S3BucketDestination.Validate(); err != nil { 14140 invalidParams.AddNested("S3BucketDestination", err.(request.ErrInvalidParams)) 14141 } 14142 } 14143 14144 if invalidParams.Len() > 0 { 14145 return invalidParams 14146 } 14147 return nil 14148} 14149 14150// SetS3BucketDestination sets the S3BucketDestination field's value. 14151func (s *StorageLensDataExport) SetS3BucketDestination(v *S3BucketDestination) *StorageLensDataExport { 14152 s.S3BucketDestination = v 14153 return s 14154} 14155 14156// A container for the encryption of the S3 Storage Lens metrics exports. 14157type StorageLensDataExportEncryption struct { 14158 _ struct{} `type:"structure"` 14159 14160 SSEKMS *SSEKMS `locationName:"SSE-KMS" type:"structure"` 14161 14162 SSES3 *SSES3 `locationName:"SSE-S3" type:"structure"` 14163} 14164 14165// String returns the string representation 14166func (s StorageLensDataExportEncryption) String() string { 14167 return awsutil.Prettify(s) 14168} 14169 14170// GoString returns the string representation 14171func (s StorageLensDataExportEncryption) GoString() string { 14172 return s.String() 14173} 14174 14175// Validate inspects the fields of the type to determine if they are valid. 14176func (s *StorageLensDataExportEncryption) Validate() error { 14177 invalidParams := request.ErrInvalidParams{Context: "StorageLensDataExportEncryption"} 14178 if s.SSEKMS != nil { 14179 if err := s.SSEKMS.Validate(); err != nil { 14180 invalidParams.AddNested("SSEKMS", err.(request.ErrInvalidParams)) 14181 } 14182 } 14183 14184 if invalidParams.Len() > 0 { 14185 return invalidParams 14186 } 14187 return nil 14188} 14189 14190// SetSSEKMS sets the SSEKMS field's value. 14191func (s *StorageLensDataExportEncryption) SetSSEKMS(v *SSEKMS) *StorageLensDataExportEncryption { 14192 s.SSEKMS = v 14193 return s 14194} 14195 14196// SetSSES3 sets the SSES3 field's value. 14197func (s *StorageLensDataExportEncryption) SetSSES3(v *SSES3) *StorageLensDataExportEncryption { 14198 s.SSES3 = v 14199 return s 14200} 14201 14202type StorageLensTag struct { 14203 _ struct{} `type:"structure"` 14204 14205 // Key is a required field 14206 Key *string `min:"1" type:"string" required:"true"` 14207 14208 // Value is a required field 14209 Value *string `type:"string" required:"true"` 14210} 14211 14212// String returns the string representation 14213func (s StorageLensTag) String() string { 14214 return awsutil.Prettify(s) 14215} 14216 14217// GoString returns the string representation 14218func (s StorageLensTag) GoString() string { 14219 return s.String() 14220} 14221 14222// Validate inspects the fields of the type to determine if they are valid. 14223func (s *StorageLensTag) Validate() error { 14224 invalidParams := request.ErrInvalidParams{Context: "StorageLensTag"} 14225 if s.Key == nil { 14226 invalidParams.Add(request.NewErrParamRequired("Key")) 14227 } 14228 if s.Key != nil && len(*s.Key) < 1 { 14229 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 14230 } 14231 if s.Value == nil { 14232 invalidParams.Add(request.NewErrParamRequired("Value")) 14233 } 14234 14235 if invalidParams.Len() > 0 { 14236 return invalidParams 14237 } 14238 return nil 14239} 14240 14241// SetKey sets the Key field's value. 14242func (s *StorageLensTag) SetKey(v string) *StorageLensTag { 14243 s.Key = &v 14244 return s 14245} 14246 14247// SetValue sets the Value field's value. 14248func (s *StorageLensTag) SetValue(v string) *StorageLensTag { 14249 s.Value = &v 14250 return s 14251} 14252 14253type Tagging struct { 14254 _ struct{} `type:"structure"` 14255 14256 // A collection for a set of tags. 14257 // 14258 // TagSet is a required field 14259 TagSet []*S3Tag `type:"list" required:"true"` 14260} 14261 14262// String returns the string representation 14263func (s Tagging) String() string { 14264 return awsutil.Prettify(s) 14265} 14266 14267// GoString returns the string representation 14268func (s Tagging) GoString() string { 14269 return s.String() 14270} 14271 14272// Validate inspects the fields of the type to determine if they are valid. 14273func (s *Tagging) Validate() error { 14274 invalidParams := request.ErrInvalidParams{Context: "Tagging"} 14275 if s.TagSet == nil { 14276 invalidParams.Add(request.NewErrParamRequired("TagSet")) 14277 } 14278 if s.TagSet != nil { 14279 for i, v := range s.TagSet { 14280 if v == nil { 14281 continue 14282 } 14283 if err := v.Validate(); err != nil { 14284 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagSet", i), err.(request.ErrInvalidParams)) 14285 } 14286 } 14287 } 14288 14289 if invalidParams.Len() > 0 { 14290 return invalidParams 14291 } 14292 return nil 14293} 14294 14295// SetTagSet sets the TagSet field's value. 14296func (s *Tagging) SetTagSet(v []*S3Tag) *Tagging { 14297 s.TagSet = v 14298 return s 14299} 14300 14301// Specifies when an object transitions to a specified storage class. For more 14302// information about Amazon S3 Lifecycle configuration rules, see Transitioning 14303// objects using Amazon S3 Lifecycle (https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html) 14304// in the Amazon S3 User Guide. 14305type Transition struct { 14306 _ struct{} `type:"structure"` 14307 14308 // Indicates when objects are transitioned to the specified storage class. The 14309 // date value must be in ISO 8601 format. The time is always midnight UTC. 14310 Date *time.Time `type:"timestamp"` 14311 14312 // Indicates the number of days after creation when objects are transitioned 14313 // to the specified storage class. The value must be a positive integer. 14314 Days *int64 `type:"integer"` 14315 14316 // The storage class to which you want the object to transition. 14317 StorageClass *string `type:"string" enum:"TransitionStorageClass"` 14318} 14319 14320// String returns the string representation 14321func (s Transition) String() string { 14322 return awsutil.Prettify(s) 14323} 14324 14325// GoString returns the string representation 14326func (s Transition) GoString() string { 14327 return s.String() 14328} 14329 14330// SetDate sets the Date field's value. 14331func (s *Transition) SetDate(v time.Time) *Transition { 14332 s.Date = &v 14333 return s 14334} 14335 14336// SetDays sets the Days field's value. 14337func (s *Transition) SetDays(v int64) *Transition { 14338 s.Days = &v 14339 return s 14340} 14341 14342// SetStorageClass sets the StorageClass field's value. 14343func (s *Transition) SetStorageClass(v string) *Transition { 14344 s.StorageClass = &v 14345 return s 14346} 14347 14348type UpdateJobPriorityInput struct { 14349 _ struct{} `locationName:"UpdateJobPriorityRequest" type:"structure"` 14350 14351 // The account ID associated with the S3 Batch Operations job. 14352 // 14353 // AccountId is a required field 14354 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 14355 14356 // The ID for the job whose priority you want to update. 14357 // 14358 // JobId is a required field 14359 JobId *string `location:"uri" locationName:"id" min:"5" type:"string" required:"true"` 14360 14361 // The priority you want to assign to this job. 14362 // 14363 // Priority is a required field 14364 Priority *int64 `location:"querystring" locationName:"priority" type:"integer" required:"true"` 14365} 14366 14367// String returns the string representation 14368func (s UpdateJobPriorityInput) String() string { 14369 return awsutil.Prettify(s) 14370} 14371 14372// GoString returns the string representation 14373func (s UpdateJobPriorityInput) GoString() string { 14374 return s.String() 14375} 14376 14377// Validate inspects the fields of the type to determine if they are valid. 14378func (s *UpdateJobPriorityInput) Validate() error { 14379 invalidParams := request.ErrInvalidParams{Context: "UpdateJobPriorityInput"} 14380 if s.AccountId == nil { 14381 invalidParams.Add(request.NewErrParamRequired("AccountId")) 14382 } 14383 if s.AccountId != nil && len(*s.AccountId) < 1 { 14384 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 14385 } 14386 if s.JobId == nil { 14387 invalidParams.Add(request.NewErrParamRequired("JobId")) 14388 } 14389 if s.JobId != nil && len(*s.JobId) < 5 { 14390 invalidParams.Add(request.NewErrParamMinLen("JobId", 5)) 14391 } 14392 if s.Priority == nil { 14393 invalidParams.Add(request.NewErrParamRequired("Priority")) 14394 } 14395 14396 if invalidParams.Len() > 0 { 14397 return invalidParams 14398 } 14399 return nil 14400} 14401 14402// SetAccountId sets the AccountId field's value. 14403func (s *UpdateJobPriorityInput) SetAccountId(v string) *UpdateJobPriorityInput { 14404 s.AccountId = &v 14405 return s 14406} 14407 14408// SetJobId sets the JobId field's value. 14409func (s *UpdateJobPriorityInput) SetJobId(v string) *UpdateJobPriorityInput { 14410 s.JobId = &v 14411 return s 14412} 14413 14414// SetPriority sets the Priority field's value. 14415func (s *UpdateJobPriorityInput) SetPriority(v int64) *UpdateJobPriorityInput { 14416 s.Priority = &v 14417 return s 14418} 14419 14420func (s *UpdateJobPriorityInput) hostLabels() map[string]string { 14421 return map[string]string{ 14422 "AccountId": aws.StringValue(s.AccountId), 14423 } 14424} 14425 14426type UpdateJobPriorityOutput struct { 14427 _ struct{} `type:"structure"` 14428 14429 // The ID for the job whose priority Amazon S3 updated. 14430 // 14431 // JobId is a required field 14432 JobId *string `min:"5" type:"string" required:"true"` 14433 14434 // The new priority assigned to the specified job. 14435 // 14436 // Priority is a required field 14437 Priority *int64 `type:"integer" required:"true"` 14438} 14439 14440// String returns the string representation 14441func (s UpdateJobPriorityOutput) String() string { 14442 return awsutil.Prettify(s) 14443} 14444 14445// GoString returns the string representation 14446func (s UpdateJobPriorityOutput) GoString() string { 14447 return s.String() 14448} 14449 14450// SetJobId sets the JobId field's value. 14451func (s *UpdateJobPriorityOutput) SetJobId(v string) *UpdateJobPriorityOutput { 14452 s.JobId = &v 14453 return s 14454} 14455 14456// SetPriority sets the Priority field's value. 14457func (s *UpdateJobPriorityOutput) SetPriority(v int64) *UpdateJobPriorityOutput { 14458 s.Priority = &v 14459 return s 14460} 14461 14462type UpdateJobStatusInput struct { 14463 _ struct{} `locationName:"UpdateJobStatusRequest" type:"structure"` 14464 14465 // The account ID associated with the S3 Batch Operations job. 14466 // 14467 // AccountId is a required field 14468 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 14469 14470 // The ID of the job whose status you want to update. 14471 // 14472 // JobId is a required field 14473 JobId *string `location:"uri" locationName:"id" min:"5" type:"string" required:"true"` 14474 14475 // The status that you want to move the specified job to. 14476 // 14477 // RequestedJobStatus is a required field 14478 RequestedJobStatus *string `location:"querystring" locationName:"requestedJobStatus" type:"string" required:"true" enum:"RequestedJobStatus"` 14479 14480 // A description of the reason why you want to change the specified job's status. 14481 // This field can be any string up to the maximum length. 14482 StatusUpdateReason *string `location:"querystring" locationName:"statusUpdateReason" min:"1" type:"string"` 14483} 14484 14485// String returns the string representation 14486func (s UpdateJobStatusInput) String() string { 14487 return awsutil.Prettify(s) 14488} 14489 14490// GoString returns the string representation 14491func (s UpdateJobStatusInput) GoString() string { 14492 return s.String() 14493} 14494 14495// Validate inspects the fields of the type to determine if they are valid. 14496func (s *UpdateJobStatusInput) Validate() error { 14497 invalidParams := request.ErrInvalidParams{Context: "UpdateJobStatusInput"} 14498 if s.AccountId == nil { 14499 invalidParams.Add(request.NewErrParamRequired("AccountId")) 14500 } 14501 if s.AccountId != nil && len(*s.AccountId) < 1 { 14502 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 14503 } 14504 if s.JobId == nil { 14505 invalidParams.Add(request.NewErrParamRequired("JobId")) 14506 } 14507 if s.JobId != nil && len(*s.JobId) < 5 { 14508 invalidParams.Add(request.NewErrParamMinLen("JobId", 5)) 14509 } 14510 if s.RequestedJobStatus == nil { 14511 invalidParams.Add(request.NewErrParamRequired("RequestedJobStatus")) 14512 } 14513 if s.StatusUpdateReason != nil && len(*s.StatusUpdateReason) < 1 { 14514 invalidParams.Add(request.NewErrParamMinLen("StatusUpdateReason", 1)) 14515 } 14516 14517 if invalidParams.Len() > 0 { 14518 return invalidParams 14519 } 14520 return nil 14521} 14522 14523// SetAccountId sets the AccountId field's value. 14524func (s *UpdateJobStatusInput) SetAccountId(v string) *UpdateJobStatusInput { 14525 s.AccountId = &v 14526 return s 14527} 14528 14529// SetJobId sets the JobId field's value. 14530func (s *UpdateJobStatusInput) SetJobId(v string) *UpdateJobStatusInput { 14531 s.JobId = &v 14532 return s 14533} 14534 14535// SetRequestedJobStatus sets the RequestedJobStatus field's value. 14536func (s *UpdateJobStatusInput) SetRequestedJobStatus(v string) *UpdateJobStatusInput { 14537 s.RequestedJobStatus = &v 14538 return s 14539} 14540 14541// SetStatusUpdateReason sets the StatusUpdateReason field's value. 14542func (s *UpdateJobStatusInput) SetStatusUpdateReason(v string) *UpdateJobStatusInput { 14543 s.StatusUpdateReason = &v 14544 return s 14545} 14546 14547func (s *UpdateJobStatusInput) hostLabels() map[string]string { 14548 return map[string]string{ 14549 "AccountId": aws.StringValue(s.AccountId), 14550 } 14551} 14552 14553type UpdateJobStatusOutput struct { 14554 _ struct{} `type:"structure"` 14555 14556 // The ID for the job whose status was updated. 14557 JobId *string `min:"5" type:"string"` 14558 14559 // The current status for the specified job. 14560 Status *string `type:"string" enum:"JobStatus"` 14561 14562 // The reason that the specified job's status was updated. 14563 StatusUpdateReason *string `min:"1" type:"string"` 14564} 14565 14566// String returns the string representation 14567func (s UpdateJobStatusOutput) String() string { 14568 return awsutil.Prettify(s) 14569} 14570 14571// GoString returns the string representation 14572func (s UpdateJobStatusOutput) GoString() string { 14573 return s.String() 14574} 14575 14576// SetJobId sets the JobId field's value. 14577func (s *UpdateJobStatusOutput) SetJobId(v string) *UpdateJobStatusOutput { 14578 s.JobId = &v 14579 return s 14580} 14581 14582// SetStatus sets the Status field's value. 14583func (s *UpdateJobStatusOutput) SetStatus(v string) *UpdateJobStatusOutput { 14584 s.Status = &v 14585 return s 14586} 14587 14588// SetStatusUpdateReason sets the StatusUpdateReason field's value. 14589func (s *UpdateJobStatusOutput) SetStatusUpdateReason(v string) *UpdateJobStatusOutput { 14590 s.StatusUpdateReason = &v 14591 return s 14592} 14593 14594// The virtual private cloud (VPC) configuration for an access point. 14595type VpcConfiguration struct { 14596 _ struct{} `type:"structure"` 14597 14598 // If this field is specified, this access point will only allow connections 14599 // from the specified VPC ID. 14600 // 14601 // VpcId is a required field 14602 VpcId *string `min:"1" type:"string" required:"true"` 14603} 14604 14605// String returns the string representation 14606func (s VpcConfiguration) String() string { 14607 return awsutil.Prettify(s) 14608} 14609 14610// GoString returns the string representation 14611func (s VpcConfiguration) GoString() string { 14612 return s.String() 14613} 14614 14615// Validate inspects the fields of the type to determine if they are valid. 14616func (s *VpcConfiguration) Validate() error { 14617 invalidParams := request.ErrInvalidParams{Context: "VpcConfiguration"} 14618 if s.VpcId == nil { 14619 invalidParams.Add(request.NewErrParamRequired("VpcId")) 14620 } 14621 if s.VpcId != nil && len(*s.VpcId) < 1 { 14622 invalidParams.Add(request.NewErrParamMinLen("VpcId", 1)) 14623 } 14624 14625 if invalidParams.Len() > 0 { 14626 return invalidParams 14627 } 14628 return nil 14629} 14630 14631// SetVpcId sets the VpcId field's value. 14632func (s *VpcConfiguration) SetVpcId(v string) *VpcConfiguration { 14633 s.VpcId = &v 14634 return s 14635} 14636 14637const ( 14638 // BucketCannedACLPrivate is a BucketCannedACL enum value 14639 BucketCannedACLPrivate = "private" 14640 14641 // BucketCannedACLPublicRead is a BucketCannedACL enum value 14642 BucketCannedACLPublicRead = "public-read" 14643 14644 // BucketCannedACLPublicReadWrite is a BucketCannedACL enum value 14645 BucketCannedACLPublicReadWrite = "public-read-write" 14646 14647 // BucketCannedACLAuthenticatedRead is a BucketCannedACL enum value 14648 BucketCannedACLAuthenticatedRead = "authenticated-read" 14649) 14650 14651// BucketCannedACL_Values returns all elements of the BucketCannedACL enum 14652func BucketCannedACL_Values() []string { 14653 return []string{ 14654 BucketCannedACLPrivate, 14655 BucketCannedACLPublicRead, 14656 BucketCannedACLPublicReadWrite, 14657 BucketCannedACLAuthenticatedRead, 14658 } 14659} 14660 14661const ( 14662 // BucketLocationConstraintEu is a BucketLocationConstraint enum value 14663 BucketLocationConstraintEu = "EU" 14664 14665 // BucketLocationConstraintEuWest1 is a BucketLocationConstraint enum value 14666 BucketLocationConstraintEuWest1 = "eu-west-1" 14667 14668 // BucketLocationConstraintUsWest1 is a BucketLocationConstraint enum value 14669 BucketLocationConstraintUsWest1 = "us-west-1" 14670 14671 // BucketLocationConstraintUsWest2 is a BucketLocationConstraint enum value 14672 BucketLocationConstraintUsWest2 = "us-west-2" 14673 14674 // BucketLocationConstraintApSouth1 is a BucketLocationConstraint enum value 14675 BucketLocationConstraintApSouth1 = "ap-south-1" 14676 14677 // BucketLocationConstraintApSoutheast1 is a BucketLocationConstraint enum value 14678 BucketLocationConstraintApSoutheast1 = "ap-southeast-1" 14679 14680 // BucketLocationConstraintApSoutheast2 is a BucketLocationConstraint enum value 14681 BucketLocationConstraintApSoutheast2 = "ap-southeast-2" 14682 14683 // BucketLocationConstraintApNortheast1 is a BucketLocationConstraint enum value 14684 BucketLocationConstraintApNortheast1 = "ap-northeast-1" 14685 14686 // BucketLocationConstraintSaEast1 is a BucketLocationConstraint enum value 14687 BucketLocationConstraintSaEast1 = "sa-east-1" 14688 14689 // BucketLocationConstraintCnNorth1 is a BucketLocationConstraint enum value 14690 BucketLocationConstraintCnNorth1 = "cn-north-1" 14691 14692 // BucketLocationConstraintEuCentral1 is a BucketLocationConstraint enum value 14693 BucketLocationConstraintEuCentral1 = "eu-central-1" 14694) 14695 14696// BucketLocationConstraint_Values returns all elements of the BucketLocationConstraint enum 14697func BucketLocationConstraint_Values() []string { 14698 return []string{ 14699 BucketLocationConstraintEu, 14700 BucketLocationConstraintEuWest1, 14701 BucketLocationConstraintUsWest1, 14702 BucketLocationConstraintUsWest2, 14703 BucketLocationConstraintApSouth1, 14704 BucketLocationConstraintApSoutheast1, 14705 BucketLocationConstraintApSoutheast2, 14706 BucketLocationConstraintApNortheast1, 14707 BucketLocationConstraintSaEast1, 14708 BucketLocationConstraintCnNorth1, 14709 BucketLocationConstraintEuCentral1, 14710 } 14711} 14712 14713const ( 14714 // ExpirationStatusEnabled is a ExpirationStatus enum value 14715 ExpirationStatusEnabled = "Enabled" 14716 14717 // ExpirationStatusDisabled is a ExpirationStatus enum value 14718 ExpirationStatusDisabled = "Disabled" 14719) 14720 14721// ExpirationStatus_Values returns all elements of the ExpirationStatus enum 14722func ExpirationStatus_Values() []string { 14723 return []string{ 14724 ExpirationStatusEnabled, 14725 ExpirationStatusDisabled, 14726 } 14727} 14728 14729const ( 14730 // FormatCsv is a Format enum value 14731 FormatCsv = "CSV" 14732 14733 // FormatParquet is a Format enum value 14734 FormatParquet = "Parquet" 14735) 14736 14737// Format_Values returns all elements of the Format enum 14738func Format_Values() []string { 14739 return []string{ 14740 FormatCsv, 14741 FormatParquet, 14742 } 14743} 14744 14745const ( 14746 // JobManifestFieldNameIgnore is a JobManifestFieldName enum value 14747 JobManifestFieldNameIgnore = "Ignore" 14748 14749 // JobManifestFieldNameBucket is a JobManifestFieldName enum value 14750 JobManifestFieldNameBucket = "Bucket" 14751 14752 // JobManifestFieldNameKey is a JobManifestFieldName enum value 14753 JobManifestFieldNameKey = "Key" 14754 14755 // JobManifestFieldNameVersionId is a JobManifestFieldName enum value 14756 JobManifestFieldNameVersionId = "VersionId" 14757) 14758 14759// JobManifestFieldName_Values returns all elements of the JobManifestFieldName enum 14760func JobManifestFieldName_Values() []string { 14761 return []string{ 14762 JobManifestFieldNameIgnore, 14763 JobManifestFieldNameBucket, 14764 JobManifestFieldNameKey, 14765 JobManifestFieldNameVersionId, 14766 } 14767} 14768 14769const ( 14770 // JobManifestFormatS3batchOperationsCsv20180820 is a JobManifestFormat enum value 14771 JobManifestFormatS3batchOperationsCsv20180820 = "S3BatchOperations_CSV_20180820" 14772 14773 // JobManifestFormatS3inventoryReportCsv20161130 is a JobManifestFormat enum value 14774 JobManifestFormatS3inventoryReportCsv20161130 = "S3InventoryReport_CSV_20161130" 14775) 14776 14777// JobManifestFormat_Values returns all elements of the JobManifestFormat enum 14778func JobManifestFormat_Values() []string { 14779 return []string{ 14780 JobManifestFormatS3batchOperationsCsv20180820, 14781 JobManifestFormatS3inventoryReportCsv20161130, 14782 } 14783} 14784 14785const ( 14786 // JobReportFormatReportCsv20180820 is a JobReportFormat enum value 14787 JobReportFormatReportCsv20180820 = "Report_CSV_20180820" 14788) 14789 14790// JobReportFormat_Values returns all elements of the JobReportFormat enum 14791func JobReportFormat_Values() []string { 14792 return []string{ 14793 JobReportFormatReportCsv20180820, 14794 } 14795} 14796 14797const ( 14798 // JobReportScopeAllTasks is a JobReportScope enum value 14799 JobReportScopeAllTasks = "AllTasks" 14800 14801 // JobReportScopeFailedTasksOnly is a JobReportScope enum value 14802 JobReportScopeFailedTasksOnly = "FailedTasksOnly" 14803) 14804 14805// JobReportScope_Values returns all elements of the JobReportScope enum 14806func JobReportScope_Values() []string { 14807 return []string{ 14808 JobReportScopeAllTasks, 14809 JobReportScopeFailedTasksOnly, 14810 } 14811} 14812 14813const ( 14814 // JobStatusActive is a JobStatus enum value 14815 JobStatusActive = "Active" 14816 14817 // JobStatusCancelled is a JobStatus enum value 14818 JobStatusCancelled = "Cancelled" 14819 14820 // JobStatusCancelling is a JobStatus enum value 14821 JobStatusCancelling = "Cancelling" 14822 14823 // JobStatusComplete is a JobStatus enum value 14824 JobStatusComplete = "Complete" 14825 14826 // JobStatusCompleting is a JobStatus enum value 14827 JobStatusCompleting = "Completing" 14828 14829 // JobStatusFailed is a JobStatus enum value 14830 JobStatusFailed = "Failed" 14831 14832 // JobStatusFailing is a JobStatus enum value 14833 JobStatusFailing = "Failing" 14834 14835 // JobStatusNew is a JobStatus enum value 14836 JobStatusNew = "New" 14837 14838 // JobStatusPaused is a JobStatus enum value 14839 JobStatusPaused = "Paused" 14840 14841 // JobStatusPausing is a JobStatus enum value 14842 JobStatusPausing = "Pausing" 14843 14844 // JobStatusPreparing is a JobStatus enum value 14845 JobStatusPreparing = "Preparing" 14846 14847 // JobStatusReady is a JobStatus enum value 14848 JobStatusReady = "Ready" 14849 14850 // JobStatusSuspended is a JobStatus enum value 14851 JobStatusSuspended = "Suspended" 14852) 14853 14854// JobStatus_Values returns all elements of the JobStatus enum 14855func JobStatus_Values() []string { 14856 return []string{ 14857 JobStatusActive, 14858 JobStatusCancelled, 14859 JobStatusCancelling, 14860 JobStatusComplete, 14861 JobStatusCompleting, 14862 JobStatusFailed, 14863 JobStatusFailing, 14864 JobStatusNew, 14865 JobStatusPaused, 14866 JobStatusPausing, 14867 JobStatusPreparing, 14868 JobStatusReady, 14869 JobStatusSuspended, 14870 } 14871} 14872 14873const ( 14874 // NetworkOriginInternet is a NetworkOrigin enum value 14875 NetworkOriginInternet = "Internet" 14876 14877 // NetworkOriginVpc is a NetworkOrigin enum value 14878 NetworkOriginVpc = "VPC" 14879) 14880 14881// NetworkOrigin_Values returns all elements of the NetworkOrigin enum 14882func NetworkOrigin_Values() []string { 14883 return []string{ 14884 NetworkOriginInternet, 14885 NetworkOriginVpc, 14886 } 14887} 14888 14889const ( 14890 // ObjectLambdaAllowedFeatureGetObjectRange is a ObjectLambdaAllowedFeature enum value 14891 ObjectLambdaAllowedFeatureGetObjectRange = "GetObject-Range" 14892 14893 // ObjectLambdaAllowedFeatureGetObjectPartNumber is a ObjectLambdaAllowedFeature enum value 14894 ObjectLambdaAllowedFeatureGetObjectPartNumber = "GetObject-PartNumber" 14895) 14896 14897// ObjectLambdaAllowedFeature_Values returns all elements of the ObjectLambdaAllowedFeature enum 14898func ObjectLambdaAllowedFeature_Values() []string { 14899 return []string{ 14900 ObjectLambdaAllowedFeatureGetObjectRange, 14901 ObjectLambdaAllowedFeatureGetObjectPartNumber, 14902 } 14903} 14904 14905const ( 14906 // ObjectLambdaTransformationConfigurationActionGetObject is a ObjectLambdaTransformationConfigurationAction enum value 14907 ObjectLambdaTransformationConfigurationActionGetObject = "GetObject" 14908) 14909 14910// ObjectLambdaTransformationConfigurationAction_Values returns all elements of the ObjectLambdaTransformationConfigurationAction enum 14911func ObjectLambdaTransformationConfigurationAction_Values() []string { 14912 return []string{ 14913 ObjectLambdaTransformationConfigurationActionGetObject, 14914 } 14915} 14916 14917const ( 14918 // OperationNameLambdaInvoke is a OperationName enum value 14919 OperationNameLambdaInvoke = "LambdaInvoke" 14920 14921 // OperationNameS3putObjectCopy is a OperationName enum value 14922 OperationNameS3putObjectCopy = "S3PutObjectCopy" 14923 14924 // OperationNameS3putObjectAcl is a OperationName enum value 14925 OperationNameS3putObjectAcl = "S3PutObjectAcl" 14926 14927 // OperationNameS3putObjectTagging is a OperationName enum value 14928 OperationNameS3putObjectTagging = "S3PutObjectTagging" 14929 14930 // OperationNameS3deleteObjectTagging is a OperationName enum value 14931 OperationNameS3deleteObjectTagging = "S3DeleteObjectTagging" 14932 14933 // OperationNameS3initiateRestoreObject is a OperationName enum value 14934 OperationNameS3initiateRestoreObject = "S3InitiateRestoreObject" 14935 14936 // OperationNameS3putObjectLegalHold is a OperationName enum value 14937 OperationNameS3putObjectLegalHold = "S3PutObjectLegalHold" 14938 14939 // OperationNameS3putObjectRetention is a OperationName enum value 14940 OperationNameS3putObjectRetention = "S3PutObjectRetention" 14941) 14942 14943// OperationName_Values returns all elements of the OperationName enum 14944func OperationName_Values() []string { 14945 return []string{ 14946 OperationNameLambdaInvoke, 14947 OperationNameS3putObjectCopy, 14948 OperationNameS3putObjectAcl, 14949 OperationNameS3putObjectTagging, 14950 OperationNameS3deleteObjectTagging, 14951 OperationNameS3initiateRestoreObject, 14952 OperationNameS3putObjectLegalHold, 14953 OperationNameS3putObjectRetention, 14954 } 14955} 14956 14957const ( 14958 // OutputSchemaVersionV1 is a OutputSchemaVersion enum value 14959 OutputSchemaVersionV1 = "V_1" 14960) 14961 14962// OutputSchemaVersion_Values returns all elements of the OutputSchemaVersion enum 14963func OutputSchemaVersion_Values() []string { 14964 return []string{ 14965 OutputSchemaVersionV1, 14966 } 14967} 14968 14969const ( 14970 // RequestedJobStatusCancelled is a RequestedJobStatus enum value 14971 RequestedJobStatusCancelled = "Cancelled" 14972 14973 // RequestedJobStatusReady is a RequestedJobStatus enum value 14974 RequestedJobStatusReady = "Ready" 14975) 14976 14977// RequestedJobStatus_Values returns all elements of the RequestedJobStatus enum 14978func RequestedJobStatus_Values() []string { 14979 return []string{ 14980 RequestedJobStatusCancelled, 14981 RequestedJobStatusReady, 14982 } 14983} 14984 14985const ( 14986 // S3CannedAccessControlListPrivate is a S3CannedAccessControlList enum value 14987 S3CannedAccessControlListPrivate = "private" 14988 14989 // S3CannedAccessControlListPublicRead is a S3CannedAccessControlList enum value 14990 S3CannedAccessControlListPublicRead = "public-read" 14991 14992 // S3CannedAccessControlListPublicReadWrite is a S3CannedAccessControlList enum value 14993 S3CannedAccessControlListPublicReadWrite = "public-read-write" 14994 14995 // S3CannedAccessControlListAwsExecRead is a S3CannedAccessControlList enum value 14996 S3CannedAccessControlListAwsExecRead = "aws-exec-read" 14997 14998 // S3CannedAccessControlListAuthenticatedRead is a S3CannedAccessControlList enum value 14999 S3CannedAccessControlListAuthenticatedRead = "authenticated-read" 15000 15001 // S3CannedAccessControlListBucketOwnerRead is a S3CannedAccessControlList enum value 15002 S3CannedAccessControlListBucketOwnerRead = "bucket-owner-read" 15003 15004 // S3CannedAccessControlListBucketOwnerFullControl is a S3CannedAccessControlList enum value 15005 S3CannedAccessControlListBucketOwnerFullControl = "bucket-owner-full-control" 15006) 15007 15008// S3CannedAccessControlList_Values returns all elements of the S3CannedAccessControlList enum 15009func S3CannedAccessControlList_Values() []string { 15010 return []string{ 15011 S3CannedAccessControlListPrivate, 15012 S3CannedAccessControlListPublicRead, 15013 S3CannedAccessControlListPublicReadWrite, 15014 S3CannedAccessControlListAwsExecRead, 15015 S3CannedAccessControlListAuthenticatedRead, 15016 S3CannedAccessControlListBucketOwnerRead, 15017 S3CannedAccessControlListBucketOwnerFullControl, 15018 } 15019} 15020 15021const ( 15022 // S3GlacierJobTierBulk is a S3GlacierJobTier enum value 15023 S3GlacierJobTierBulk = "BULK" 15024 15025 // S3GlacierJobTierStandard is a S3GlacierJobTier enum value 15026 S3GlacierJobTierStandard = "STANDARD" 15027) 15028 15029// S3GlacierJobTier_Values returns all elements of the S3GlacierJobTier enum 15030func S3GlacierJobTier_Values() []string { 15031 return []string{ 15032 S3GlacierJobTierBulk, 15033 S3GlacierJobTierStandard, 15034 } 15035} 15036 15037const ( 15038 // S3GranteeTypeIdentifierId is a S3GranteeTypeIdentifier enum value 15039 S3GranteeTypeIdentifierId = "id" 15040 15041 // S3GranteeTypeIdentifierEmailAddress is a S3GranteeTypeIdentifier enum value 15042 S3GranteeTypeIdentifierEmailAddress = "emailAddress" 15043 15044 // S3GranteeTypeIdentifierUri is a S3GranteeTypeIdentifier enum value 15045 S3GranteeTypeIdentifierUri = "uri" 15046) 15047 15048// S3GranteeTypeIdentifier_Values returns all elements of the S3GranteeTypeIdentifier enum 15049func S3GranteeTypeIdentifier_Values() []string { 15050 return []string{ 15051 S3GranteeTypeIdentifierId, 15052 S3GranteeTypeIdentifierEmailAddress, 15053 S3GranteeTypeIdentifierUri, 15054 } 15055} 15056 15057const ( 15058 // S3MetadataDirectiveCopy is a S3MetadataDirective enum value 15059 S3MetadataDirectiveCopy = "COPY" 15060 15061 // S3MetadataDirectiveReplace is a S3MetadataDirective enum value 15062 S3MetadataDirectiveReplace = "REPLACE" 15063) 15064 15065// S3MetadataDirective_Values returns all elements of the S3MetadataDirective enum 15066func S3MetadataDirective_Values() []string { 15067 return []string{ 15068 S3MetadataDirectiveCopy, 15069 S3MetadataDirectiveReplace, 15070 } 15071} 15072 15073const ( 15074 // S3ObjectLockLegalHoldStatusOff is a S3ObjectLockLegalHoldStatus enum value 15075 S3ObjectLockLegalHoldStatusOff = "OFF" 15076 15077 // S3ObjectLockLegalHoldStatusOn is a S3ObjectLockLegalHoldStatus enum value 15078 S3ObjectLockLegalHoldStatusOn = "ON" 15079) 15080 15081// S3ObjectLockLegalHoldStatus_Values returns all elements of the S3ObjectLockLegalHoldStatus enum 15082func S3ObjectLockLegalHoldStatus_Values() []string { 15083 return []string{ 15084 S3ObjectLockLegalHoldStatusOff, 15085 S3ObjectLockLegalHoldStatusOn, 15086 } 15087} 15088 15089const ( 15090 // S3ObjectLockModeCompliance is a S3ObjectLockMode enum value 15091 S3ObjectLockModeCompliance = "COMPLIANCE" 15092 15093 // S3ObjectLockModeGovernance is a S3ObjectLockMode enum value 15094 S3ObjectLockModeGovernance = "GOVERNANCE" 15095) 15096 15097// S3ObjectLockMode_Values returns all elements of the S3ObjectLockMode enum 15098func S3ObjectLockMode_Values() []string { 15099 return []string{ 15100 S3ObjectLockModeCompliance, 15101 S3ObjectLockModeGovernance, 15102 } 15103} 15104 15105const ( 15106 // S3ObjectLockRetentionModeCompliance is a S3ObjectLockRetentionMode enum value 15107 S3ObjectLockRetentionModeCompliance = "COMPLIANCE" 15108 15109 // S3ObjectLockRetentionModeGovernance is a S3ObjectLockRetentionMode enum value 15110 S3ObjectLockRetentionModeGovernance = "GOVERNANCE" 15111) 15112 15113// S3ObjectLockRetentionMode_Values returns all elements of the S3ObjectLockRetentionMode enum 15114func S3ObjectLockRetentionMode_Values() []string { 15115 return []string{ 15116 S3ObjectLockRetentionModeCompliance, 15117 S3ObjectLockRetentionModeGovernance, 15118 } 15119} 15120 15121const ( 15122 // S3PermissionFullControl is a S3Permission enum value 15123 S3PermissionFullControl = "FULL_CONTROL" 15124 15125 // S3PermissionRead is a S3Permission enum value 15126 S3PermissionRead = "READ" 15127 15128 // S3PermissionWrite is a S3Permission enum value 15129 S3PermissionWrite = "WRITE" 15130 15131 // S3PermissionReadAcp is a S3Permission enum value 15132 S3PermissionReadAcp = "READ_ACP" 15133 15134 // S3PermissionWriteAcp is a S3Permission enum value 15135 S3PermissionWriteAcp = "WRITE_ACP" 15136) 15137 15138// S3Permission_Values returns all elements of the S3Permission enum 15139func S3Permission_Values() []string { 15140 return []string{ 15141 S3PermissionFullControl, 15142 S3PermissionRead, 15143 S3PermissionWrite, 15144 S3PermissionReadAcp, 15145 S3PermissionWriteAcp, 15146 } 15147} 15148 15149const ( 15150 // S3SSEAlgorithmAes256 is a S3SSEAlgorithm enum value 15151 S3SSEAlgorithmAes256 = "AES256" 15152 15153 // S3SSEAlgorithmKms is a S3SSEAlgorithm enum value 15154 S3SSEAlgorithmKms = "KMS" 15155) 15156 15157// S3SSEAlgorithm_Values returns all elements of the S3SSEAlgorithm enum 15158func S3SSEAlgorithm_Values() []string { 15159 return []string{ 15160 S3SSEAlgorithmAes256, 15161 S3SSEAlgorithmKms, 15162 } 15163} 15164 15165const ( 15166 // S3StorageClassStandard is a S3StorageClass enum value 15167 S3StorageClassStandard = "STANDARD" 15168 15169 // S3StorageClassStandardIa is a S3StorageClass enum value 15170 S3StorageClassStandardIa = "STANDARD_IA" 15171 15172 // S3StorageClassOnezoneIa is a S3StorageClass enum value 15173 S3StorageClassOnezoneIa = "ONEZONE_IA" 15174 15175 // S3StorageClassGlacier is a S3StorageClass enum value 15176 S3StorageClassGlacier = "GLACIER" 15177 15178 // S3StorageClassIntelligentTiering is a S3StorageClass enum value 15179 S3StorageClassIntelligentTiering = "INTELLIGENT_TIERING" 15180 15181 // S3StorageClassDeepArchive is a S3StorageClass enum value 15182 S3StorageClassDeepArchive = "DEEP_ARCHIVE" 15183) 15184 15185// S3StorageClass_Values returns all elements of the S3StorageClass enum 15186func S3StorageClass_Values() []string { 15187 return []string{ 15188 S3StorageClassStandard, 15189 S3StorageClassStandardIa, 15190 S3StorageClassOnezoneIa, 15191 S3StorageClassGlacier, 15192 S3StorageClassIntelligentTiering, 15193 S3StorageClassDeepArchive, 15194 } 15195} 15196 15197const ( 15198 // TransitionStorageClassGlacier is a TransitionStorageClass enum value 15199 TransitionStorageClassGlacier = "GLACIER" 15200 15201 // TransitionStorageClassStandardIa is a TransitionStorageClass enum value 15202 TransitionStorageClassStandardIa = "STANDARD_IA" 15203 15204 // TransitionStorageClassOnezoneIa is a TransitionStorageClass enum value 15205 TransitionStorageClassOnezoneIa = "ONEZONE_IA" 15206 15207 // TransitionStorageClassIntelligentTiering is a TransitionStorageClass enum value 15208 TransitionStorageClassIntelligentTiering = "INTELLIGENT_TIERING" 15209 15210 // TransitionStorageClassDeepArchive is a TransitionStorageClass enum value 15211 TransitionStorageClassDeepArchive = "DEEP_ARCHIVE" 15212) 15213 15214// TransitionStorageClass_Values returns all elements of the TransitionStorageClass enum 15215func TransitionStorageClass_Values() []string { 15216 return []string{ 15217 TransitionStorageClassGlacier, 15218 TransitionStorageClassStandardIa, 15219 TransitionStorageClassOnezoneIa, 15220 TransitionStorageClassIntelligentTiering, 15221 TransitionStorageClassDeepArchive, 15222 } 15223} 15224