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 opCreateMultiRegionAccessPoint = "CreateMultiRegionAccessPoint" 436 437// CreateMultiRegionAccessPointRequest generates a "aws/request.Request" representing the 438// client's request for the CreateMultiRegionAccessPoint 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 CreateMultiRegionAccessPoint for more information on using the CreateMultiRegionAccessPoint 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 CreateMultiRegionAccessPointRequest method. 453// req, resp := client.CreateMultiRegionAccessPointRequest(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/CreateMultiRegionAccessPoint 461func (c *S3Control) CreateMultiRegionAccessPointRequest(input *CreateMultiRegionAccessPointInput) (req *request.Request, output *CreateMultiRegionAccessPointOutput) { 462 op := &request.Operation{ 463 Name: opCreateMultiRegionAccessPoint, 464 HTTPMethod: "POST", 465 HTTPPath: "/v20180820/async-requests/mrap/create", 466 } 467 468 if input == nil { 469 input = &CreateMultiRegionAccessPointInput{} 470 } 471 472 output = &CreateMultiRegionAccessPointOutput{} 473 req = c.newRequest(op, input, output) 474 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 475 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 476 req.Handlers.Build.PushBackNamed(request.NamedHandler{ 477 Name: "contentMd5Handler", 478 Fn: checksum.AddBodyContentMD5Handler, 479 }) 480 return 481} 482 483// CreateMultiRegionAccessPoint API operation for AWS S3 Control. 484// 485// Creates a Multi-Region Access Point and associates it with the specified 486// buckets. For more information about creating Multi-Region Access Points, 487// see Creating Multi-Region Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/CreatingMultiRegionAccessPoints.html) 488// in the Amazon S3 User Guide. 489// 490// This action will always be routed to the US West (Oregon) Region. For more 491// information about the restrictions around managing Multi-Region Access Points, 492// see Managing Multi-Region Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/ManagingMultiRegionAccessPoints.html) 493// in the Amazon S3 User Guide. 494// 495// This request is asynchronous, meaning that you might receive a response before 496// the command has completed. When this request provides a response, it provides 497// a token that you can use to monitor the status of the request with DescribeMultiRegionAccessPointOperation. 498// 499// The following actions are related to CreateMultiRegionAccessPoint: 500// 501// * DeleteMultiRegionAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteMultiRegionAccessPoint.html) 502// 503// * DescribeMultiRegionAccessPointOperation (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeMultiRegionAccessPointOperation.html) 504// 505// * GetMultiRegionAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPoint.html) 506// 507// * ListMultiRegionAccessPoints (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListMultiRegionAccessPoints.html) 508// 509// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 510// with awserr.Error's Code and Message methods to get detailed information about 511// the error. 512// 513// See the AWS API reference guide for AWS S3 Control's 514// API operation CreateMultiRegionAccessPoint for usage and error information. 515// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateMultiRegionAccessPoint 516func (c *S3Control) CreateMultiRegionAccessPoint(input *CreateMultiRegionAccessPointInput) (*CreateMultiRegionAccessPointOutput, error) { 517 req, out := c.CreateMultiRegionAccessPointRequest(input) 518 return out, req.Send() 519} 520 521// CreateMultiRegionAccessPointWithContext is the same as CreateMultiRegionAccessPoint with the addition of 522// the ability to pass a context and additional request options. 523// 524// See CreateMultiRegionAccessPoint for details on how to use this API operation. 525// 526// The context must be non-nil and will be used for request cancellation. If 527// the context is nil a panic will occur. In the future the SDK may create 528// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 529// for more information on using Contexts. 530func (c *S3Control) CreateMultiRegionAccessPointWithContext(ctx aws.Context, input *CreateMultiRegionAccessPointInput, opts ...request.Option) (*CreateMultiRegionAccessPointOutput, error) { 531 req, out := c.CreateMultiRegionAccessPointRequest(input) 532 req.SetContext(ctx) 533 req.ApplyOptions(opts...) 534 return out, req.Send() 535} 536 537const opDeleteAccessPoint = "DeleteAccessPoint" 538 539// DeleteAccessPointRequest generates a "aws/request.Request" representing the 540// client's request for the DeleteAccessPoint operation. The "output" return 541// value will be populated with the request's response once the request completes 542// successfully. 543// 544// Use "Send" method on the returned Request to send the API call to the service. 545// the "output" return value is not valid until after Send returns without error. 546// 547// See DeleteAccessPoint for more information on using the DeleteAccessPoint 548// API call, and error handling. 549// 550// This method is useful when you want to inject custom logic or configuration 551// into the SDK's request lifecycle. Such as custom headers, or retry logic. 552// 553// 554// // Example sending a request using the DeleteAccessPointRequest method. 555// req, resp := client.DeleteAccessPointRequest(params) 556// 557// err := req.Send() 558// if err == nil { // resp is now filled 559// fmt.Println(resp) 560// } 561// 562// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessPoint 563func (c *S3Control) DeleteAccessPointRequest(input *DeleteAccessPointInput) (req *request.Request, output *DeleteAccessPointOutput) { 564 op := &request.Operation{ 565 Name: opDeleteAccessPoint, 566 HTTPMethod: "DELETE", 567 HTTPPath: "/v20180820/accesspoint/{name}", 568 } 569 570 if input == nil { 571 input = &DeleteAccessPointInput{} 572 } 573 574 output = &DeleteAccessPointOutput{} 575 req = c.newRequest(op, input, output) 576 // update account id or check if provided input for account id member matches 577 // the account id present in ARN 578 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 579 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 580 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 581 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 582 return 583} 584 585// DeleteAccessPoint API operation for AWS S3 Control. 586// 587// Deletes the specified access point. 588// 589// All Amazon S3 on Outposts REST API requests for this action require an additional 590// parameter of x-amz-outpost-id to be passed with the request and an S3 on 591// Outposts endpoint hostname prefix instead of s3-control. For an example of 592// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 593// endpoint hostname prefix and the x-amz-outpost-id derived using the access 594// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPoint.html#API_control_DeleteAccessPoint_Examples) 595// section. 596// 597// The following actions are related to DeleteAccessPoint: 598// 599// * CreateAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPoint.html) 600// 601// * GetAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html) 602// 603// * ListAccessPoints (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessPoints.html) 604// 605// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 606// with awserr.Error's Code and Message methods to get detailed information about 607// the error. 608// 609// See the AWS API reference guide for AWS S3 Control's 610// API operation DeleteAccessPoint for usage and error information. 611// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessPoint 612func (c *S3Control) DeleteAccessPoint(input *DeleteAccessPointInput) (*DeleteAccessPointOutput, error) { 613 req, out := c.DeleteAccessPointRequest(input) 614 return out, req.Send() 615} 616 617// DeleteAccessPointWithContext is the same as DeleteAccessPoint with the addition of 618// the ability to pass a context and additional request options. 619// 620// See DeleteAccessPoint for details on how to use this API operation. 621// 622// The context must be non-nil and will be used for request cancellation. If 623// the context is nil a panic will occur. In the future the SDK may create 624// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 625// for more information on using Contexts. 626func (c *S3Control) DeleteAccessPointWithContext(ctx aws.Context, input *DeleteAccessPointInput, opts ...request.Option) (*DeleteAccessPointOutput, error) { 627 req, out := c.DeleteAccessPointRequest(input) 628 req.SetContext(ctx) 629 req.ApplyOptions(opts...) 630 return out, req.Send() 631} 632 633const opDeleteAccessPointForObjectLambda = "DeleteAccessPointForObjectLambda" 634 635// DeleteAccessPointForObjectLambdaRequest generates a "aws/request.Request" representing the 636// client's request for the DeleteAccessPointForObjectLambda operation. The "output" return 637// value will be populated with the request's response once the request completes 638// successfully. 639// 640// Use "Send" method on the returned Request to send the API call to the service. 641// the "output" return value is not valid until after Send returns without error. 642// 643// See DeleteAccessPointForObjectLambda for more information on using the DeleteAccessPointForObjectLambda 644// API call, and error handling. 645// 646// This method is useful when you want to inject custom logic or configuration 647// into the SDK's request lifecycle. Such as custom headers, or retry logic. 648// 649// 650// // Example sending a request using the DeleteAccessPointForObjectLambdaRequest method. 651// req, resp := client.DeleteAccessPointForObjectLambdaRequest(params) 652// 653// err := req.Send() 654// if err == nil { // resp is now filled 655// fmt.Println(resp) 656// } 657// 658// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessPointForObjectLambda 659func (c *S3Control) DeleteAccessPointForObjectLambdaRequest(input *DeleteAccessPointForObjectLambdaInput) (req *request.Request, output *DeleteAccessPointForObjectLambdaOutput) { 660 op := &request.Operation{ 661 Name: opDeleteAccessPointForObjectLambda, 662 HTTPMethod: "DELETE", 663 HTTPPath: "/v20180820/accesspointforobjectlambda/{name}", 664 } 665 666 if input == nil { 667 input = &DeleteAccessPointForObjectLambdaInput{} 668 } 669 670 output = &DeleteAccessPointForObjectLambdaOutput{} 671 req = c.newRequest(op, input, output) 672 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 673 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 674 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 675 return 676} 677 678// DeleteAccessPointForObjectLambda API operation for AWS S3 Control. 679// 680// Deletes the specified Object Lambda Access Point. 681// 682// The following actions are related to DeleteAccessPointForObjectLambda: 683// 684// * CreateAccessPointForObjectLambda (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPointForObjectLambda.html) 685// 686// * GetAccessPointForObjectLambda (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointForObjectLambda.html) 687// 688// * ListAccessPointsForObjectLambda (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessPointsForObjectLambda.html) 689// 690// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 691// with awserr.Error's Code and Message methods to get detailed information about 692// the error. 693// 694// See the AWS API reference guide for AWS S3 Control's 695// API operation DeleteAccessPointForObjectLambda for usage and error information. 696// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessPointForObjectLambda 697func (c *S3Control) DeleteAccessPointForObjectLambda(input *DeleteAccessPointForObjectLambdaInput) (*DeleteAccessPointForObjectLambdaOutput, error) { 698 req, out := c.DeleteAccessPointForObjectLambdaRequest(input) 699 return out, req.Send() 700} 701 702// DeleteAccessPointForObjectLambdaWithContext is the same as DeleteAccessPointForObjectLambda with the addition of 703// the ability to pass a context and additional request options. 704// 705// See DeleteAccessPointForObjectLambda for details on how to use this API operation. 706// 707// The context must be non-nil and will be used for request cancellation. If 708// the context is nil a panic will occur. In the future the SDK may create 709// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 710// for more information on using Contexts. 711func (c *S3Control) DeleteAccessPointForObjectLambdaWithContext(ctx aws.Context, input *DeleteAccessPointForObjectLambdaInput, opts ...request.Option) (*DeleteAccessPointForObjectLambdaOutput, error) { 712 req, out := c.DeleteAccessPointForObjectLambdaRequest(input) 713 req.SetContext(ctx) 714 req.ApplyOptions(opts...) 715 return out, req.Send() 716} 717 718const opDeleteAccessPointPolicy = "DeleteAccessPointPolicy" 719 720// DeleteAccessPointPolicyRequest generates a "aws/request.Request" representing the 721// client's request for the DeleteAccessPointPolicy operation. The "output" return 722// value will be populated with the request's response once the request completes 723// successfully. 724// 725// Use "Send" method on the returned Request to send the API call to the service. 726// the "output" return value is not valid until after Send returns without error. 727// 728// See DeleteAccessPointPolicy for more information on using the DeleteAccessPointPolicy 729// API call, and error handling. 730// 731// This method is useful when you want to inject custom logic or configuration 732// into the SDK's request lifecycle. Such as custom headers, or retry logic. 733// 734// 735// // Example sending a request using the DeleteAccessPointPolicyRequest method. 736// req, resp := client.DeleteAccessPointPolicyRequest(params) 737// 738// err := req.Send() 739// if err == nil { // resp is now filled 740// fmt.Println(resp) 741// } 742// 743// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessPointPolicy 744func (c *S3Control) DeleteAccessPointPolicyRequest(input *DeleteAccessPointPolicyInput) (req *request.Request, output *DeleteAccessPointPolicyOutput) { 745 op := &request.Operation{ 746 Name: opDeleteAccessPointPolicy, 747 HTTPMethod: "DELETE", 748 HTTPPath: "/v20180820/accesspoint/{name}/policy", 749 } 750 751 if input == nil { 752 input = &DeleteAccessPointPolicyInput{} 753 } 754 755 output = &DeleteAccessPointPolicyOutput{} 756 req = c.newRequest(op, input, output) 757 // update account id or check if provided input for account id member matches 758 // the account id present in ARN 759 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 760 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 761 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 762 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 763 return 764} 765 766// DeleteAccessPointPolicy API operation for AWS S3 Control. 767// 768// Deletes the access point policy for the specified access point. 769// 770// All Amazon S3 on Outposts REST API requests for this action require an additional 771// parameter of x-amz-outpost-id to be passed with the request and an S3 on 772// Outposts endpoint hostname prefix instead of s3-control. For an example of 773// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 774// endpoint hostname prefix and the x-amz-outpost-id derived using the access 775// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointPolicy.html#API_control_DeleteAccessPointPolicy_Examples) 776// section. 777// 778// The following actions are related to DeleteAccessPointPolicy: 779// 780// * PutAccessPointPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessPointPolicy.html) 781// 782// * GetAccessPointPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointPolicy.html) 783// 784// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 785// with awserr.Error's Code and Message methods to get detailed information about 786// the error. 787// 788// See the AWS API reference guide for AWS S3 Control's 789// API operation DeleteAccessPointPolicy for usage and error information. 790// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessPointPolicy 791func (c *S3Control) DeleteAccessPointPolicy(input *DeleteAccessPointPolicyInput) (*DeleteAccessPointPolicyOutput, error) { 792 req, out := c.DeleteAccessPointPolicyRequest(input) 793 return out, req.Send() 794} 795 796// DeleteAccessPointPolicyWithContext is the same as DeleteAccessPointPolicy with the addition of 797// the ability to pass a context and additional request options. 798// 799// See DeleteAccessPointPolicy for details on how to use this API operation. 800// 801// The context must be non-nil and will be used for request cancellation. If 802// the context is nil a panic will occur. In the future the SDK may create 803// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 804// for more information on using Contexts. 805func (c *S3Control) DeleteAccessPointPolicyWithContext(ctx aws.Context, input *DeleteAccessPointPolicyInput, opts ...request.Option) (*DeleteAccessPointPolicyOutput, error) { 806 req, out := c.DeleteAccessPointPolicyRequest(input) 807 req.SetContext(ctx) 808 req.ApplyOptions(opts...) 809 return out, req.Send() 810} 811 812const opDeleteAccessPointPolicyForObjectLambda = "DeleteAccessPointPolicyForObjectLambda" 813 814// DeleteAccessPointPolicyForObjectLambdaRequest generates a "aws/request.Request" representing the 815// client's request for the DeleteAccessPointPolicyForObjectLambda operation. The "output" return 816// value will be populated with the request's response once the request completes 817// successfully. 818// 819// Use "Send" method on the returned Request to send the API call to the service. 820// the "output" return value is not valid until after Send returns without error. 821// 822// See DeleteAccessPointPolicyForObjectLambda for more information on using the DeleteAccessPointPolicyForObjectLambda 823// API call, and error handling. 824// 825// This method is useful when you want to inject custom logic or configuration 826// into the SDK's request lifecycle. Such as custom headers, or retry logic. 827// 828// 829// // Example sending a request using the DeleteAccessPointPolicyForObjectLambdaRequest method. 830// req, resp := client.DeleteAccessPointPolicyForObjectLambdaRequest(params) 831// 832// err := req.Send() 833// if err == nil { // resp is now filled 834// fmt.Println(resp) 835// } 836// 837// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessPointPolicyForObjectLambda 838func (c *S3Control) DeleteAccessPointPolicyForObjectLambdaRequest(input *DeleteAccessPointPolicyForObjectLambdaInput) (req *request.Request, output *DeleteAccessPointPolicyForObjectLambdaOutput) { 839 op := &request.Operation{ 840 Name: opDeleteAccessPointPolicyForObjectLambda, 841 HTTPMethod: "DELETE", 842 HTTPPath: "/v20180820/accesspointforobjectlambda/{name}/policy", 843 } 844 845 if input == nil { 846 input = &DeleteAccessPointPolicyForObjectLambdaInput{} 847 } 848 849 output = &DeleteAccessPointPolicyForObjectLambdaOutput{} 850 req = c.newRequest(op, input, output) 851 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 852 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 853 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 854 return 855} 856 857// DeleteAccessPointPolicyForObjectLambda API operation for AWS S3 Control. 858// 859// Removes the resource policy for an Object Lambda Access Point. 860// 861// The following actions are related to DeleteAccessPointPolicyForObjectLambda: 862// 863// * GetAccessPointPolicyForObjectLambda (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointPolicyForObjectLambda.html) 864// 865// * PutAccessPointPolicyForObjectLambda (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessPointPolicyForObjectLambda.html) 866// 867// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 868// with awserr.Error's Code and Message methods to get detailed information about 869// the error. 870// 871// See the AWS API reference guide for AWS S3 Control's 872// API operation DeleteAccessPointPolicyForObjectLambda for usage and error information. 873// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessPointPolicyForObjectLambda 874func (c *S3Control) DeleteAccessPointPolicyForObjectLambda(input *DeleteAccessPointPolicyForObjectLambdaInput) (*DeleteAccessPointPolicyForObjectLambdaOutput, error) { 875 req, out := c.DeleteAccessPointPolicyForObjectLambdaRequest(input) 876 return out, req.Send() 877} 878 879// DeleteAccessPointPolicyForObjectLambdaWithContext is the same as DeleteAccessPointPolicyForObjectLambda with the addition of 880// the ability to pass a context and additional request options. 881// 882// See DeleteAccessPointPolicyForObjectLambda for details on how to use this API operation. 883// 884// The context must be non-nil and will be used for request cancellation. If 885// the context is nil a panic will occur. In the future the SDK may create 886// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 887// for more information on using Contexts. 888func (c *S3Control) DeleteAccessPointPolicyForObjectLambdaWithContext(ctx aws.Context, input *DeleteAccessPointPolicyForObjectLambdaInput, opts ...request.Option) (*DeleteAccessPointPolicyForObjectLambdaOutput, error) { 889 req, out := c.DeleteAccessPointPolicyForObjectLambdaRequest(input) 890 req.SetContext(ctx) 891 req.ApplyOptions(opts...) 892 return out, req.Send() 893} 894 895const opDeleteBucket = "DeleteBucket" 896 897// DeleteBucketRequest generates a "aws/request.Request" representing the 898// client's request for the DeleteBucket operation. The "output" return 899// value will be populated with the request's response once the request completes 900// successfully. 901// 902// Use "Send" method on the returned Request to send the API call to the service. 903// the "output" return value is not valid until after Send returns without error. 904// 905// See DeleteBucket for more information on using the DeleteBucket 906// API call, and error handling. 907// 908// This method is useful when you want to inject custom logic or configuration 909// into the SDK's request lifecycle. Such as custom headers, or retry logic. 910// 911// 912// // Example sending a request using the DeleteBucketRequest method. 913// req, resp := client.DeleteBucketRequest(params) 914// 915// err := req.Send() 916// if err == nil { // resp is now filled 917// fmt.Println(resp) 918// } 919// 920// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucket 921func (c *S3Control) DeleteBucketRequest(input *DeleteBucketInput) (req *request.Request, output *DeleteBucketOutput) { 922 op := &request.Operation{ 923 Name: opDeleteBucket, 924 HTTPMethod: "DELETE", 925 HTTPPath: "/v20180820/bucket/{name}", 926 } 927 928 if input == nil { 929 input = &DeleteBucketInput{} 930 } 931 932 output = &DeleteBucketOutput{} 933 req = c.newRequest(op, input, output) 934 // update account id or check if provided input for account id member matches 935 // the account id present in ARN 936 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 937 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 938 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 939 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 940 return 941} 942 943// DeleteBucket API operation for AWS S3 Control. 944// 945// 946// This action deletes an Amazon S3 on Outposts bucket. To delete an S3 bucket, 947// see DeleteBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html) 948// in the Amazon S3 API Reference. 949// 950// Deletes the Amazon S3 on Outposts bucket. All objects (including all object 951// versions and delete markers) in the bucket must be deleted before the bucket 952// itself can be deleted. For more information, see Using Amazon S3 on Outposts 953// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) 954// in Amazon S3 User Guide. 955// 956// All Amazon S3 on Outposts REST API requests for this action require an additional 957// parameter of x-amz-outpost-id to be passed with the request and an S3 on 958// Outposts endpoint hostname prefix instead of s3-control. For an example of 959// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 960// endpoint hostname prefix and the x-amz-outpost-id derived using the access 961// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucket.html#API_control_DeleteBucket_Examples) 962// section. 963// 964// Related Resources 965// 966// * CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html) 967// 968// * GetBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucket.html) 969// 970// * DeleteObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html) 971// 972// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 973// with awserr.Error's Code and Message methods to get detailed information about 974// the error. 975// 976// See the AWS API reference guide for AWS S3 Control's 977// API operation DeleteBucket for usage and error information. 978// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucket 979func (c *S3Control) DeleteBucket(input *DeleteBucketInput) (*DeleteBucketOutput, error) { 980 req, out := c.DeleteBucketRequest(input) 981 return out, req.Send() 982} 983 984// DeleteBucketWithContext is the same as DeleteBucket with the addition of 985// the ability to pass a context and additional request options. 986// 987// See DeleteBucket for details on how to use this API operation. 988// 989// The context must be non-nil and will be used for request cancellation. If 990// the context is nil a panic will occur. In the future the SDK may create 991// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 992// for more information on using Contexts. 993func (c *S3Control) DeleteBucketWithContext(ctx aws.Context, input *DeleteBucketInput, opts ...request.Option) (*DeleteBucketOutput, error) { 994 req, out := c.DeleteBucketRequest(input) 995 req.SetContext(ctx) 996 req.ApplyOptions(opts...) 997 return out, req.Send() 998} 999 1000const opDeleteBucketLifecycleConfiguration = "DeleteBucketLifecycleConfiguration" 1001 1002// DeleteBucketLifecycleConfigurationRequest generates a "aws/request.Request" representing the 1003// client's request for the DeleteBucketLifecycleConfiguration operation. The "output" return 1004// value will be populated with the request's response once the request completes 1005// successfully. 1006// 1007// Use "Send" method on the returned Request to send the API call to the service. 1008// the "output" return value is not valid until after Send returns without error. 1009// 1010// See DeleteBucketLifecycleConfiguration for more information on using the DeleteBucketLifecycleConfiguration 1011// API call, and error handling. 1012// 1013// This method is useful when you want to inject custom logic or configuration 1014// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1015// 1016// 1017// // Example sending a request using the DeleteBucketLifecycleConfigurationRequest method. 1018// req, resp := client.DeleteBucketLifecycleConfigurationRequest(params) 1019// 1020// err := req.Send() 1021// if err == nil { // resp is now filled 1022// fmt.Println(resp) 1023// } 1024// 1025// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketLifecycleConfiguration 1026func (c *S3Control) DeleteBucketLifecycleConfigurationRequest(input *DeleteBucketLifecycleConfigurationInput) (req *request.Request, output *DeleteBucketLifecycleConfigurationOutput) { 1027 op := &request.Operation{ 1028 Name: opDeleteBucketLifecycleConfiguration, 1029 HTTPMethod: "DELETE", 1030 HTTPPath: "/v20180820/bucket/{name}/lifecycleconfiguration", 1031 } 1032 1033 if input == nil { 1034 input = &DeleteBucketLifecycleConfigurationInput{} 1035 } 1036 1037 output = &DeleteBucketLifecycleConfigurationOutput{} 1038 req = c.newRequest(op, input, output) 1039 // update account id or check if provided input for account id member matches 1040 // the account id present in ARN 1041 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 1042 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1043 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 1044 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 1045 return 1046} 1047 1048// DeleteBucketLifecycleConfiguration API operation for AWS S3 Control. 1049// 1050// 1051// This action deletes an Amazon S3 on Outposts bucket's lifecycle configuration. 1052// To delete an S3 bucket's lifecycle configuration, see DeleteBucketLifecycle 1053// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html) 1054// in the Amazon S3 API Reference. 1055// 1056// Deletes the lifecycle configuration from the specified Outposts bucket. Amazon 1057// S3 on Outposts removes all the lifecycle configuration rules in the lifecycle 1058// subresource associated with the bucket. Your objects never expire, and Amazon 1059// S3 on Outposts no longer automatically deletes any objects on the basis of 1060// rules contained in the deleted lifecycle configuration. For more information, 1061// see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) 1062// in Amazon S3 User Guide. 1063// 1064// To use this action, you must have permission to perform the s3-outposts:DeleteLifecycleConfiguration 1065// action. By default, the bucket owner has this permission and the Outposts 1066// bucket owner can grant this permission to others. 1067// 1068// All Amazon S3 on Outposts REST API requests for this action require an additional 1069// parameter of x-amz-outpost-id to be passed with the request and an S3 on 1070// Outposts endpoint hostname prefix instead of s3-control. For an example of 1071// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 1072// endpoint hostname prefix and the x-amz-outpost-id derived using the access 1073// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketLifecycleConfiguration.html#API_control_DeleteBucketLifecycleConfiguration_Examples) 1074// section. 1075// 1076// For more information about object expiration, see Elements to Describe Lifecycle 1077// Actions (https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#intro-lifecycle-rules-actions). 1078// 1079// Related actions include: 1080// 1081// * PutBucketLifecycleConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketLifecycleConfiguration.html) 1082// 1083// * GetBucketLifecycleConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketLifecycleConfiguration.html) 1084// 1085// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1086// with awserr.Error's Code and Message methods to get detailed information about 1087// the error. 1088// 1089// See the AWS API reference guide for AWS S3 Control's 1090// API operation DeleteBucketLifecycleConfiguration for usage and error information. 1091// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketLifecycleConfiguration 1092func (c *S3Control) DeleteBucketLifecycleConfiguration(input *DeleteBucketLifecycleConfigurationInput) (*DeleteBucketLifecycleConfigurationOutput, error) { 1093 req, out := c.DeleteBucketLifecycleConfigurationRequest(input) 1094 return out, req.Send() 1095} 1096 1097// DeleteBucketLifecycleConfigurationWithContext is the same as DeleteBucketLifecycleConfiguration with the addition of 1098// the ability to pass a context and additional request options. 1099// 1100// See DeleteBucketLifecycleConfiguration for details on how to use this API operation. 1101// 1102// The context must be non-nil and will be used for request cancellation. If 1103// the context is nil a panic will occur. In the future the SDK may create 1104// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1105// for more information on using Contexts. 1106func (c *S3Control) DeleteBucketLifecycleConfigurationWithContext(ctx aws.Context, input *DeleteBucketLifecycleConfigurationInput, opts ...request.Option) (*DeleteBucketLifecycleConfigurationOutput, error) { 1107 req, out := c.DeleteBucketLifecycleConfigurationRequest(input) 1108 req.SetContext(ctx) 1109 req.ApplyOptions(opts...) 1110 return out, req.Send() 1111} 1112 1113const opDeleteBucketPolicy = "DeleteBucketPolicy" 1114 1115// DeleteBucketPolicyRequest generates a "aws/request.Request" representing the 1116// client's request for the DeleteBucketPolicy operation. The "output" return 1117// value will be populated with the request's response once the request completes 1118// successfully. 1119// 1120// Use "Send" method on the returned Request to send the API call to the service. 1121// the "output" return value is not valid until after Send returns without error. 1122// 1123// See DeleteBucketPolicy for more information on using the DeleteBucketPolicy 1124// API call, and error handling. 1125// 1126// This method is useful when you want to inject custom logic or configuration 1127// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1128// 1129// 1130// // Example sending a request using the DeleteBucketPolicyRequest method. 1131// req, resp := client.DeleteBucketPolicyRequest(params) 1132// 1133// err := req.Send() 1134// if err == nil { // resp is now filled 1135// fmt.Println(resp) 1136// } 1137// 1138// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketPolicy 1139func (c *S3Control) DeleteBucketPolicyRequest(input *DeleteBucketPolicyInput) (req *request.Request, output *DeleteBucketPolicyOutput) { 1140 op := &request.Operation{ 1141 Name: opDeleteBucketPolicy, 1142 HTTPMethod: "DELETE", 1143 HTTPPath: "/v20180820/bucket/{name}/policy", 1144 } 1145 1146 if input == nil { 1147 input = &DeleteBucketPolicyInput{} 1148 } 1149 1150 output = &DeleteBucketPolicyOutput{} 1151 req = c.newRequest(op, input, output) 1152 // update account id or check if provided input for account id member matches 1153 // the account id present in ARN 1154 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 1155 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1156 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 1157 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 1158 return 1159} 1160 1161// DeleteBucketPolicy API operation for AWS S3 Control. 1162// 1163// 1164// This action deletes an Amazon S3 on Outposts bucket policy. To delete an 1165// S3 bucket policy, see DeleteBucketPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketPolicy.html) 1166// in the Amazon S3 API Reference. 1167// 1168// This implementation of the DELETE action uses the policy subresource to delete 1169// the policy of a specified Amazon S3 on Outposts bucket. If you are using 1170// an identity other than the root user of the Amazon Web Services account that 1171// owns the bucket, the calling identity must have the s3-outposts:DeleteBucketPolicy 1172// permissions on the specified Outposts bucket and belong to the bucket owner's 1173// account to use this action. For more information, see Using Amazon S3 on 1174// Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) 1175// in Amazon S3 User Guide. 1176// 1177// If you don't have DeleteBucketPolicy permissions, Amazon S3 returns a 403 1178// Access Denied error. If you have the correct permissions, but you're not 1179// using an identity that belongs to the bucket owner's account, Amazon S3 returns 1180// a 405 Method Not Allowed error. 1181// 1182// As a security precaution, the root user of the Amazon Web Services account 1183// that owns a bucket can always use this action, even if the policy explicitly 1184// denies the root user the ability to perform this action. 1185// 1186// For more information about bucket policies, see Using Bucket Policies and 1187// User Policies (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html). 1188// 1189// All Amazon S3 on Outposts REST API requests for this action require an additional 1190// parameter of x-amz-outpost-id to be passed with the request and an S3 on 1191// Outposts endpoint hostname prefix instead of s3-control. For an example of 1192// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 1193// endpoint hostname prefix and the x-amz-outpost-id derived using the access 1194// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketPolicy.html#API_control_DeleteBucketPolicy_Examples) 1195// section. 1196// 1197// The following actions are related to DeleteBucketPolicy: 1198// 1199// * GetBucketPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketPolicy.html) 1200// 1201// * PutBucketPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketPolicy.html) 1202// 1203// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1204// with awserr.Error's Code and Message methods to get detailed information about 1205// the error. 1206// 1207// See the AWS API reference guide for AWS S3 Control's 1208// API operation DeleteBucketPolicy for usage and error information. 1209// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketPolicy 1210func (c *S3Control) DeleteBucketPolicy(input *DeleteBucketPolicyInput) (*DeleteBucketPolicyOutput, error) { 1211 req, out := c.DeleteBucketPolicyRequest(input) 1212 return out, req.Send() 1213} 1214 1215// DeleteBucketPolicyWithContext is the same as DeleteBucketPolicy with the addition of 1216// the ability to pass a context and additional request options. 1217// 1218// See DeleteBucketPolicy for details on how to use this API operation. 1219// 1220// The context must be non-nil and will be used for request cancellation. If 1221// the context is nil a panic will occur. In the future the SDK may create 1222// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1223// for more information on using Contexts. 1224func (c *S3Control) DeleteBucketPolicyWithContext(ctx aws.Context, input *DeleteBucketPolicyInput, opts ...request.Option) (*DeleteBucketPolicyOutput, error) { 1225 req, out := c.DeleteBucketPolicyRequest(input) 1226 req.SetContext(ctx) 1227 req.ApplyOptions(opts...) 1228 return out, req.Send() 1229} 1230 1231const opDeleteBucketTagging = "DeleteBucketTagging" 1232 1233// DeleteBucketTaggingRequest generates a "aws/request.Request" representing the 1234// client's request for the DeleteBucketTagging operation. The "output" return 1235// value will be populated with the request's response once the request completes 1236// successfully. 1237// 1238// Use "Send" method on the returned Request to send the API call to the service. 1239// the "output" return value is not valid until after Send returns without error. 1240// 1241// See DeleteBucketTagging for more information on using the DeleteBucketTagging 1242// API call, and error handling. 1243// 1244// This method is useful when you want to inject custom logic or configuration 1245// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1246// 1247// 1248// // Example sending a request using the DeleteBucketTaggingRequest method. 1249// req, resp := client.DeleteBucketTaggingRequest(params) 1250// 1251// err := req.Send() 1252// if err == nil { // resp is now filled 1253// fmt.Println(resp) 1254// } 1255// 1256// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketTagging 1257func (c *S3Control) DeleteBucketTaggingRequest(input *DeleteBucketTaggingInput) (req *request.Request, output *DeleteBucketTaggingOutput) { 1258 op := &request.Operation{ 1259 Name: opDeleteBucketTagging, 1260 HTTPMethod: "DELETE", 1261 HTTPPath: "/v20180820/bucket/{name}/tagging", 1262 } 1263 1264 if input == nil { 1265 input = &DeleteBucketTaggingInput{} 1266 } 1267 1268 output = &DeleteBucketTaggingOutput{} 1269 req = c.newRequest(op, input, output) 1270 // update account id or check if provided input for account id member matches 1271 // the account id present in ARN 1272 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 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// DeleteBucketTagging API operation for AWS S3 Control. 1280// 1281// 1282// This action deletes an Amazon S3 on Outposts bucket's tags. To delete an 1283// S3 bucket tags, see DeleteBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html) 1284// in the Amazon S3 API Reference. 1285// 1286// Deletes the tags from the Outposts bucket. For more information, see Using 1287// Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) 1288// in Amazon S3 User Guide. 1289// 1290// To use this action, you must have permission to perform the PutBucketTagging 1291// action. By default, the bucket owner has this permission and can grant this 1292// permission to others. 1293// 1294// All Amazon S3 on Outposts REST API requests for this action require an additional 1295// parameter of x-amz-outpost-id to be passed with the request and an S3 on 1296// Outposts endpoint hostname prefix instead of s3-control. For an example of 1297// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 1298// endpoint hostname prefix and the x-amz-outpost-id derived using the access 1299// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketTagging.html#API_control_DeleteBucketTagging_Examples) 1300// section. 1301// 1302// The following actions are related to DeleteBucketTagging: 1303// 1304// * GetBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketTagging.html) 1305// 1306// * PutBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketTagging.html) 1307// 1308// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1309// with awserr.Error's Code and Message methods to get detailed information about 1310// the error. 1311// 1312// See the AWS API reference guide for AWS S3 Control's 1313// API operation DeleteBucketTagging for usage and error information. 1314// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketTagging 1315func (c *S3Control) DeleteBucketTagging(input *DeleteBucketTaggingInput) (*DeleteBucketTaggingOutput, error) { 1316 req, out := c.DeleteBucketTaggingRequest(input) 1317 return out, req.Send() 1318} 1319 1320// DeleteBucketTaggingWithContext is the same as DeleteBucketTagging with the addition of 1321// the ability to pass a context and additional request options. 1322// 1323// See DeleteBucketTagging for details on how to use this API operation. 1324// 1325// The context must be non-nil and will be used for request cancellation. If 1326// the context is nil a panic will occur. In the future the SDK may create 1327// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1328// for more information on using Contexts. 1329func (c *S3Control) DeleteBucketTaggingWithContext(ctx aws.Context, input *DeleteBucketTaggingInput, opts ...request.Option) (*DeleteBucketTaggingOutput, error) { 1330 req, out := c.DeleteBucketTaggingRequest(input) 1331 req.SetContext(ctx) 1332 req.ApplyOptions(opts...) 1333 return out, req.Send() 1334} 1335 1336const opDeleteJobTagging = "DeleteJobTagging" 1337 1338// DeleteJobTaggingRequest generates a "aws/request.Request" representing the 1339// client's request for the DeleteJobTagging operation. The "output" return 1340// value will be populated with the request's response once the request completes 1341// successfully. 1342// 1343// Use "Send" method on the returned Request to send the API call to the service. 1344// the "output" return value is not valid until after Send returns without error. 1345// 1346// See DeleteJobTagging for more information on using the DeleteJobTagging 1347// API call, and error handling. 1348// 1349// This method is useful when you want to inject custom logic or configuration 1350// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1351// 1352// 1353// // Example sending a request using the DeleteJobTaggingRequest method. 1354// req, resp := client.DeleteJobTaggingRequest(params) 1355// 1356// err := req.Send() 1357// if err == nil { // resp is now filled 1358// fmt.Println(resp) 1359// } 1360// 1361// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteJobTagging 1362func (c *S3Control) DeleteJobTaggingRequest(input *DeleteJobTaggingInput) (req *request.Request, output *DeleteJobTaggingOutput) { 1363 op := &request.Operation{ 1364 Name: opDeleteJobTagging, 1365 HTTPMethod: "DELETE", 1366 HTTPPath: "/v20180820/jobs/{id}/tagging", 1367 } 1368 1369 if input == nil { 1370 input = &DeleteJobTaggingInput{} 1371 } 1372 1373 output = &DeleteJobTaggingOutput{} 1374 req = c.newRequest(op, input, output) 1375 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1376 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 1377 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 1378 return 1379} 1380 1381// DeleteJobTagging API operation for AWS S3 Control. 1382// 1383// Removes the entire tag set from the specified S3 Batch Operations job. To 1384// use this operation, you must have permission to perform the s3:DeleteJobTagging 1385// action. For more information, see Controlling access and labeling jobs using 1386// tags (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-managing-jobs.html#batch-ops-job-tags) 1387// in the Amazon S3 User Guide. 1388// 1389// Related actions include: 1390// 1391// * CreateJob (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html) 1392// 1393// * GetJobTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetJobTagging.html) 1394// 1395// * PutJobTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutJobTagging.html) 1396// 1397// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1398// with awserr.Error's Code and Message methods to get detailed information about 1399// the error. 1400// 1401// See the AWS API reference guide for AWS S3 Control's 1402// API operation DeleteJobTagging for usage and error information. 1403// 1404// Returned Error Codes: 1405// * ErrCodeInternalServiceException "InternalServiceException" 1406// 1407// * ErrCodeTooManyRequestsException "TooManyRequestsException" 1408// 1409// * ErrCodeNotFoundException "NotFoundException" 1410// 1411// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteJobTagging 1412func (c *S3Control) DeleteJobTagging(input *DeleteJobTaggingInput) (*DeleteJobTaggingOutput, error) { 1413 req, out := c.DeleteJobTaggingRequest(input) 1414 return out, req.Send() 1415} 1416 1417// DeleteJobTaggingWithContext is the same as DeleteJobTagging with the addition of 1418// the ability to pass a context and additional request options. 1419// 1420// See DeleteJobTagging for details on how to use this API operation. 1421// 1422// The context must be non-nil and will be used for request cancellation. If 1423// the context is nil a panic will occur. In the future the SDK may create 1424// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1425// for more information on using Contexts. 1426func (c *S3Control) DeleteJobTaggingWithContext(ctx aws.Context, input *DeleteJobTaggingInput, opts ...request.Option) (*DeleteJobTaggingOutput, error) { 1427 req, out := c.DeleteJobTaggingRequest(input) 1428 req.SetContext(ctx) 1429 req.ApplyOptions(opts...) 1430 return out, req.Send() 1431} 1432 1433const opDeleteMultiRegionAccessPoint = "DeleteMultiRegionAccessPoint" 1434 1435// DeleteMultiRegionAccessPointRequest generates a "aws/request.Request" representing the 1436// client's request for the DeleteMultiRegionAccessPoint operation. The "output" return 1437// value will be populated with the request's response once the request completes 1438// successfully. 1439// 1440// Use "Send" method on the returned Request to send the API call to the service. 1441// the "output" return value is not valid until after Send returns without error. 1442// 1443// See DeleteMultiRegionAccessPoint for more information on using the DeleteMultiRegionAccessPoint 1444// API call, and error handling. 1445// 1446// This method is useful when you want to inject custom logic or configuration 1447// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1448// 1449// 1450// // Example sending a request using the DeleteMultiRegionAccessPointRequest method. 1451// req, resp := client.DeleteMultiRegionAccessPointRequest(params) 1452// 1453// err := req.Send() 1454// if err == nil { // resp is now filled 1455// fmt.Println(resp) 1456// } 1457// 1458// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteMultiRegionAccessPoint 1459func (c *S3Control) DeleteMultiRegionAccessPointRequest(input *DeleteMultiRegionAccessPointInput) (req *request.Request, output *DeleteMultiRegionAccessPointOutput) { 1460 op := &request.Operation{ 1461 Name: opDeleteMultiRegionAccessPoint, 1462 HTTPMethod: "POST", 1463 HTTPPath: "/v20180820/async-requests/mrap/delete", 1464 } 1465 1466 if input == nil { 1467 input = &DeleteMultiRegionAccessPointInput{} 1468 } 1469 1470 output = &DeleteMultiRegionAccessPointOutput{} 1471 req = c.newRequest(op, input, output) 1472 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 1473 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 1474 req.Handlers.Build.PushBackNamed(request.NamedHandler{ 1475 Name: "contentMd5Handler", 1476 Fn: checksum.AddBodyContentMD5Handler, 1477 }) 1478 return 1479} 1480 1481// DeleteMultiRegionAccessPoint API operation for AWS S3 Control. 1482// 1483// Deletes a Multi-Region Access Point. This action does not delete the buckets 1484// associated with the Multi-Region Access Point, only the Multi-Region Access 1485// Point itself. 1486// 1487// This action will always be routed to the US West (Oregon) Region. For more 1488// information about the restrictions around managing Multi-Region Access Points, 1489// see Managing Multi-Region Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/ManagingMultiRegionAccessPoints.html) 1490// in the Amazon S3 User Guide. 1491// 1492// This request is asynchronous, meaning that you might receive a response before 1493// the command has completed. When this request provides a response, it provides 1494// a token that you can use to monitor the status of the request with DescribeMultiRegionAccessPointOperation. 1495// 1496// The following actions are related to DeleteMultiRegionAccessPoint: 1497// 1498// * CreateMultiRegionAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateMultiRegionAccessPoint.html) 1499// 1500// * DescribeMultiRegionAccessPointOperation (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeMultiRegionAccessPointOperation.html) 1501// 1502// * GetMultiRegionAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPoint.html) 1503// 1504// * ListMultiRegionAccessPoints (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListMultiRegionAccessPoints.html) 1505// 1506// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1507// with awserr.Error's Code and Message methods to get detailed information about 1508// the error. 1509// 1510// See the AWS API reference guide for AWS S3 Control's 1511// API operation DeleteMultiRegionAccessPoint for usage and error information. 1512// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteMultiRegionAccessPoint 1513func (c *S3Control) DeleteMultiRegionAccessPoint(input *DeleteMultiRegionAccessPointInput) (*DeleteMultiRegionAccessPointOutput, error) { 1514 req, out := c.DeleteMultiRegionAccessPointRequest(input) 1515 return out, req.Send() 1516} 1517 1518// DeleteMultiRegionAccessPointWithContext is the same as DeleteMultiRegionAccessPoint with the addition of 1519// the ability to pass a context and additional request options. 1520// 1521// See DeleteMultiRegionAccessPoint for details on how to use this API operation. 1522// 1523// The context must be non-nil and will be used for request cancellation. If 1524// the context is nil a panic will occur. In the future the SDK may create 1525// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1526// for more information on using Contexts. 1527func (c *S3Control) DeleteMultiRegionAccessPointWithContext(ctx aws.Context, input *DeleteMultiRegionAccessPointInput, opts ...request.Option) (*DeleteMultiRegionAccessPointOutput, error) { 1528 req, out := c.DeleteMultiRegionAccessPointRequest(input) 1529 req.SetContext(ctx) 1530 req.ApplyOptions(opts...) 1531 return out, req.Send() 1532} 1533 1534const opDeletePublicAccessBlock = "DeletePublicAccessBlock" 1535 1536// DeletePublicAccessBlockRequest generates a "aws/request.Request" representing the 1537// client's request for the DeletePublicAccessBlock operation. The "output" return 1538// value will be populated with the request's response once the request completes 1539// successfully. 1540// 1541// Use "Send" method on the returned Request to send the API call to the service. 1542// the "output" return value is not valid until after Send returns without error. 1543// 1544// See DeletePublicAccessBlock for more information on using the DeletePublicAccessBlock 1545// API call, and error handling. 1546// 1547// This method is useful when you want to inject custom logic or configuration 1548// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1549// 1550// 1551// // Example sending a request using the DeletePublicAccessBlockRequest method. 1552// req, resp := client.DeletePublicAccessBlockRequest(params) 1553// 1554// err := req.Send() 1555// if err == nil { // resp is now filled 1556// fmt.Println(resp) 1557// } 1558// 1559// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeletePublicAccessBlock 1560func (c *S3Control) DeletePublicAccessBlockRequest(input *DeletePublicAccessBlockInput) (req *request.Request, output *DeletePublicAccessBlockOutput) { 1561 op := &request.Operation{ 1562 Name: opDeletePublicAccessBlock, 1563 HTTPMethod: "DELETE", 1564 HTTPPath: "/v20180820/configuration/publicAccessBlock", 1565 } 1566 1567 if input == nil { 1568 input = &DeletePublicAccessBlockInput{} 1569 } 1570 1571 output = &DeletePublicAccessBlockOutput{} 1572 req = c.newRequest(op, input, output) 1573 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1574 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 1575 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 1576 return 1577} 1578 1579// DeletePublicAccessBlock API operation for AWS S3 Control. 1580// 1581// Removes the PublicAccessBlock configuration for an Amazon Web Services account. 1582// For more information, see Using Amazon S3 block public access (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html). 1583// 1584// Related actions include: 1585// 1586// * GetPublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetPublicAccessBlock.html) 1587// 1588// * PutPublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutPublicAccessBlock.html) 1589// 1590// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1591// with awserr.Error's Code and Message methods to get detailed information about 1592// the error. 1593// 1594// See the AWS API reference guide for AWS S3 Control's 1595// API operation DeletePublicAccessBlock for usage and error information. 1596// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeletePublicAccessBlock 1597func (c *S3Control) DeletePublicAccessBlock(input *DeletePublicAccessBlockInput) (*DeletePublicAccessBlockOutput, error) { 1598 req, out := c.DeletePublicAccessBlockRequest(input) 1599 return out, req.Send() 1600} 1601 1602// DeletePublicAccessBlockWithContext is the same as DeletePublicAccessBlock with the addition of 1603// the ability to pass a context and additional request options. 1604// 1605// See DeletePublicAccessBlock for details on how to use this API operation. 1606// 1607// The context must be non-nil and will be used for request cancellation. If 1608// the context is nil a panic will occur. In the future the SDK may create 1609// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1610// for more information on using Contexts. 1611func (c *S3Control) DeletePublicAccessBlockWithContext(ctx aws.Context, input *DeletePublicAccessBlockInput, opts ...request.Option) (*DeletePublicAccessBlockOutput, error) { 1612 req, out := c.DeletePublicAccessBlockRequest(input) 1613 req.SetContext(ctx) 1614 req.ApplyOptions(opts...) 1615 return out, req.Send() 1616} 1617 1618const opDeleteStorageLensConfiguration = "DeleteStorageLensConfiguration" 1619 1620// DeleteStorageLensConfigurationRequest generates a "aws/request.Request" representing the 1621// client's request for the DeleteStorageLensConfiguration operation. The "output" return 1622// value will be populated with the request's response once the request completes 1623// successfully. 1624// 1625// Use "Send" method on the returned Request to send the API call to the service. 1626// the "output" return value is not valid until after Send returns without error. 1627// 1628// See DeleteStorageLensConfiguration for more information on using the DeleteStorageLensConfiguration 1629// API call, and error handling. 1630// 1631// This method is useful when you want to inject custom logic or configuration 1632// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1633// 1634// 1635// // Example sending a request using the DeleteStorageLensConfigurationRequest method. 1636// req, resp := client.DeleteStorageLensConfigurationRequest(params) 1637// 1638// err := req.Send() 1639// if err == nil { // resp is now filled 1640// fmt.Println(resp) 1641// } 1642// 1643// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteStorageLensConfiguration 1644func (c *S3Control) DeleteStorageLensConfigurationRequest(input *DeleteStorageLensConfigurationInput) (req *request.Request, output *DeleteStorageLensConfigurationOutput) { 1645 op := &request.Operation{ 1646 Name: opDeleteStorageLensConfiguration, 1647 HTTPMethod: "DELETE", 1648 HTTPPath: "/v20180820/storagelens/{storagelensid}", 1649 } 1650 1651 if input == nil { 1652 input = &DeleteStorageLensConfigurationInput{} 1653 } 1654 1655 output = &DeleteStorageLensConfigurationOutput{} 1656 req = c.newRequest(op, input, output) 1657 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1658 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 1659 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 1660 return 1661} 1662 1663// DeleteStorageLensConfiguration API operation for AWS S3 Control. 1664// 1665// Deletes the Amazon S3 Storage Lens configuration. For more information about 1666// S3 Storage Lens, see Assessing your storage activity and usage with Amazon 1667// S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html) 1668// in the Amazon S3 User Guide. 1669// 1670// To use this action, you must have permission to perform the s3:DeleteStorageLensConfiguration 1671// action. For more information, see Setting permissions to use Amazon S3 Storage 1672// Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html) 1673// in the Amazon S3 User Guide. 1674// 1675// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1676// with awserr.Error's Code and Message methods to get detailed information about 1677// the error. 1678// 1679// See the AWS API reference guide for AWS S3 Control's 1680// API operation DeleteStorageLensConfiguration for usage and error information. 1681// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteStorageLensConfiguration 1682func (c *S3Control) DeleteStorageLensConfiguration(input *DeleteStorageLensConfigurationInput) (*DeleteStorageLensConfigurationOutput, error) { 1683 req, out := c.DeleteStorageLensConfigurationRequest(input) 1684 return out, req.Send() 1685} 1686 1687// DeleteStorageLensConfigurationWithContext is the same as DeleteStorageLensConfiguration with the addition of 1688// the ability to pass a context and additional request options. 1689// 1690// See DeleteStorageLensConfiguration for details on how to use this API operation. 1691// 1692// The context must be non-nil and will be used for request cancellation. If 1693// the context is nil a panic will occur. In the future the SDK may create 1694// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1695// for more information on using Contexts. 1696func (c *S3Control) DeleteStorageLensConfigurationWithContext(ctx aws.Context, input *DeleteStorageLensConfigurationInput, opts ...request.Option) (*DeleteStorageLensConfigurationOutput, error) { 1697 req, out := c.DeleteStorageLensConfigurationRequest(input) 1698 req.SetContext(ctx) 1699 req.ApplyOptions(opts...) 1700 return out, req.Send() 1701} 1702 1703const opDeleteStorageLensConfigurationTagging = "DeleteStorageLensConfigurationTagging" 1704 1705// DeleteStorageLensConfigurationTaggingRequest generates a "aws/request.Request" representing the 1706// client's request for the DeleteStorageLensConfigurationTagging operation. The "output" return 1707// value will be populated with the request's response once the request completes 1708// successfully. 1709// 1710// Use "Send" method on the returned Request to send the API call to the service. 1711// the "output" return value is not valid until after Send returns without error. 1712// 1713// See DeleteStorageLensConfigurationTagging for more information on using the DeleteStorageLensConfigurationTagging 1714// API call, and error handling. 1715// 1716// This method is useful when you want to inject custom logic or configuration 1717// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1718// 1719// 1720// // Example sending a request using the DeleteStorageLensConfigurationTaggingRequest method. 1721// req, resp := client.DeleteStorageLensConfigurationTaggingRequest(params) 1722// 1723// err := req.Send() 1724// if err == nil { // resp is now filled 1725// fmt.Println(resp) 1726// } 1727// 1728// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteStorageLensConfigurationTagging 1729func (c *S3Control) DeleteStorageLensConfigurationTaggingRequest(input *DeleteStorageLensConfigurationTaggingInput) (req *request.Request, output *DeleteStorageLensConfigurationTaggingOutput) { 1730 op := &request.Operation{ 1731 Name: opDeleteStorageLensConfigurationTagging, 1732 HTTPMethod: "DELETE", 1733 HTTPPath: "/v20180820/storagelens/{storagelensid}/tagging", 1734 } 1735 1736 if input == nil { 1737 input = &DeleteStorageLensConfigurationTaggingInput{} 1738 } 1739 1740 output = &DeleteStorageLensConfigurationTaggingOutput{} 1741 req = c.newRequest(op, input, output) 1742 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1743 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 1744 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 1745 return 1746} 1747 1748// DeleteStorageLensConfigurationTagging API operation for AWS S3 Control. 1749// 1750// Deletes the Amazon S3 Storage Lens configuration tags. For more information 1751// about S3 Storage Lens, see Assessing your storage activity and usage with 1752// Amazon S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html) 1753// in the Amazon S3 User Guide. 1754// 1755// To use this action, you must have permission to perform the s3:DeleteStorageLensConfigurationTagging 1756// action. For more information, see Setting permissions to use Amazon S3 Storage 1757// Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html) 1758// in the Amazon S3 User Guide. 1759// 1760// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1761// with awserr.Error's Code and Message methods to get detailed information about 1762// the error. 1763// 1764// See the AWS API reference guide for AWS S3 Control's 1765// API operation DeleteStorageLensConfigurationTagging for usage and error information. 1766// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteStorageLensConfigurationTagging 1767func (c *S3Control) DeleteStorageLensConfigurationTagging(input *DeleteStorageLensConfigurationTaggingInput) (*DeleteStorageLensConfigurationTaggingOutput, error) { 1768 req, out := c.DeleteStorageLensConfigurationTaggingRequest(input) 1769 return out, req.Send() 1770} 1771 1772// DeleteStorageLensConfigurationTaggingWithContext is the same as DeleteStorageLensConfigurationTagging with the addition of 1773// the ability to pass a context and additional request options. 1774// 1775// See DeleteStorageLensConfigurationTagging for details on how to use this API operation. 1776// 1777// The context must be non-nil and will be used for request cancellation. If 1778// the context is nil a panic will occur. In the future the SDK may create 1779// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1780// for more information on using Contexts. 1781func (c *S3Control) DeleteStorageLensConfigurationTaggingWithContext(ctx aws.Context, input *DeleteStorageLensConfigurationTaggingInput, opts ...request.Option) (*DeleteStorageLensConfigurationTaggingOutput, error) { 1782 req, out := c.DeleteStorageLensConfigurationTaggingRequest(input) 1783 req.SetContext(ctx) 1784 req.ApplyOptions(opts...) 1785 return out, req.Send() 1786} 1787 1788const opDescribeJob = "DescribeJob" 1789 1790// DescribeJobRequest generates a "aws/request.Request" representing the 1791// client's request for the DescribeJob operation. The "output" return 1792// value will be populated with the request's response once the request completes 1793// successfully. 1794// 1795// Use "Send" method on the returned Request to send the API call to the service. 1796// the "output" return value is not valid until after Send returns without error. 1797// 1798// See DescribeJob for more information on using the DescribeJob 1799// API call, and error handling. 1800// 1801// This method is useful when you want to inject custom logic or configuration 1802// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1803// 1804// 1805// // Example sending a request using the DescribeJobRequest method. 1806// req, resp := client.DescribeJobRequest(params) 1807// 1808// err := req.Send() 1809// if err == nil { // resp is now filled 1810// fmt.Println(resp) 1811// } 1812// 1813// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DescribeJob 1814func (c *S3Control) DescribeJobRequest(input *DescribeJobInput) (req *request.Request, output *DescribeJobOutput) { 1815 op := &request.Operation{ 1816 Name: opDescribeJob, 1817 HTTPMethod: "GET", 1818 HTTPPath: "/v20180820/jobs/{id}", 1819 } 1820 1821 if input == nil { 1822 input = &DescribeJobInput{} 1823 } 1824 1825 output = &DescribeJobOutput{} 1826 req = c.newRequest(op, input, output) 1827 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 1828 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 1829 return 1830} 1831 1832// DescribeJob API operation for AWS S3 Control. 1833// 1834// Retrieves the configuration parameters and status for a Batch Operations 1835// job. For more information, see S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html) 1836// in the Amazon S3 User Guide. 1837// 1838// Related actions include: 1839// 1840// * CreateJob (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html) 1841// 1842// * ListJobs (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListJobs.html) 1843// 1844// * UpdateJobPriority (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobPriority.html) 1845// 1846// * UpdateJobStatus (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobStatus.html) 1847// 1848// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1849// with awserr.Error's Code and Message methods to get detailed information about 1850// the error. 1851// 1852// See the AWS API reference guide for AWS S3 Control's 1853// API operation DescribeJob for usage and error information. 1854// 1855// Returned Error Codes: 1856// * ErrCodeBadRequestException "BadRequestException" 1857// 1858// * ErrCodeTooManyRequestsException "TooManyRequestsException" 1859// 1860// * ErrCodeNotFoundException "NotFoundException" 1861// 1862// * ErrCodeInternalServiceException "InternalServiceException" 1863// 1864// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DescribeJob 1865func (c *S3Control) DescribeJob(input *DescribeJobInput) (*DescribeJobOutput, error) { 1866 req, out := c.DescribeJobRequest(input) 1867 return out, req.Send() 1868} 1869 1870// DescribeJobWithContext is the same as DescribeJob with the addition of 1871// the ability to pass a context and additional request options. 1872// 1873// See DescribeJob for details on how to use this API operation. 1874// 1875// The context must be non-nil and will be used for request cancellation. If 1876// the context is nil a panic will occur. In the future the SDK may create 1877// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1878// for more information on using Contexts. 1879func (c *S3Control) DescribeJobWithContext(ctx aws.Context, input *DescribeJobInput, opts ...request.Option) (*DescribeJobOutput, error) { 1880 req, out := c.DescribeJobRequest(input) 1881 req.SetContext(ctx) 1882 req.ApplyOptions(opts...) 1883 return out, req.Send() 1884} 1885 1886const opDescribeMultiRegionAccessPointOperation = "DescribeMultiRegionAccessPointOperation" 1887 1888// DescribeMultiRegionAccessPointOperationRequest generates a "aws/request.Request" representing the 1889// client's request for the DescribeMultiRegionAccessPointOperation operation. The "output" return 1890// value will be populated with the request's response once the request completes 1891// successfully. 1892// 1893// Use "Send" method on the returned Request to send the API call to the service. 1894// the "output" return value is not valid until after Send returns without error. 1895// 1896// See DescribeMultiRegionAccessPointOperation for more information on using the DescribeMultiRegionAccessPointOperation 1897// API call, and error handling. 1898// 1899// This method is useful when you want to inject custom logic or configuration 1900// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1901// 1902// 1903// // Example sending a request using the DescribeMultiRegionAccessPointOperationRequest method. 1904// req, resp := client.DescribeMultiRegionAccessPointOperationRequest(params) 1905// 1906// err := req.Send() 1907// if err == nil { // resp is now filled 1908// fmt.Println(resp) 1909// } 1910// 1911// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DescribeMultiRegionAccessPointOperation 1912func (c *S3Control) DescribeMultiRegionAccessPointOperationRequest(input *DescribeMultiRegionAccessPointOperationInput) (req *request.Request, output *DescribeMultiRegionAccessPointOperationOutput) { 1913 op := &request.Operation{ 1914 Name: opDescribeMultiRegionAccessPointOperation, 1915 HTTPMethod: "GET", 1916 HTTPPath: "/v20180820/async-requests/mrap/{request_token+}", 1917 } 1918 1919 if input == nil { 1920 input = &DescribeMultiRegionAccessPointOperationInput{} 1921 } 1922 1923 output = &DescribeMultiRegionAccessPointOperationOutput{} 1924 req = c.newRequest(op, input, output) 1925 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 1926 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 1927 req.Handlers.Build.PushBackNamed(request.NamedHandler{ 1928 Name: "contentMd5Handler", 1929 Fn: checksum.AddBodyContentMD5Handler, 1930 }) 1931 return 1932} 1933 1934// DescribeMultiRegionAccessPointOperation API operation for AWS S3 Control. 1935// 1936// Retrieves the status of an asynchronous request to manage a Multi-Region 1937// Access Point. For more information about managing Multi-Region Access Points 1938// and how asynchronous requests work, see Managing Multi-Region Access Points 1939// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/ManagingMultiRegionAccessPoints.html) 1940// in the Amazon S3 User Guide. 1941// 1942// The following actions are related to GetMultiRegionAccessPoint: 1943// 1944// * CreateMultiRegionAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateMultiRegionAccessPoint.html) 1945// 1946// * DeleteMultiRegionAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteMultiRegionAccessPoint.html) 1947// 1948// * GetMultiRegionAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPoint.html) 1949// 1950// * ListMultiRegionAccessPoints (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListMultiRegionAccessPoints.html) 1951// 1952// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1953// with awserr.Error's Code and Message methods to get detailed information about 1954// the error. 1955// 1956// See the AWS API reference guide for AWS S3 Control's 1957// API operation DescribeMultiRegionAccessPointOperation for usage and error information. 1958// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DescribeMultiRegionAccessPointOperation 1959func (c *S3Control) DescribeMultiRegionAccessPointOperation(input *DescribeMultiRegionAccessPointOperationInput) (*DescribeMultiRegionAccessPointOperationOutput, error) { 1960 req, out := c.DescribeMultiRegionAccessPointOperationRequest(input) 1961 return out, req.Send() 1962} 1963 1964// DescribeMultiRegionAccessPointOperationWithContext is the same as DescribeMultiRegionAccessPointOperation with the addition of 1965// the ability to pass a context and additional request options. 1966// 1967// See DescribeMultiRegionAccessPointOperation for details on how to use this API operation. 1968// 1969// The context must be non-nil and will be used for request cancellation. If 1970// the context is nil a panic will occur. In the future the SDK may create 1971// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1972// for more information on using Contexts. 1973func (c *S3Control) DescribeMultiRegionAccessPointOperationWithContext(ctx aws.Context, input *DescribeMultiRegionAccessPointOperationInput, opts ...request.Option) (*DescribeMultiRegionAccessPointOperationOutput, error) { 1974 req, out := c.DescribeMultiRegionAccessPointOperationRequest(input) 1975 req.SetContext(ctx) 1976 req.ApplyOptions(opts...) 1977 return out, req.Send() 1978} 1979 1980const opGetAccessPoint = "GetAccessPoint" 1981 1982// GetAccessPointRequest generates a "aws/request.Request" representing the 1983// client's request for the GetAccessPoint operation. The "output" return 1984// value will be populated with the request's response once the request completes 1985// successfully. 1986// 1987// Use "Send" method on the returned Request to send the API call to the service. 1988// the "output" return value is not valid until after Send returns without error. 1989// 1990// See GetAccessPoint for more information on using the GetAccessPoint 1991// API call, and error handling. 1992// 1993// This method is useful when you want to inject custom logic or configuration 1994// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1995// 1996// 1997// // Example sending a request using the GetAccessPointRequest method. 1998// req, resp := client.GetAccessPointRequest(params) 1999// 2000// err := req.Send() 2001// if err == nil { // resp is now filled 2002// fmt.Println(resp) 2003// } 2004// 2005// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPoint 2006func (c *S3Control) GetAccessPointRequest(input *GetAccessPointInput) (req *request.Request, output *GetAccessPointOutput) { 2007 op := &request.Operation{ 2008 Name: opGetAccessPoint, 2009 HTTPMethod: "GET", 2010 HTTPPath: "/v20180820/accesspoint/{name}", 2011 } 2012 2013 if input == nil { 2014 input = &GetAccessPointInput{} 2015 } 2016 2017 output = &GetAccessPointOutput{} 2018 req = c.newRequest(op, input, output) 2019 // update account id or check if provided input for account id member matches 2020 // the account id present in ARN 2021 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 2022 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 2023 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 2024 return 2025} 2026 2027// GetAccessPoint API operation for AWS S3 Control. 2028// 2029// Returns configuration information about the specified access point. 2030// 2031// All Amazon S3 on Outposts REST API requests for this action require an additional 2032// parameter of x-amz-outpost-id to be passed with the request and an S3 on 2033// Outposts endpoint hostname prefix instead of s3-control. For an example of 2034// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 2035// endpoint hostname prefix and the x-amz-outpost-id derived using the access 2036// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html#API_control_GetAccessPoint_Examples) 2037// section. 2038// 2039// The following actions are related to GetAccessPoint: 2040// 2041// * CreateAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPoint.html) 2042// 2043// * DeleteAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPoint.html) 2044// 2045// * ListAccessPoints (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessPoints.html) 2046// 2047// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2048// with awserr.Error's Code and Message methods to get detailed information about 2049// the error. 2050// 2051// See the AWS API reference guide for AWS S3 Control's 2052// API operation GetAccessPoint for usage and error information. 2053// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPoint 2054func (c *S3Control) GetAccessPoint(input *GetAccessPointInput) (*GetAccessPointOutput, error) { 2055 req, out := c.GetAccessPointRequest(input) 2056 return out, req.Send() 2057} 2058 2059// GetAccessPointWithContext is the same as GetAccessPoint with the addition of 2060// the ability to pass a context and additional request options. 2061// 2062// See GetAccessPoint for details on how to use this API operation. 2063// 2064// The context must be non-nil and will be used for request cancellation. If 2065// the context is nil a panic will occur. In the future the SDK may create 2066// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2067// for more information on using Contexts. 2068func (c *S3Control) GetAccessPointWithContext(ctx aws.Context, input *GetAccessPointInput, opts ...request.Option) (*GetAccessPointOutput, error) { 2069 req, out := c.GetAccessPointRequest(input) 2070 req.SetContext(ctx) 2071 req.ApplyOptions(opts...) 2072 return out, req.Send() 2073} 2074 2075const opGetAccessPointConfigurationForObjectLambda = "GetAccessPointConfigurationForObjectLambda" 2076 2077// GetAccessPointConfigurationForObjectLambdaRequest generates a "aws/request.Request" representing the 2078// client's request for the GetAccessPointConfigurationForObjectLambda operation. The "output" return 2079// value will be populated with the request's response once the request completes 2080// successfully. 2081// 2082// Use "Send" method on the returned Request to send the API call to the service. 2083// the "output" return value is not valid until after Send returns without error. 2084// 2085// See GetAccessPointConfigurationForObjectLambda for more information on using the GetAccessPointConfigurationForObjectLambda 2086// API call, and error handling. 2087// 2088// This method is useful when you want to inject custom logic or configuration 2089// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2090// 2091// 2092// // Example sending a request using the GetAccessPointConfigurationForObjectLambdaRequest method. 2093// req, resp := client.GetAccessPointConfigurationForObjectLambdaRequest(params) 2094// 2095// err := req.Send() 2096// if err == nil { // resp is now filled 2097// fmt.Println(resp) 2098// } 2099// 2100// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointConfigurationForObjectLambda 2101func (c *S3Control) GetAccessPointConfigurationForObjectLambdaRequest(input *GetAccessPointConfigurationForObjectLambdaInput) (req *request.Request, output *GetAccessPointConfigurationForObjectLambdaOutput) { 2102 op := &request.Operation{ 2103 Name: opGetAccessPointConfigurationForObjectLambda, 2104 HTTPMethod: "GET", 2105 HTTPPath: "/v20180820/accesspointforobjectlambda/{name}/configuration", 2106 } 2107 2108 if input == nil { 2109 input = &GetAccessPointConfigurationForObjectLambdaInput{} 2110 } 2111 2112 output = &GetAccessPointConfigurationForObjectLambdaOutput{} 2113 req = c.newRequest(op, input, output) 2114 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 2115 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 2116 return 2117} 2118 2119// GetAccessPointConfigurationForObjectLambda API operation for AWS S3 Control. 2120// 2121// Returns configuration for an Object Lambda Access Point. 2122// 2123// The following actions are related to GetAccessPointConfigurationForObjectLambda: 2124// 2125// * PutAccessPointConfigurationForObjectLambda (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessPointConfigurationForObjectLambda.html) 2126// 2127// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2128// with awserr.Error's Code and Message methods to get detailed information about 2129// the error. 2130// 2131// See the AWS API reference guide for AWS S3 Control's 2132// API operation GetAccessPointConfigurationForObjectLambda for usage and error information. 2133// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointConfigurationForObjectLambda 2134func (c *S3Control) GetAccessPointConfigurationForObjectLambda(input *GetAccessPointConfigurationForObjectLambdaInput) (*GetAccessPointConfigurationForObjectLambdaOutput, error) { 2135 req, out := c.GetAccessPointConfigurationForObjectLambdaRequest(input) 2136 return out, req.Send() 2137} 2138 2139// GetAccessPointConfigurationForObjectLambdaWithContext is the same as GetAccessPointConfigurationForObjectLambda with the addition of 2140// the ability to pass a context and additional request options. 2141// 2142// See GetAccessPointConfigurationForObjectLambda for details on how to use this API operation. 2143// 2144// The context must be non-nil and will be used for request cancellation. If 2145// the context is nil a panic will occur. In the future the SDK may create 2146// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2147// for more information on using Contexts. 2148func (c *S3Control) GetAccessPointConfigurationForObjectLambdaWithContext(ctx aws.Context, input *GetAccessPointConfigurationForObjectLambdaInput, opts ...request.Option) (*GetAccessPointConfigurationForObjectLambdaOutput, error) { 2149 req, out := c.GetAccessPointConfigurationForObjectLambdaRequest(input) 2150 req.SetContext(ctx) 2151 req.ApplyOptions(opts...) 2152 return out, req.Send() 2153} 2154 2155const opGetAccessPointForObjectLambda = "GetAccessPointForObjectLambda" 2156 2157// GetAccessPointForObjectLambdaRequest generates a "aws/request.Request" representing the 2158// client's request for the GetAccessPointForObjectLambda operation. The "output" return 2159// value will be populated with the request's response once the request completes 2160// successfully. 2161// 2162// Use "Send" method on the returned Request to send the API call to the service. 2163// the "output" return value is not valid until after Send returns without error. 2164// 2165// See GetAccessPointForObjectLambda for more information on using the GetAccessPointForObjectLambda 2166// API call, and error handling. 2167// 2168// This method is useful when you want to inject custom logic or configuration 2169// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2170// 2171// 2172// // Example sending a request using the GetAccessPointForObjectLambdaRequest method. 2173// req, resp := client.GetAccessPointForObjectLambdaRequest(params) 2174// 2175// err := req.Send() 2176// if err == nil { // resp is now filled 2177// fmt.Println(resp) 2178// } 2179// 2180// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointForObjectLambda 2181func (c *S3Control) GetAccessPointForObjectLambdaRequest(input *GetAccessPointForObjectLambdaInput) (req *request.Request, output *GetAccessPointForObjectLambdaOutput) { 2182 op := &request.Operation{ 2183 Name: opGetAccessPointForObjectLambda, 2184 HTTPMethod: "GET", 2185 HTTPPath: "/v20180820/accesspointforobjectlambda/{name}", 2186 } 2187 2188 if input == nil { 2189 input = &GetAccessPointForObjectLambdaInput{} 2190 } 2191 2192 output = &GetAccessPointForObjectLambdaOutput{} 2193 req = c.newRequest(op, input, output) 2194 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 2195 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 2196 return 2197} 2198 2199// GetAccessPointForObjectLambda API operation for AWS S3 Control. 2200// 2201// Returns configuration information about the specified Object Lambda Access 2202// Point 2203// 2204// The following actions are related to GetAccessPointForObjectLambda: 2205// 2206// * CreateAccessPointForObjectLambda (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPointForObjectLambda.html) 2207// 2208// * DeleteAccessPointForObjectLambda (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointForObjectLambda.html) 2209// 2210// * ListAccessPointsForObjectLambda (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessPointsForObjectLambda.html) 2211// 2212// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2213// with awserr.Error's Code and Message methods to get detailed information about 2214// the error. 2215// 2216// See the AWS API reference guide for AWS S3 Control's 2217// API operation GetAccessPointForObjectLambda for usage and error information. 2218// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointForObjectLambda 2219func (c *S3Control) GetAccessPointForObjectLambda(input *GetAccessPointForObjectLambdaInput) (*GetAccessPointForObjectLambdaOutput, error) { 2220 req, out := c.GetAccessPointForObjectLambdaRequest(input) 2221 return out, req.Send() 2222} 2223 2224// GetAccessPointForObjectLambdaWithContext is the same as GetAccessPointForObjectLambda with the addition of 2225// the ability to pass a context and additional request options. 2226// 2227// See GetAccessPointForObjectLambda for details on how to use this API operation. 2228// 2229// The context must be non-nil and will be used for request cancellation. If 2230// the context is nil a panic will occur. In the future the SDK may create 2231// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2232// for more information on using Contexts. 2233func (c *S3Control) GetAccessPointForObjectLambdaWithContext(ctx aws.Context, input *GetAccessPointForObjectLambdaInput, opts ...request.Option) (*GetAccessPointForObjectLambdaOutput, error) { 2234 req, out := c.GetAccessPointForObjectLambdaRequest(input) 2235 req.SetContext(ctx) 2236 req.ApplyOptions(opts...) 2237 return out, req.Send() 2238} 2239 2240const opGetAccessPointPolicy = "GetAccessPointPolicy" 2241 2242// GetAccessPointPolicyRequest generates a "aws/request.Request" representing the 2243// client's request for the GetAccessPointPolicy operation. The "output" return 2244// value will be populated with the request's response once the request completes 2245// successfully. 2246// 2247// Use "Send" method on the returned Request to send the API call to the service. 2248// the "output" return value is not valid until after Send returns without error. 2249// 2250// See GetAccessPointPolicy for more information on using the GetAccessPointPolicy 2251// API call, and error handling. 2252// 2253// This method is useful when you want to inject custom logic or configuration 2254// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2255// 2256// 2257// // Example sending a request using the GetAccessPointPolicyRequest method. 2258// req, resp := client.GetAccessPointPolicyRequest(params) 2259// 2260// err := req.Send() 2261// if err == nil { // resp is now filled 2262// fmt.Println(resp) 2263// } 2264// 2265// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicy 2266func (c *S3Control) GetAccessPointPolicyRequest(input *GetAccessPointPolicyInput) (req *request.Request, output *GetAccessPointPolicyOutput) { 2267 op := &request.Operation{ 2268 Name: opGetAccessPointPolicy, 2269 HTTPMethod: "GET", 2270 HTTPPath: "/v20180820/accesspoint/{name}/policy", 2271 } 2272 2273 if input == nil { 2274 input = &GetAccessPointPolicyInput{} 2275 } 2276 2277 output = &GetAccessPointPolicyOutput{} 2278 req = c.newRequest(op, input, output) 2279 // update account id or check if provided input for account id member matches 2280 // the account id present in ARN 2281 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 2282 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 2283 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 2284 return 2285} 2286 2287// GetAccessPointPolicy API operation for AWS S3 Control. 2288// 2289// Returns the access point policy associated with the specified access point. 2290// 2291// The following actions are related to GetAccessPointPolicy: 2292// 2293// * PutAccessPointPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessPointPolicy.html) 2294// 2295// * DeleteAccessPointPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointPolicy.html) 2296// 2297// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2298// with awserr.Error's Code and Message methods to get detailed information about 2299// the error. 2300// 2301// See the AWS API reference guide for AWS S3 Control's 2302// API operation GetAccessPointPolicy for usage and error information. 2303// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicy 2304func (c *S3Control) GetAccessPointPolicy(input *GetAccessPointPolicyInput) (*GetAccessPointPolicyOutput, error) { 2305 req, out := c.GetAccessPointPolicyRequest(input) 2306 return out, req.Send() 2307} 2308 2309// GetAccessPointPolicyWithContext is the same as GetAccessPointPolicy with the addition of 2310// the ability to pass a context and additional request options. 2311// 2312// See GetAccessPointPolicy for details on how to use this API operation. 2313// 2314// The context must be non-nil and will be used for request cancellation. If 2315// the context is nil a panic will occur. In the future the SDK may create 2316// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2317// for more information on using Contexts. 2318func (c *S3Control) GetAccessPointPolicyWithContext(ctx aws.Context, input *GetAccessPointPolicyInput, opts ...request.Option) (*GetAccessPointPolicyOutput, error) { 2319 req, out := c.GetAccessPointPolicyRequest(input) 2320 req.SetContext(ctx) 2321 req.ApplyOptions(opts...) 2322 return out, req.Send() 2323} 2324 2325const opGetAccessPointPolicyForObjectLambda = "GetAccessPointPolicyForObjectLambda" 2326 2327// GetAccessPointPolicyForObjectLambdaRequest generates a "aws/request.Request" representing the 2328// client's request for the GetAccessPointPolicyForObjectLambda operation. The "output" return 2329// value will be populated with the request's response once the request completes 2330// successfully. 2331// 2332// Use "Send" method on the returned Request to send the API call to the service. 2333// the "output" return value is not valid until after Send returns without error. 2334// 2335// See GetAccessPointPolicyForObjectLambda for more information on using the GetAccessPointPolicyForObjectLambda 2336// API call, and error handling. 2337// 2338// This method is useful when you want to inject custom logic or configuration 2339// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2340// 2341// 2342// // Example sending a request using the GetAccessPointPolicyForObjectLambdaRequest method. 2343// req, resp := client.GetAccessPointPolicyForObjectLambdaRequest(params) 2344// 2345// err := req.Send() 2346// if err == nil { // resp is now filled 2347// fmt.Println(resp) 2348// } 2349// 2350// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyForObjectLambda 2351func (c *S3Control) GetAccessPointPolicyForObjectLambdaRequest(input *GetAccessPointPolicyForObjectLambdaInput) (req *request.Request, output *GetAccessPointPolicyForObjectLambdaOutput) { 2352 op := &request.Operation{ 2353 Name: opGetAccessPointPolicyForObjectLambda, 2354 HTTPMethod: "GET", 2355 HTTPPath: "/v20180820/accesspointforobjectlambda/{name}/policy", 2356 } 2357 2358 if input == nil { 2359 input = &GetAccessPointPolicyForObjectLambdaInput{} 2360 } 2361 2362 output = &GetAccessPointPolicyForObjectLambdaOutput{} 2363 req = c.newRequest(op, input, output) 2364 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 2365 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 2366 return 2367} 2368 2369// GetAccessPointPolicyForObjectLambda API operation for AWS S3 Control. 2370// 2371// Returns the resource policy for an Object Lambda Access Point. 2372// 2373// The following actions are related to GetAccessPointPolicyForObjectLambda: 2374// 2375// * DeleteAccessPointPolicyForObjectLambda (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointPolicyForObjectLambda.html) 2376// 2377// * PutAccessPointPolicyForObjectLambda (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessPointPolicyForObjectLambda.html) 2378// 2379// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2380// with awserr.Error's Code and Message methods to get detailed information about 2381// the error. 2382// 2383// See the AWS API reference guide for AWS S3 Control's 2384// API operation GetAccessPointPolicyForObjectLambda for usage and error information. 2385// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyForObjectLambda 2386func (c *S3Control) GetAccessPointPolicyForObjectLambda(input *GetAccessPointPolicyForObjectLambdaInput) (*GetAccessPointPolicyForObjectLambdaOutput, error) { 2387 req, out := c.GetAccessPointPolicyForObjectLambdaRequest(input) 2388 return out, req.Send() 2389} 2390 2391// GetAccessPointPolicyForObjectLambdaWithContext is the same as GetAccessPointPolicyForObjectLambda with the addition of 2392// the ability to pass a context and additional request options. 2393// 2394// See GetAccessPointPolicyForObjectLambda for details on how to use this API operation. 2395// 2396// The context must be non-nil and will be used for request cancellation. If 2397// the context is nil a panic will occur. In the future the SDK may create 2398// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2399// for more information on using Contexts. 2400func (c *S3Control) GetAccessPointPolicyForObjectLambdaWithContext(ctx aws.Context, input *GetAccessPointPolicyForObjectLambdaInput, opts ...request.Option) (*GetAccessPointPolicyForObjectLambdaOutput, error) { 2401 req, out := c.GetAccessPointPolicyForObjectLambdaRequest(input) 2402 req.SetContext(ctx) 2403 req.ApplyOptions(opts...) 2404 return out, req.Send() 2405} 2406 2407const opGetAccessPointPolicyStatus = "GetAccessPointPolicyStatus" 2408 2409// GetAccessPointPolicyStatusRequest generates a "aws/request.Request" representing the 2410// client's request for the GetAccessPointPolicyStatus operation. The "output" return 2411// value will be populated with the request's response once the request completes 2412// successfully. 2413// 2414// Use "Send" method on the returned Request to send the API call to the service. 2415// the "output" return value is not valid until after Send returns without error. 2416// 2417// See GetAccessPointPolicyStatus for more information on using the GetAccessPointPolicyStatus 2418// API call, and error handling. 2419// 2420// This method is useful when you want to inject custom logic or configuration 2421// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2422// 2423// 2424// // Example sending a request using the GetAccessPointPolicyStatusRequest method. 2425// req, resp := client.GetAccessPointPolicyStatusRequest(params) 2426// 2427// err := req.Send() 2428// if err == nil { // resp is now filled 2429// fmt.Println(resp) 2430// } 2431// 2432// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyStatus 2433func (c *S3Control) GetAccessPointPolicyStatusRequest(input *GetAccessPointPolicyStatusInput) (req *request.Request, output *GetAccessPointPolicyStatusOutput) { 2434 op := &request.Operation{ 2435 Name: opGetAccessPointPolicyStatus, 2436 HTTPMethod: "GET", 2437 HTTPPath: "/v20180820/accesspoint/{name}/policyStatus", 2438 } 2439 2440 if input == nil { 2441 input = &GetAccessPointPolicyStatusInput{} 2442 } 2443 2444 output = &GetAccessPointPolicyStatusOutput{} 2445 req = c.newRequest(op, input, output) 2446 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 2447 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 2448 return 2449} 2450 2451// GetAccessPointPolicyStatus API operation for AWS S3 Control. 2452// 2453// Indicates whether the specified access point currently has a policy that 2454// allows public access. For more information about public access through access 2455// points, see Managing Data Access with Amazon S3 access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html) 2456// in the Amazon S3 User Guide. 2457// 2458// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2459// with awserr.Error's Code and Message methods to get detailed information about 2460// the error. 2461// 2462// See the AWS API reference guide for AWS S3 Control's 2463// API operation GetAccessPointPolicyStatus for usage and error information. 2464// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyStatus 2465func (c *S3Control) GetAccessPointPolicyStatus(input *GetAccessPointPolicyStatusInput) (*GetAccessPointPolicyStatusOutput, error) { 2466 req, out := c.GetAccessPointPolicyStatusRequest(input) 2467 return out, req.Send() 2468} 2469 2470// GetAccessPointPolicyStatusWithContext is the same as GetAccessPointPolicyStatus with the addition of 2471// the ability to pass a context and additional request options. 2472// 2473// See GetAccessPointPolicyStatus for details on how to use this API operation. 2474// 2475// The context must be non-nil and will be used for request cancellation. If 2476// the context is nil a panic will occur. In the future the SDK may create 2477// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2478// for more information on using Contexts. 2479func (c *S3Control) GetAccessPointPolicyStatusWithContext(ctx aws.Context, input *GetAccessPointPolicyStatusInput, opts ...request.Option) (*GetAccessPointPolicyStatusOutput, error) { 2480 req, out := c.GetAccessPointPolicyStatusRequest(input) 2481 req.SetContext(ctx) 2482 req.ApplyOptions(opts...) 2483 return out, req.Send() 2484} 2485 2486const opGetAccessPointPolicyStatusForObjectLambda = "GetAccessPointPolicyStatusForObjectLambda" 2487 2488// GetAccessPointPolicyStatusForObjectLambdaRequest generates a "aws/request.Request" representing the 2489// client's request for the GetAccessPointPolicyStatusForObjectLambda operation. The "output" return 2490// value will be populated with the request's response once the request completes 2491// successfully. 2492// 2493// Use "Send" method on the returned Request to send the API call to the service. 2494// the "output" return value is not valid until after Send returns without error. 2495// 2496// See GetAccessPointPolicyStatusForObjectLambda for more information on using the GetAccessPointPolicyStatusForObjectLambda 2497// API call, and error handling. 2498// 2499// This method is useful when you want to inject custom logic or configuration 2500// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2501// 2502// 2503// // Example sending a request using the GetAccessPointPolicyStatusForObjectLambdaRequest method. 2504// req, resp := client.GetAccessPointPolicyStatusForObjectLambdaRequest(params) 2505// 2506// err := req.Send() 2507// if err == nil { // resp is now filled 2508// fmt.Println(resp) 2509// } 2510// 2511// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyStatusForObjectLambda 2512func (c *S3Control) GetAccessPointPolicyStatusForObjectLambdaRequest(input *GetAccessPointPolicyStatusForObjectLambdaInput) (req *request.Request, output *GetAccessPointPolicyStatusForObjectLambdaOutput) { 2513 op := &request.Operation{ 2514 Name: opGetAccessPointPolicyStatusForObjectLambda, 2515 HTTPMethod: "GET", 2516 HTTPPath: "/v20180820/accesspointforobjectlambda/{name}/policyStatus", 2517 } 2518 2519 if input == nil { 2520 input = &GetAccessPointPolicyStatusForObjectLambdaInput{} 2521 } 2522 2523 output = &GetAccessPointPolicyStatusForObjectLambdaOutput{} 2524 req = c.newRequest(op, input, output) 2525 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 2526 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 2527 return 2528} 2529 2530// GetAccessPointPolicyStatusForObjectLambda API operation for AWS S3 Control. 2531// 2532// Returns the status of the resource policy associated with an Object Lambda 2533// Access Point. 2534// 2535// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2536// with awserr.Error's Code and Message methods to get detailed information about 2537// the error. 2538// 2539// See the AWS API reference guide for AWS S3 Control's 2540// API operation GetAccessPointPolicyStatusForObjectLambda for usage and error information. 2541// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyStatusForObjectLambda 2542func (c *S3Control) GetAccessPointPolicyStatusForObjectLambda(input *GetAccessPointPolicyStatusForObjectLambdaInput) (*GetAccessPointPolicyStatusForObjectLambdaOutput, error) { 2543 req, out := c.GetAccessPointPolicyStatusForObjectLambdaRequest(input) 2544 return out, req.Send() 2545} 2546 2547// GetAccessPointPolicyStatusForObjectLambdaWithContext is the same as GetAccessPointPolicyStatusForObjectLambda with the addition of 2548// the ability to pass a context and additional request options. 2549// 2550// See GetAccessPointPolicyStatusForObjectLambda for details on how to use this API operation. 2551// 2552// The context must be non-nil and will be used for request cancellation. If 2553// the context is nil a panic will occur. In the future the SDK may create 2554// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2555// for more information on using Contexts. 2556func (c *S3Control) GetAccessPointPolicyStatusForObjectLambdaWithContext(ctx aws.Context, input *GetAccessPointPolicyStatusForObjectLambdaInput, opts ...request.Option) (*GetAccessPointPolicyStatusForObjectLambdaOutput, error) { 2557 req, out := c.GetAccessPointPolicyStatusForObjectLambdaRequest(input) 2558 req.SetContext(ctx) 2559 req.ApplyOptions(opts...) 2560 return out, req.Send() 2561} 2562 2563const opGetBucket = "GetBucket" 2564 2565// GetBucketRequest generates a "aws/request.Request" representing the 2566// client's request for the GetBucket operation. The "output" return 2567// value will be populated with the request's response once the request completes 2568// successfully. 2569// 2570// Use "Send" method on the returned Request to send the API call to the service. 2571// the "output" return value is not valid until after Send returns without error. 2572// 2573// See GetBucket for more information on using the GetBucket 2574// API call, and error handling. 2575// 2576// This method is useful when you want to inject custom logic or configuration 2577// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2578// 2579// 2580// // Example sending a request using the GetBucketRequest method. 2581// req, resp := client.GetBucketRequest(params) 2582// 2583// err := req.Send() 2584// if err == nil { // resp is now filled 2585// fmt.Println(resp) 2586// } 2587// 2588// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucket 2589func (c *S3Control) GetBucketRequest(input *GetBucketInput) (req *request.Request, output *GetBucketOutput) { 2590 op := &request.Operation{ 2591 Name: opGetBucket, 2592 HTTPMethod: "GET", 2593 HTTPPath: "/v20180820/bucket/{name}", 2594 } 2595 2596 if input == nil { 2597 input = &GetBucketInput{} 2598 } 2599 2600 output = &GetBucketOutput{} 2601 req = c.newRequest(op, input, output) 2602 // update account id or check if provided input for account id member matches 2603 // the account id present in ARN 2604 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 2605 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 2606 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 2607 return 2608} 2609 2610// GetBucket API operation for AWS S3 Control. 2611// 2612// Gets an Amazon S3 on Outposts bucket. For more information, see Using Amazon 2613// S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) 2614// in the Amazon S3 User Guide. 2615// 2616// If you are using an identity other than the root user of the Amazon Web Services 2617// account that owns the Outposts bucket, the calling identity must have the 2618// s3-outposts:GetBucket permissions on the specified Outposts bucket and belong 2619// to the Outposts bucket owner's account in order to use this action. Only 2620// users from Outposts bucket owner account with the right permissions can perform 2621// actions on an Outposts bucket. 2622// 2623// If you don't have s3-outposts:GetBucket permissions or you're not using an 2624// identity that belongs to the bucket owner's account, Amazon S3 returns a 2625// 403 Access Denied error. 2626// 2627// The following actions are related to GetBucket for Amazon S3 on Outposts: 2628// 2629// All Amazon S3 on Outposts REST API requests for this action require an additional 2630// parameter of x-amz-outpost-id to be passed with the request and an S3 on 2631// Outposts endpoint hostname prefix instead of s3-control. For an example of 2632// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 2633// endpoint hostname prefix and the x-amz-outpost-id derived using the access 2634// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucket.html#API_control_GetBucket_Examples) 2635// section. 2636// 2637// * PutObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) 2638// 2639// * CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html) 2640// 2641// * DeleteBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucket.html) 2642// 2643// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2644// with awserr.Error's Code and Message methods to get detailed information about 2645// the error. 2646// 2647// See the AWS API reference guide for AWS S3 Control's 2648// API operation GetBucket for usage and error information. 2649// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucket 2650func (c *S3Control) GetBucket(input *GetBucketInput) (*GetBucketOutput, error) { 2651 req, out := c.GetBucketRequest(input) 2652 return out, req.Send() 2653} 2654 2655// GetBucketWithContext is the same as GetBucket with the addition of 2656// the ability to pass a context and additional request options. 2657// 2658// See GetBucket for details on how to use this API operation. 2659// 2660// The context must be non-nil and will be used for request cancellation. If 2661// the context is nil a panic will occur. In the future the SDK may create 2662// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2663// for more information on using Contexts. 2664func (c *S3Control) GetBucketWithContext(ctx aws.Context, input *GetBucketInput, opts ...request.Option) (*GetBucketOutput, error) { 2665 req, out := c.GetBucketRequest(input) 2666 req.SetContext(ctx) 2667 req.ApplyOptions(opts...) 2668 return out, req.Send() 2669} 2670 2671const opGetBucketLifecycleConfiguration = "GetBucketLifecycleConfiguration" 2672 2673// GetBucketLifecycleConfigurationRequest generates a "aws/request.Request" representing the 2674// client's request for the GetBucketLifecycleConfiguration operation. The "output" return 2675// value will be populated with the request's response once the request completes 2676// successfully. 2677// 2678// Use "Send" method on the returned Request to send the API call to the service. 2679// the "output" return value is not valid until after Send returns without error. 2680// 2681// See GetBucketLifecycleConfiguration for more information on using the GetBucketLifecycleConfiguration 2682// API call, and error handling. 2683// 2684// This method is useful when you want to inject custom logic or configuration 2685// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2686// 2687// 2688// // Example sending a request using the GetBucketLifecycleConfigurationRequest method. 2689// req, resp := client.GetBucketLifecycleConfigurationRequest(params) 2690// 2691// err := req.Send() 2692// if err == nil { // resp is now filled 2693// fmt.Println(resp) 2694// } 2695// 2696// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketLifecycleConfiguration 2697func (c *S3Control) GetBucketLifecycleConfigurationRequest(input *GetBucketLifecycleConfigurationInput) (req *request.Request, output *GetBucketLifecycleConfigurationOutput) { 2698 op := &request.Operation{ 2699 Name: opGetBucketLifecycleConfiguration, 2700 HTTPMethod: "GET", 2701 HTTPPath: "/v20180820/bucket/{name}/lifecycleconfiguration", 2702 } 2703 2704 if input == nil { 2705 input = &GetBucketLifecycleConfigurationInput{} 2706 } 2707 2708 output = &GetBucketLifecycleConfigurationOutput{} 2709 req = c.newRequest(op, input, output) 2710 // update account id or check if provided input for account id member matches 2711 // the account id present in ARN 2712 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 2713 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 2714 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 2715 return 2716} 2717 2718// GetBucketLifecycleConfiguration API operation for AWS S3 Control. 2719// 2720// 2721// This action gets an Amazon S3 on Outposts bucket's lifecycle configuration. 2722// To get an S3 bucket's lifecycle configuration, see GetBucketLifecycleConfiguration 2723// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html) 2724// in the Amazon S3 API Reference. 2725// 2726// Returns the lifecycle configuration information set on the Outposts bucket. 2727// For more information, see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) 2728// and for information about lifecycle configuration, see Object Lifecycle Management 2729// (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) 2730// in Amazon S3 User Guide. 2731// 2732// To use this action, you must have permission to perform the s3-outposts:GetLifecycleConfiguration 2733// action. The Outposts bucket owner has this permission, by default. The bucket 2734// owner can grant this permission to others. For more information about permissions, 2735// 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) 2736// and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html). 2737// 2738// All Amazon S3 on Outposts REST API requests for this action require an additional 2739// parameter of x-amz-outpost-id to be passed with the request and an S3 on 2740// Outposts endpoint hostname prefix instead of s3-control. For an example of 2741// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 2742// endpoint hostname prefix and the x-amz-outpost-id derived using the access 2743// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketLifecycleConfiguration.html#API_control_GetBucketLifecycleConfiguration_Examples) 2744// section. 2745// 2746// GetBucketLifecycleConfiguration has the following special error: 2747// 2748// * Error code: NoSuchLifecycleConfiguration Description: The lifecycle 2749// configuration does not exist. HTTP Status Code: 404 Not Found SOAP Fault 2750// Code Prefix: Client 2751// 2752// The following actions are related to GetBucketLifecycleConfiguration: 2753// 2754// * PutBucketLifecycleConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketLifecycleConfiguration.html) 2755// 2756// * DeleteBucketLifecycleConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketLifecycleConfiguration.html) 2757// 2758// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2759// with awserr.Error's Code and Message methods to get detailed information about 2760// the error. 2761// 2762// See the AWS API reference guide for AWS S3 Control's 2763// API operation GetBucketLifecycleConfiguration for usage and error information. 2764// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketLifecycleConfiguration 2765func (c *S3Control) GetBucketLifecycleConfiguration(input *GetBucketLifecycleConfigurationInput) (*GetBucketLifecycleConfigurationOutput, error) { 2766 req, out := c.GetBucketLifecycleConfigurationRequest(input) 2767 return out, req.Send() 2768} 2769 2770// GetBucketLifecycleConfigurationWithContext is the same as GetBucketLifecycleConfiguration with the addition of 2771// the ability to pass a context and additional request options. 2772// 2773// See GetBucketLifecycleConfiguration for details on how to use this API operation. 2774// 2775// The context must be non-nil and will be used for request cancellation. If 2776// the context is nil a panic will occur. In the future the SDK may create 2777// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2778// for more information on using Contexts. 2779func (c *S3Control) GetBucketLifecycleConfigurationWithContext(ctx aws.Context, input *GetBucketLifecycleConfigurationInput, opts ...request.Option) (*GetBucketLifecycleConfigurationOutput, error) { 2780 req, out := c.GetBucketLifecycleConfigurationRequest(input) 2781 req.SetContext(ctx) 2782 req.ApplyOptions(opts...) 2783 return out, req.Send() 2784} 2785 2786const opGetBucketPolicy = "GetBucketPolicy" 2787 2788// GetBucketPolicyRequest generates a "aws/request.Request" representing the 2789// client's request for the GetBucketPolicy operation. The "output" return 2790// value will be populated with the request's response once the request completes 2791// successfully. 2792// 2793// Use "Send" method on the returned Request to send the API call to the service. 2794// the "output" return value is not valid until after Send returns without error. 2795// 2796// See GetBucketPolicy for more information on using the GetBucketPolicy 2797// API call, and error handling. 2798// 2799// This method is useful when you want to inject custom logic or configuration 2800// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2801// 2802// 2803// // Example sending a request using the GetBucketPolicyRequest method. 2804// req, resp := client.GetBucketPolicyRequest(params) 2805// 2806// err := req.Send() 2807// if err == nil { // resp is now filled 2808// fmt.Println(resp) 2809// } 2810// 2811// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketPolicy 2812func (c *S3Control) GetBucketPolicyRequest(input *GetBucketPolicyInput) (req *request.Request, output *GetBucketPolicyOutput) { 2813 op := &request.Operation{ 2814 Name: opGetBucketPolicy, 2815 HTTPMethod: "GET", 2816 HTTPPath: "/v20180820/bucket/{name}/policy", 2817 } 2818 2819 if input == nil { 2820 input = &GetBucketPolicyInput{} 2821 } 2822 2823 output = &GetBucketPolicyOutput{} 2824 req = c.newRequest(op, input, output) 2825 // update account id or check if provided input for account id member matches 2826 // the account id present in ARN 2827 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 2828 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 2829 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 2830 return 2831} 2832 2833// GetBucketPolicy API operation for AWS S3 Control. 2834// 2835// 2836// This action gets a bucket policy for an Amazon S3 on Outposts bucket. To 2837// get a policy for an S3 bucket, see GetBucketPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicy.html) 2838// in the Amazon S3 API Reference. 2839// 2840// Returns the policy of a specified Outposts bucket. For more information, 2841// see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) 2842// in the Amazon S3 User Guide. 2843// 2844// If you are using an identity other than the root user of the Amazon Web Services 2845// account that owns the bucket, the calling identity must have the GetBucketPolicy 2846// permissions on the specified bucket and belong to the bucket owner's account 2847// in order to use this action. 2848// 2849// Only users from Outposts bucket owner account with the right permissions 2850// can perform actions on an Outposts bucket. If you don't have s3-outposts:GetBucketPolicy 2851// permissions or you're not using an identity that belongs to the bucket owner's 2852// account, Amazon S3 returns a 403 Access Denied error. 2853// 2854// As a security precaution, the root user of the Amazon Web Services account 2855// that owns a bucket can always use this action, even if the policy explicitly 2856// denies the root user the ability to perform this action. 2857// 2858// For more information about bucket policies, see Using Bucket Policies and 2859// User Policies (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html). 2860// 2861// All Amazon S3 on Outposts REST API requests for this action require an additional 2862// parameter of x-amz-outpost-id to be passed with the request and an S3 on 2863// Outposts endpoint hostname prefix instead of s3-control. For an example of 2864// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 2865// endpoint hostname prefix and the x-amz-outpost-id derived using the access 2866// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketPolicy.html#API_control_GetBucketPolicy_Examples) 2867// section. 2868// 2869// The following actions are related to GetBucketPolicy: 2870// 2871// * GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) 2872// 2873// * PutBucketPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketPolicy.html) 2874// 2875// * DeleteBucketPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketPolicy.html) 2876// 2877// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2878// with awserr.Error's Code and Message methods to get detailed information about 2879// the error. 2880// 2881// See the AWS API reference guide for AWS S3 Control's 2882// API operation GetBucketPolicy for usage and error information. 2883// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketPolicy 2884func (c *S3Control) GetBucketPolicy(input *GetBucketPolicyInput) (*GetBucketPolicyOutput, error) { 2885 req, out := c.GetBucketPolicyRequest(input) 2886 return out, req.Send() 2887} 2888 2889// GetBucketPolicyWithContext is the same as GetBucketPolicy with the addition of 2890// the ability to pass a context and additional request options. 2891// 2892// See GetBucketPolicy for details on how to use this API operation. 2893// 2894// The context must be non-nil and will be used for request cancellation. If 2895// the context is nil a panic will occur. In the future the SDK may create 2896// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2897// for more information on using Contexts. 2898func (c *S3Control) GetBucketPolicyWithContext(ctx aws.Context, input *GetBucketPolicyInput, opts ...request.Option) (*GetBucketPolicyOutput, error) { 2899 req, out := c.GetBucketPolicyRequest(input) 2900 req.SetContext(ctx) 2901 req.ApplyOptions(opts...) 2902 return out, req.Send() 2903} 2904 2905const opGetBucketTagging = "GetBucketTagging" 2906 2907// GetBucketTaggingRequest generates a "aws/request.Request" representing the 2908// client's request for the GetBucketTagging operation. The "output" return 2909// value will be populated with the request's response once the request completes 2910// successfully. 2911// 2912// Use "Send" method on the returned Request to send the API call to the service. 2913// the "output" return value is not valid until after Send returns without error. 2914// 2915// See GetBucketTagging for more information on using the GetBucketTagging 2916// API call, and error handling. 2917// 2918// This method is useful when you want to inject custom logic or configuration 2919// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2920// 2921// 2922// // Example sending a request using the GetBucketTaggingRequest method. 2923// req, resp := client.GetBucketTaggingRequest(params) 2924// 2925// err := req.Send() 2926// if err == nil { // resp is now filled 2927// fmt.Println(resp) 2928// } 2929// 2930// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketTagging 2931func (c *S3Control) GetBucketTaggingRequest(input *GetBucketTaggingInput) (req *request.Request, output *GetBucketTaggingOutput) { 2932 op := &request.Operation{ 2933 Name: opGetBucketTagging, 2934 HTTPMethod: "GET", 2935 HTTPPath: "/v20180820/bucket/{name}/tagging", 2936 } 2937 2938 if input == nil { 2939 input = &GetBucketTaggingInput{} 2940 } 2941 2942 output = &GetBucketTaggingOutput{} 2943 req = c.newRequest(op, input, output) 2944 // update account id or check if provided input for account id member matches 2945 // the account id present in ARN 2946 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 2947 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 2948 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 2949 return 2950} 2951 2952// GetBucketTagging API operation for AWS S3 Control. 2953// 2954// 2955// This action gets an Amazon S3 on Outposts bucket's tags. To get an S3 bucket 2956// tags, see GetBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html) 2957// in the Amazon S3 API Reference. 2958// 2959// Returns the tag set associated with the Outposts bucket. For more information, 2960// see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) 2961// in the Amazon S3 User Guide. 2962// 2963// To use this action, you must have permission to perform the GetBucketTagging 2964// action. By default, the bucket owner has this permission and can grant this 2965// permission to others. 2966// 2967// GetBucketTagging has the following special error: 2968// 2969// * Error code: NoSuchTagSetError Description: There is no tag set associated 2970// with the bucket. 2971// 2972// All Amazon S3 on Outposts REST API requests for this action require an additional 2973// parameter of x-amz-outpost-id to be passed with the request and an S3 on 2974// Outposts endpoint hostname prefix instead of s3-control. For an example of 2975// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 2976// endpoint hostname prefix and the x-amz-outpost-id derived using the access 2977// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketTagging.html#API_control_GetBucketTagging_Examples) 2978// section. 2979// 2980// The following actions are related to GetBucketTagging: 2981// 2982// * PutBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketTagging.html) 2983// 2984// * DeleteBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketTagging.html) 2985// 2986// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2987// with awserr.Error's Code and Message methods to get detailed information about 2988// the error. 2989// 2990// See the AWS API reference guide for AWS S3 Control's 2991// API operation GetBucketTagging for usage and error information. 2992// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketTagging 2993func (c *S3Control) GetBucketTagging(input *GetBucketTaggingInput) (*GetBucketTaggingOutput, error) { 2994 req, out := c.GetBucketTaggingRequest(input) 2995 return out, req.Send() 2996} 2997 2998// GetBucketTaggingWithContext is the same as GetBucketTagging with the addition of 2999// the ability to pass a context and additional request options. 3000// 3001// See GetBucketTagging for details on how to use this API operation. 3002// 3003// The context must be non-nil and will be used for request cancellation. If 3004// the context is nil a panic will occur. In the future the SDK may create 3005// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3006// for more information on using Contexts. 3007func (c *S3Control) GetBucketTaggingWithContext(ctx aws.Context, input *GetBucketTaggingInput, opts ...request.Option) (*GetBucketTaggingOutput, error) { 3008 req, out := c.GetBucketTaggingRequest(input) 3009 req.SetContext(ctx) 3010 req.ApplyOptions(opts...) 3011 return out, req.Send() 3012} 3013 3014const opGetJobTagging = "GetJobTagging" 3015 3016// GetJobTaggingRequest generates a "aws/request.Request" representing the 3017// client's request for the GetJobTagging operation. The "output" return 3018// value will be populated with the request's response once the request completes 3019// successfully. 3020// 3021// Use "Send" method on the returned Request to send the API call to the service. 3022// the "output" return value is not valid until after Send returns without error. 3023// 3024// See GetJobTagging for more information on using the GetJobTagging 3025// API call, and error handling. 3026// 3027// This method is useful when you want to inject custom logic or configuration 3028// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3029// 3030// 3031// // Example sending a request using the GetJobTaggingRequest method. 3032// req, resp := client.GetJobTaggingRequest(params) 3033// 3034// err := req.Send() 3035// if err == nil { // resp is now filled 3036// fmt.Println(resp) 3037// } 3038// 3039// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetJobTagging 3040func (c *S3Control) GetJobTaggingRequest(input *GetJobTaggingInput) (req *request.Request, output *GetJobTaggingOutput) { 3041 op := &request.Operation{ 3042 Name: opGetJobTagging, 3043 HTTPMethod: "GET", 3044 HTTPPath: "/v20180820/jobs/{id}/tagging", 3045 } 3046 3047 if input == nil { 3048 input = &GetJobTaggingInput{} 3049 } 3050 3051 output = &GetJobTaggingOutput{} 3052 req = c.newRequest(op, input, output) 3053 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 3054 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 3055 return 3056} 3057 3058// GetJobTagging API operation for AWS S3 Control. 3059// 3060// Returns the tags on an S3 Batch Operations job. To use this operation, you 3061// must have permission to perform the s3:GetJobTagging action. For more information, 3062// 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) 3063// in the Amazon S3 User Guide. 3064// 3065// Related actions include: 3066// 3067// * CreateJob (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html) 3068// 3069// * PutJobTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutJobTagging.html) 3070// 3071// * DeleteJobTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteJobTagging.html) 3072// 3073// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3074// with awserr.Error's Code and Message methods to get detailed information about 3075// the error. 3076// 3077// See the AWS API reference guide for AWS S3 Control's 3078// API operation GetJobTagging for usage and error information. 3079// 3080// Returned Error Codes: 3081// * ErrCodeInternalServiceException "InternalServiceException" 3082// 3083// * ErrCodeTooManyRequestsException "TooManyRequestsException" 3084// 3085// * ErrCodeNotFoundException "NotFoundException" 3086// 3087// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetJobTagging 3088func (c *S3Control) GetJobTagging(input *GetJobTaggingInput) (*GetJobTaggingOutput, error) { 3089 req, out := c.GetJobTaggingRequest(input) 3090 return out, req.Send() 3091} 3092 3093// GetJobTaggingWithContext is the same as GetJobTagging with the addition of 3094// the ability to pass a context and additional request options. 3095// 3096// See GetJobTagging for details on how to use this API operation. 3097// 3098// The context must be non-nil and will be used for request cancellation. If 3099// the context is nil a panic will occur. In the future the SDK may create 3100// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3101// for more information on using Contexts. 3102func (c *S3Control) GetJobTaggingWithContext(ctx aws.Context, input *GetJobTaggingInput, opts ...request.Option) (*GetJobTaggingOutput, error) { 3103 req, out := c.GetJobTaggingRequest(input) 3104 req.SetContext(ctx) 3105 req.ApplyOptions(opts...) 3106 return out, req.Send() 3107} 3108 3109const opGetMultiRegionAccessPoint = "GetMultiRegionAccessPoint" 3110 3111// GetMultiRegionAccessPointRequest generates a "aws/request.Request" representing the 3112// client's request for the GetMultiRegionAccessPoint operation. The "output" return 3113// value will be populated with the request's response once the request completes 3114// successfully. 3115// 3116// Use "Send" method on the returned Request to send the API call to the service. 3117// the "output" return value is not valid until after Send returns without error. 3118// 3119// See GetMultiRegionAccessPoint for more information on using the GetMultiRegionAccessPoint 3120// API call, and error handling. 3121// 3122// This method is useful when you want to inject custom logic or configuration 3123// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3124// 3125// 3126// // Example sending a request using the GetMultiRegionAccessPointRequest method. 3127// req, resp := client.GetMultiRegionAccessPointRequest(params) 3128// 3129// err := req.Send() 3130// if err == nil { // resp is now filled 3131// fmt.Println(resp) 3132// } 3133// 3134// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetMultiRegionAccessPoint 3135func (c *S3Control) GetMultiRegionAccessPointRequest(input *GetMultiRegionAccessPointInput) (req *request.Request, output *GetMultiRegionAccessPointOutput) { 3136 op := &request.Operation{ 3137 Name: opGetMultiRegionAccessPoint, 3138 HTTPMethod: "GET", 3139 HTTPPath: "/v20180820/mrap/instances/{name}", 3140 } 3141 3142 if input == nil { 3143 input = &GetMultiRegionAccessPointInput{} 3144 } 3145 3146 output = &GetMultiRegionAccessPointOutput{} 3147 req = c.newRequest(op, input, output) 3148 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 3149 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 3150 req.Handlers.Build.PushBackNamed(request.NamedHandler{ 3151 Name: "contentMd5Handler", 3152 Fn: checksum.AddBodyContentMD5Handler, 3153 }) 3154 return 3155} 3156 3157// GetMultiRegionAccessPoint API operation for AWS S3 Control. 3158// 3159// Returns configuration information about the specified Multi-Region Access 3160// Point. 3161// 3162// This action will always be routed to the US West (Oregon) Region. For more 3163// information about the restrictions around managing Multi-Region Access Points, 3164// see Managing Multi-Region Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/ManagingMultiRegionAccessPoints.html) 3165// in the Amazon S3 User Guide. 3166// 3167// The following actions are related to GetMultiRegionAccessPoint: 3168// 3169// * CreateMultiRegionAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateMultiRegionAccessPoint.html) 3170// 3171// * DeleteMultiRegionAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteMultiRegionAccessPoint.html) 3172// 3173// * DescribeMultiRegionAccessPointOperation (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeMultiRegionAccessPointOperation.html) 3174// 3175// * ListMultiRegionAccessPoints (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListMultiRegionAccessPoints.html) 3176// 3177// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3178// with awserr.Error's Code and Message methods to get detailed information about 3179// the error. 3180// 3181// See the AWS API reference guide for AWS S3 Control's 3182// API operation GetMultiRegionAccessPoint for usage and error information. 3183// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetMultiRegionAccessPoint 3184func (c *S3Control) GetMultiRegionAccessPoint(input *GetMultiRegionAccessPointInput) (*GetMultiRegionAccessPointOutput, error) { 3185 req, out := c.GetMultiRegionAccessPointRequest(input) 3186 return out, req.Send() 3187} 3188 3189// GetMultiRegionAccessPointWithContext is the same as GetMultiRegionAccessPoint with the addition of 3190// the ability to pass a context and additional request options. 3191// 3192// See GetMultiRegionAccessPoint for details on how to use this API operation. 3193// 3194// The context must be non-nil and will be used for request cancellation. If 3195// the context is nil a panic will occur. In the future the SDK may create 3196// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3197// for more information on using Contexts. 3198func (c *S3Control) GetMultiRegionAccessPointWithContext(ctx aws.Context, input *GetMultiRegionAccessPointInput, opts ...request.Option) (*GetMultiRegionAccessPointOutput, error) { 3199 req, out := c.GetMultiRegionAccessPointRequest(input) 3200 req.SetContext(ctx) 3201 req.ApplyOptions(opts...) 3202 return out, req.Send() 3203} 3204 3205const opGetMultiRegionAccessPointPolicy = "GetMultiRegionAccessPointPolicy" 3206 3207// GetMultiRegionAccessPointPolicyRequest generates a "aws/request.Request" representing the 3208// client's request for the GetMultiRegionAccessPointPolicy operation. The "output" return 3209// value will be populated with the request's response once the request completes 3210// successfully. 3211// 3212// Use "Send" method on the returned Request to send the API call to the service. 3213// the "output" return value is not valid until after Send returns without error. 3214// 3215// See GetMultiRegionAccessPointPolicy for more information on using the GetMultiRegionAccessPointPolicy 3216// API call, and error handling. 3217// 3218// This method is useful when you want to inject custom logic or configuration 3219// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3220// 3221// 3222// // Example sending a request using the GetMultiRegionAccessPointPolicyRequest method. 3223// req, resp := client.GetMultiRegionAccessPointPolicyRequest(params) 3224// 3225// err := req.Send() 3226// if err == nil { // resp is now filled 3227// fmt.Println(resp) 3228// } 3229// 3230// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetMultiRegionAccessPointPolicy 3231func (c *S3Control) GetMultiRegionAccessPointPolicyRequest(input *GetMultiRegionAccessPointPolicyInput) (req *request.Request, output *GetMultiRegionAccessPointPolicyOutput) { 3232 op := &request.Operation{ 3233 Name: opGetMultiRegionAccessPointPolicy, 3234 HTTPMethod: "GET", 3235 HTTPPath: "/v20180820/mrap/instances/{name}/policy", 3236 } 3237 3238 if input == nil { 3239 input = &GetMultiRegionAccessPointPolicyInput{} 3240 } 3241 3242 output = &GetMultiRegionAccessPointPolicyOutput{} 3243 req = c.newRequest(op, input, output) 3244 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 3245 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 3246 req.Handlers.Build.PushBackNamed(request.NamedHandler{ 3247 Name: "contentMd5Handler", 3248 Fn: checksum.AddBodyContentMD5Handler, 3249 }) 3250 return 3251} 3252 3253// GetMultiRegionAccessPointPolicy API operation for AWS S3 Control. 3254// 3255// Returns the access control policy of the specified Multi-Region Access Point. 3256// 3257// This action will always be routed to the US West (Oregon) Region. For more 3258// information about the restrictions around managing Multi-Region Access Points, 3259// see Managing Multi-Region Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/ManagingMultiRegionAccessPoints.html) 3260// in the Amazon S3 User Guide. 3261// 3262// The following actions are related to GetMultiRegionAccessPointPolicy: 3263// 3264// * GetMultiRegionAccessPointPolicyStatus (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPointPolicyStatus.html) 3265// 3266// * PutMultiRegionAccessPointPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutMultiRegionAccessPointPolicy.html) 3267// 3268// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3269// with awserr.Error's Code and Message methods to get detailed information about 3270// the error. 3271// 3272// See the AWS API reference guide for AWS S3 Control's 3273// API operation GetMultiRegionAccessPointPolicy for usage and error information. 3274// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetMultiRegionAccessPointPolicy 3275func (c *S3Control) GetMultiRegionAccessPointPolicy(input *GetMultiRegionAccessPointPolicyInput) (*GetMultiRegionAccessPointPolicyOutput, error) { 3276 req, out := c.GetMultiRegionAccessPointPolicyRequest(input) 3277 return out, req.Send() 3278} 3279 3280// GetMultiRegionAccessPointPolicyWithContext is the same as GetMultiRegionAccessPointPolicy with the addition of 3281// the ability to pass a context and additional request options. 3282// 3283// See GetMultiRegionAccessPointPolicy for details on how to use this API operation. 3284// 3285// The context must be non-nil and will be used for request cancellation. If 3286// the context is nil a panic will occur. In the future the SDK may create 3287// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3288// for more information on using Contexts. 3289func (c *S3Control) GetMultiRegionAccessPointPolicyWithContext(ctx aws.Context, input *GetMultiRegionAccessPointPolicyInput, opts ...request.Option) (*GetMultiRegionAccessPointPolicyOutput, error) { 3290 req, out := c.GetMultiRegionAccessPointPolicyRequest(input) 3291 req.SetContext(ctx) 3292 req.ApplyOptions(opts...) 3293 return out, req.Send() 3294} 3295 3296const opGetMultiRegionAccessPointPolicyStatus = "GetMultiRegionAccessPointPolicyStatus" 3297 3298// GetMultiRegionAccessPointPolicyStatusRequest generates a "aws/request.Request" representing the 3299// client's request for the GetMultiRegionAccessPointPolicyStatus operation. The "output" return 3300// value will be populated with the request's response once the request completes 3301// successfully. 3302// 3303// Use "Send" method on the returned Request to send the API call to the service. 3304// the "output" return value is not valid until after Send returns without error. 3305// 3306// See GetMultiRegionAccessPointPolicyStatus for more information on using the GetMultiRegionAccessPointPolicyStatus 3307// API call, and error handling. 3308// 3309// This method is useful when you want to inject custom logic or configuration 3310// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3311// 3312// 3313// // Example sending a request using the GetMultiRegionAccessPointPolicyStatusRequest method. 3314// req, resp := client.GetMultiRegionAccessPointPolicyStatusRequest(params) 3315// 3316// err := req.Send() 3317// if err == nil { // resp is now filled 3318// fmt.Println(resp) 3319// } 3320// 3321// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetMultiRegionAccessPointPolicyStatus 3322func (c *S3Control) GetMultiRegionAccessPointPolicyStatusRequest(input *GetMultiRegionAccessPointPolicyStatusInput) (req *request.Request, output *GetMultiRegionAccessPointPolicyStatusOutput) { 3323 op := &request.Operation{ 3324 Name: opGetMultiRegionAccessPointPolicyStatus, 3325 HTTPMethod: "GET", 3326 HTTPPath: "/v20180820/mrap/instances/{name}/policystatus", 3327 } 3328 3329 if input == nil { 3330 input = &GetMultiRegionAccessPointPolicyStatusInput{} 3331 } 3332 3333 output = &GetMultiRegionAccessPointPolicyStatusOutput{} 3334 req = c.newRequest(op, input, output) 3335 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 3336 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 3337 req.Handlers.Build.PushBackNamed(request.NamedHandler{ 3338 Name: "contentMd5Handler", 3339 Fn: checksum.AddBodyContentMD5Handler, 3340 }) 3341 return 3342} 3343 3344// GetMultiRegionAccessPointPolicyStatus API operation for AWS S3 Control. 3345// 3346// Indicates whether the specified Multi-Region Access Point has an access control 3347// policy that allows public access. 3348// 3349// This action will always be routed to the US West (Oregon) Region. For more 3350// information about the restrictions around managing Multi-Region Access Points, 3351// see Managing Multi-Region Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/ManagingMultiRegionAccessPoints.html) 3352// in the Amazon S3 User Guide. 3353// 3354// The following actions are related to GetMultiRegionAccessPointPolicyStatus: 3355// 3356// * GetMultiRegionAccessPointPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPointPolicy.html) 3357// 3358// * PutMultiRegionAccessPointPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutMultiRegionAccessPointPolicy.html) 3359// 3360// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3361// with awserr.Error's Code and Message methods to get detailed information about 3362// the error. 3363// 3364// See the AWS API reference guide for AWS S3 Control's 3365// API operation GetMultiRegionAccessPointPolicyStatus for usage and error information. 3366// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetMultiRegionAccessPointPolicyStatus 3367func (c *S3Control) GetMultiRegionAccessPointPolicyStatus(input *GetMultiRegionAccessPointPolicyStatusInput) (*GetMultiRegionAccessPointPolicyStatusOutput, error) { 3368 req, out := c.GetMultiRegionAccessPointPolicyStatusRequest(input) 3369 return out, req.Send() 3370} 3371 3372// GetMultiRegionAccessPointPolicyStatusWithContext is the same as GetMultiRegionAccessPointPolicyStatus with the addition of 3373// the ability to pass a context and additional request options. 3374// 3375// See GetMultiRegionAccessPointPolicyStatus for details on how to use this API operation. 3376// 3377// The context must be non-nil and will be used for request cancellation. If 3378// the context is nil a panic will occur. In the future the SDK may create 3379// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3380// for more information on using Contexts. 3381func (c *S3Control) GetMultiRegionAccessPointPolicyStatusWithContext(ctx aws.Context, input *GetMultiRegionAccessPointPolicyStatusInput, opts ...request.Option) (*GetMultiRegionAccessPointPolicyStatusOutput, error) { 3382 req, out := c.GetMultiRegionAccessPointPolicyStatusRequest(input) 3383 req.SetContext(ctx) 3384 req.ApplyOptions(opts...) 3385 return out, req.Send() 3386} 3387 3388const opGetPublicAccessBlock = "GetPublicAccessBlock" 3389 3390// GetPublicAccessBlockRequest generates a "aws/request.Request" representing the 3391// client's request for the GetPublicAccessBlock operation. The "output" return 3392// value will be populated with the request's response once the request completes 3393// successfully. 3394// 3395// Use "Send" method on the returned Request to send the API call to the service. 3396// the "output" return value is not valid until after Send returns without error. 3397// 3398// See GetPublicAccessBlock for more information on using the GetPublicAccessBlock 3399// API call, and error handling. 3400// 3401// This method is useful when you want to inject custom logic or configuration 3402// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3403// 3404// 3405// // Example sending a request using the GetPublicAccessBlockRequest method. 3406// req, resp := client.GetPublicAccessBlockRequest(params) 3407// 3408// err := req.Send() 3409// if err == nil { // resp is now filled 3410// fmt.Println(resp) 3411// } 3412// 3413// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetPublicAccessBlock 3414func (c *S3Control) GetPublicAccessBlockRequest(input *GetPublicAccessBlockInput) (req *request.Request, output *GetPublicAccessBlockOutput) { 3415 op := &request.Operation{ 3416 Name: opGetPublicAccessBlock, 3417 HTTPMethod: "GET", 3418 HTTPPath: "/v20180820/configuration/publicAccessBlock", 3419 } 3420 3421 if input == nil { 3422 input = &GetPublicAccessBlockInput{} 3423 } 3424 3425 output = &GetPublicAccessBlockOutput{} 3426 req = c.newRequest(op, input, output) 3427 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 3428 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 3429 return 3430} 3431 3432// GetPublicAccessBlock API operation for AWS S3 Control. 3433// 3434// Retrieves the PublicAccessBlock configuration for an Amazon Web Services 3435// account. For more information, see Using Amazon S3 block public access (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html). 3436// 3437// Related actions include: 3438// 3439// * DeletePublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeletePublicAccessBlock.html) 3440// 3441// * PutPublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutPublicAccessBlock.html) 3442// 3443// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3444// with awserr.Error's Code and Message methods to get detailed information about 3445// the error. 3446// 3447// See the AWS API reference guide for AWS S3 Control's 3448// API operation GetPublicAccessBlock for usage and error information. 3449// 3450// Returned Error Codes: 3451// * ErrCodeNoSuchPublicAccessBlockConfiguration "NoSuchPublicAccessBlockConfiguration" 3452// Amazon S3 throws this exception if you make a GetPublicAccessBlock request 3453// against an account that doesn't have a PublicAccessBlockConfiguration set. 3454// 3455// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetPublicAccessBlock 3456func (c *S3Control) GetPublicAccessBlock(input *GetPublicAccessBlockInput) (*GetPublicAccessBlockOutput, error) { 3457 req, out := c.GetPublicAccessBlockRequest(input) 3458 return out, req.Send() 3459} 3460 3461// GetPublicAccessBlockWithContext is the same as GetPublicAccessBlock with the addition of 3462// the ability to pass a context and additional request options. 3463// 3464// See GetPublicAccessBlock for details on how to use this API operation. 3465// 3466// The context must be non-nil and will be used for request cancellation. If 3467// the context is nil a panic will occur. In the future the SDK may create 3468// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3469// for more information on using Contexts. 3470func (c *S3Control) GetPublicAccessBlockWithContext(ctx aws.Context, input *GetPublicAccessBlockInput, opts ...request.Option) (*GetPublicAccessBlockOutput, error) { 3471 req, out := c.GetPublicAccessBlockRequest(input) 3472 req.SetContext(ctx) 3473 req.ApplyOptions(opts...) 3474 return out, req.Send() 3475} 3476 3477const opGetStorageLensConfiguration = "GetStorageLensConfiguration" 3478 3479// GetStorageLensConfigurationRequest generates a "aws/request.Request" representing the 3480// client's request for the GetStorageLensConfiguration operation. The "output" return 3481// value will be populated with the request's response once the request completes 3482// successfully. 3483// 3484// Use "Send" method on the returned Request to send the API call to the service. 3485// the "output" return value is not valid until after Send returns without error. 3486// 3487// See GetStorageLensConfiguration for more information on using the GetStorageLensConfiguration 3488// API call, and error handling. 3489// 3490// This method is useful when you want to inject custom logic or configuration 3491// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3492// 3493// 3494// // Example sending a request using the GetStorageLensConfigurationRequest method. 3495// req, resp := client.GetStorageLensConfigurationRequest(params) 3496// 3497// err := req.Send() 3498// if err == nil { // resp is now filled 3499// fmt.Println(resp) 3500// } 3501// 3502// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetStorageLensConfiguration 3503func (c *S3Control) GetStorageLensConfigurationRequest(input *GetStorageLensConfigurationInput) (req *request.Request, output *GetStorageLensConfigurationOutput) { 3504 op := &request.Operation{ 3505 Name: opGetStorageLensConfiguration, 3506 HTTPMethod: "GET", 3507 HTTPPath: "/v20180820/storagelens/{storagelensid}", 3508 } 3509 3510 if input == nil { 3511 input = &GetStorageLensConfigurationInput{} 3512 } 3513 3514 output = &GetStorageLensConfigurationOutput{} 3515 req = c.newRequest(op, input, output) 3516 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 3517 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 3518 return 3519} 3520 3521// GetStorageLensConfiguration API operation for AWS S3 Control. 3522// 3523// Gets the Amazon S3 Storage Lens configuration. For more information, see 3524// Assessing your storage activity and usage with Amazon S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html) 3525// in the Amazon S3 User Guide. 3526// 3527// To use this action, you must have permission to perform the s3:GetStorageLensConfiguration 3528// action. For more information, see Setting permissions to use Amazon S3 Storage 3529// Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html) 3530// in the Amazon S3 User Guide. 3531// 3532// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3533// with awserr.Error's Code and Message methods to get detailed information about 3534// the error. 3535// 3536// See the AWS API reference guide for AWS S3 Control's 3537// API operation GetStorageLensConfiguration for usage and error information. 3538// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetStorageLensConfiguration 3539func (c *S3Control) GetStorageLensConfiguration(input *GetStorageLensConfigurationInput) (*GetStorageLensConfigurationOutput, error) { 3540 req, out := c.GetStorageLensConfigurationRequest(input) 3541 return out, req.Send() 3542} 3543 3544// GetStorageLensConfigurationWithContext is the same as GetStorageLensConfiguration with the addition of 3545// the ability to pass a context and additional request options. 3546// 3547// See GetStorageLensConfiguration for details on how to use this API operation. 3548// 3549// The context must be non-nil and will be used for request cancellation. If 3550// the context is nil a panic will occur. In the future the SDK may create 3551// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3552// for more information on using Contexts. 3553func (c *S3Control) GetStorageLensConfigurationWithContext(ctx aws.Context, input *GetStorageLensConfigurationInput, opts ...request.Option) (*GetStorageLensConfigurationOutput, error) { 3554 req, out := c.GetStorageLensConfigurationRequest(input) 3555 req.SetContext(ctx) 3556 req.ApplyOptions(opts...) 3557 return out, req.Send() 3558} 3559 3560const opGetStorageLensConfigurationTagging = "GetStorageLensConfigurationTagging" 3561 3562// GetStorageLensConfigurationTaggingRequest generates a "aws/request.Request" representing the 3563// client's request for the GetStorageLensConfigurationTagging operation. The "output" return 3564// value will be populated with the request's response once the request completes 3565// successfully. 3566// 3567// Use "Send" method on the returned Request to send the API call to the service. 3568// the "output" return value is not valid until after Send returns without error. 3569// 3570// See GetStorageLensConfigurationTagging for more information on using the GetStorageLensConfigurationTagging 3571// API call, and error handling. 3572// 3573// This method is useful when you want to inject custom logic or configuration 3574// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3575// 3576// 3577// // Example sending a request using the GetStorageLensConfigurationTaggingRequest method. 3578// req, resp := client.GetStorageLensConfigurationTaggingRequest(params) 3579// 3580// err := req.Send() 3581// if err == nil { // resp is now filled 3582// fmt.Println(resp) 3583// } 3584// 3585// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetStorageLensConfigurationTagging 3586func (c *S3Control) GetStorageLensConfigurationTaggingRequest(input *GetStorageLensConfigurationTaggingInput) (req *request.Request, output *GetStorageLensConfigurationTaggingOutput) { 3587 op := &request.Operation{ 3588 Name: opGetStorageLensConfigurationTagging, 3589 HTTPMethod: "GET", 3590 HTTPPath: "/v20180820/storagelens/{storagelensid}/tagging", 3591 } 3592 3593 if input == nil { 3594 input = &GetStorageLensConfigurationTaggingInput{} 3595 } 3596 3597 output = &GetStorageLensConfigurationTaggingOutput{} 3598 req = c.newRequest(op, input, output) 3599 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 3600 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 3601 return 3602} 3603 3604// GetStorageLensConfigurationTagging API operation for AWS S3 Control. 3605// 3606// Gets the tags of Amazon S3 Storage Lens configuration. For more information 3607// about S3 Storage Lens, see Assessing your storage activity and usage with 3608// Amazon S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html) 3609// in the Amazon S3 User Guide. 3610// 3611// To use this action, you must have permission to perform the s3:GetStorageLensConfigurationTagging 3612// action. For more information, see Setting permissions to use Amazon S3 Storage 3613// Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html) 3614// in the Amazon S3 User Guide. 3615// 3616// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3617// with awserr.Error's Code and Message methods to get detailed information about 3618// the error. 3619// 3620// See the AWS API reference guide for AWS S3 Control's 3621// API operation GetStorageLensConfigurationTagging for usage and error information. 3622// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetStorageLensConfigurationTagging 3623func (c *S3Control) GetStorageLensConfigurationTagging(input *GetStorageLensConfigurationTaggingInput) (*GetStorageLensConfigurationTaggingOutput, error) { 3624 req, out := c.GetStorageLensConfigurationTaggingRequest(input) 3625 return out, req.Send() 3626} 3627 3628// GetStorageLensConfigurationTaggingWithContext is the same as GetStorageLensConfigurationTagging with the addition of 3629// the ability to pass a context and additional request options. 3630// 3631// See GetStorageLensConfigurationTagging for details on how to use this API operation. 3632// 3633// The context must be non-nil and will be used for request cancellation. If 3634// the context is nil a panic will occur. In the future the SDK may create 3635// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3636// for more information on using Contexts. 3637func (c *S3Control) GetStorageLensConfigurationTaggingWithContext(ctx aws.Context, input *GetStorageLensConfigurationTaggingInput, opts ...request.Option) (*GetStorageLensConfigurationTaggingOutput, error) { 3638 req, out := c.GetStorageLensConfigurationTaggingRequest(input) 3639 req.SetContext(ctx) 3640 req.ApplyOptions(opts...) 3641 return out, req.Send() 3642} 3643 3644const opListAccessPoints = "ListAccessPoints" 3645 3646// ListAccessPointsRequest generates a "aws/request.Request" representing the 3647// client's request for the ListAccessPoints operation. The "output" return 3648// value will be populated with the request's response once the request completes 3649// successfully. 3650// 3651// Use "Send" method on the returned Request to send the API call to the service. 3652// the "output" return value is not valid until after Send returns without error. 3653// 3654// See ListAccessPoints for more information on using the ListAccessPoints 3655// API call, and error handling. 3656// 3657// This method is useful when you want to inject custom logic or configuration 3658// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3659// 3660// 3661// // Example sending a request using the ListAccessPointsRequest method. 3662// req, resp := client.ListAccessPointsRequest(params) 3663// 3664// err := req.Send() 3665// if err == nil { // resp is now filled 3666// fmt.Println(resp) 3667// } 3668// 3669// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessPoints 3670func (c *S3Control) ListAccessPointsRequest(input *ListAccessPointsInput) (req *request.Request, output *ListAccessPointsOutput) { 3671 op := &request.Operation{ 3672 Name: opListAccessPoints, 3673 HTTPMethod: "GET", 3674 HTTPPath: "/v20180820/accesspoint", 3675 Paginator: &request.Paginator{ 3676 InputTokens: []string{"NextToken"}, 3677 OutputTokens: []string{"NextToken"}, 3678 LimitToken: "MaxResults", 3679 TruncationToken: "", 3680 }, 3681 } 3682 3683 if input == nil { 3684 input = &ListAccessPointsInput{} 3685 } 3686 3687 output = &ListAccessPointsOutput{} 3688 req = c.newRequest(op, input, output) 3689 // update account id or check if provided input for account id member matches 3690 // the account id present in ARN 3691 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 3692 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 3693 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 3694 return 3695} 3696 3697// ListAccessPoints API operation for AWS S3 Control. 3698// 3699// Returns a list of the access points currently associated with the specified 3700// bucket. You can retrieve up to 1000 access points per call. If the specified 3701// bucket has more than 1,000 access points (or the number specified in maxResults, 3702// whichever is less), the response will include a continuation token that you 3703// can use to list the additional access points. 3704// 3705// All Amazon S3 on Outposts REST API requests for this action require an additional 3706// parameter of x-amz-outpost-id to be passed with the request and an S3 on 3707// Outposts endpoint hostname prefix instead of s3-control. For an example of 3708// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 3709// endpoint hostname prefix and the x-amz-outpost-id derived using the access 3710// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html#API_control_GetAccessPoint_Examples) 3711// section. 3712// 3713// The following actions are related to ListAccessPoints: 3714// 3715// * CreateAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPoint.html) 3716// 3717// * DeleteAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPoint.html) 3718// 3719// * GetAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html) 3720// 3721// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3722// with awserr.Error's Code and Message methods to get detailed information about 3723// the error. 3724// 3725// See the AWS API reference guide for AWS S3 Control's 3726// API operation ListAccessPoints for usage and error information. 3727// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessPoints 3728func (c *S3Control) ListAccessPoints(input *ListAccessPointsInput) (*ListAccessPointsOutput, error) { 3729 req, out := c.ListAccessPointsRequest(input) 3730 return out, req.Send() 3731} 3732 3733// ListAccessPointsWithContext is the same as ListAccessPoints with the addition of 3734// the ability to pass a context and additional request options. 3735// 3736// See ListAccessPoints for details on how to use this API operation. 3737// 3738// The context must be non-nil and will be used for request cancellation. If 3739// the context is nil a panic will occur. In the future the SDK may create 3740// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3741// for more information on using Contexts. 3742func (c *S3Control) ListAccessPointsWithContext(ctx aws.Context, input *ListAccessPointsInput, opts ...request.Option) (*ListAccessPointsOutput, error) { 3743 req, out := c.ListAccessPointsRequest(input) 3744 req.SetContext(ctx) 3745 req.ApplyOptions(opts...) 3746 return out, req.Send() 3747} 3748 3749// ListAccessPointsPages iterates over the pages of a ListAccessPoints operation, 3750// calling the "fn" function with the response data for each page. To stop 3751// iterating, return false from the fn function. 3752// 3753// See ListAccessPoints method for more information on how to use this operation. 3754// 3755// Note: This operation can generate multiple requests to a service. 3756// 3757// // Example iterating over at most 3 pages of a ListAccessPoints operation. 3758// pageNum := 0 3759// err := client.ListAccessPointsPages(params, 3760// func(page *s3control.ListAccessPointsOutput, lastPage bool) bool { 3761// pageNum++ 3762// fmt.Println(page) 3763// return pageNum <= 3 3764// }) 3765// 3766func (c *S3Control) ListAccessPointsPages(input *ListAccessPointsInput, fn func(*ListAccessPointsOutput, bool) bool) error { 3767 return c.ListAccessPointsPagesWithContext(aws.BackgroundContext(), input, fn) 3768} 3769 3770// ListAccessPointsPagesWithContext same as ListAccessPointsPages except 3771// it takes a Context and allows setting request options on the pages. 3772// 3773// The context must be non-nil and will be used for request cancellation. If 3774// the context is nil a panic will occur. In the future the SDK may create 3775// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3776// for more information on using Contexts. 3777func (c *S3Control) ListAccessPointsPagesWithContext(ctx aws.Context, input *ListAccessPointsInput, fn func(*ListAccessPointsOutput, bool) bool, opts ...request.Option) error { 3778 p := request.Pagination{ 3779 NewRequest: func() (*request.Request, error) { 3780 var inCpy *ListAccessPointsInput 3781 if input != nil { 3782 tmp := *input 3783 inCpy = &tmp 3784 } 3785 req, _ := c.ListAccessPointsRequest(inCpy) 3786 req.SetContext(ctx) 3787 req.ApplyOptions(opts...) 3788 return req, nil 3789 }, 3790 } 3791 3792 for p.Next() { 3793 if !fn(p.Page().(*ListAccessPointsOutput), !p.HasNextPage()) { 3794 break 3795 } 3796 } 3797 3798 return p.Err() 3799} 3800 3801const opListAccessPointsForObjectLambda = "ListAccessPointsForObjectLambda" 3802 3803// ListAccessPointsForObjectLambdaRequest generates a "aws/request.Request" representing the 3804// client's request for the ListAccessPointsForObjectLambda operation. The "output" return 3805// value will be populated with the request's response once the request completes 3806// successfully. 3807// 3808// Use "Send" method on the returned Request to send the API call to the service. 3809// the "output" return value is not valid until after Send returns without error. 3810// 3811// See ListAccessPointsForObjectLambda for more information on using the ListAccessPointsForObjectLambda 3812// API call, and error handling. 3813// 3814// This method is useful when you want to inject custom logic or configuration 3815// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3816// 3817// 3818// // Example sending a request using the ListAccessPointsForObjectLambdaRequest method. 3819// req, resp := client.ListAccessPointsForObjectLambdaRequest(params) 3820// 3821// err := req.Send() 3822// if err == nil { // resp is now filled 3823// fmt.Println(resp) 3824// } 3825// 3826// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessPointsForObjectLambda 3827func (c *S3Control) ListAccessPointsForObjectLambdaRequest(input *ListAccessPointsForObjectLambdaInput) (req *request.Request, output *ListAccessPointsForObjectLambdaOutput) { 3828 op := &request.Operation{ 3829 Name: opListAccessPointsForObjectLambda, 3830 HTTPMethod: "GET", 3831 HTTPPath: "/v20180820/accesspointforobjectlambda", 3832 Paginator: &request.Paginator{ 3833 InputTokens: []string{"NextToken"}, 3834 OutputTokens: []string{"NextToken"}, 3835 LimitToken: "MaxResults", 3836 TruncationToken: "", 3837 }, 3838 } 3839 3840 if input == nil { 3841 input = &ListAccessPointsForObjectLambdaInput{} 3842 } 3843 3844 output = &ListAccessPointsForObjectLambdaOutput{} 3845 req = c.newRequest(op, input, output) 3846 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 3847 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 3848 return 3849} 3850 3851// ListAccessPointsForObjectLambda API operation for AWS S3 Control. 3852// 3853// Returns a list of the access points associated with the Object Lambda Access 3854// Point. You can retrieve up to 1000 access points per call. If there are more 3855// than 1,000 access points (or the number specified in maxResults, whichever 3856// is less), the response will include a continuation token that you can use 3857// to list the additional access points. 3858// 3859// The following actions are related to ListAccessPointsForObjectLambda: 3860// 3861// * CreateAccessPointForObjectLambda (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPointForObjectLambda.html) 3862// 3863// * DeleteAccessPointForObjectLambda (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointForObjectLambda.html) 3864// 3865// * GetAccessPointForObjectLambda (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointForObjectLambda.html) 3866// 3867// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3868// with awserr.Error's Code and Message methods to get detailed information about 3869// the error. 3870// 3871// See the AWS API reference guide for AWS S3 Control's 3872// API operation ListAccessPointsForObjectLambda for usage and error information. 3873// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessPointsForObjectLambda 3874func (c *S3Control) ListAccessPointsForObjectLambda(input *ListAccessPointsForObjectLambdaInput) (*ListAccessPointsForObjectLambdaOutput, error) { 3875 req, out := c.ListAccessPointsForObjectLambdaRequest(input) 3876 return out, req.Send() 3877} 3878 3879// ListAccessPointsForObjectLambdaWithContext is the same as ListAccessPointsForObjectLambda with the addition of 3880// the ability to pass a context and additional request options. 3881// 3882// See ListAccessPointsForObjectLambda for details on how to use this API operation. 3883// 3884// The context must be non-nil and will be used for request cancellation. If 3885// the context is nil a panic will occur. In the future the SDK may create 3886// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3887// for more information on using Contexts. 3888func (c *S3Control) ListAccessPointsForObjectLambdaWithContext(ctx aws.Context, input *ListAccessPointsForObjectLambdaInput, opts ...request.Option) (*ListAccessPointsForObjectLambdaOutput, error) { 3889 req, out := c.ListAccessPointsForObjectLambdaRequest(input) 3890 req.SetContext(ctx) 3891 req.ApplyOptions(opts...) 3892 return out, req.Send() 3893} 3894 3895// ListAccessPointsForObjectLambdaPages iterates over the pages of a ListAccessPointsForObjectLambda operation, 3896// calling the "fn" function with the response data for each page. To stop 3897// iterating, return false from the fn function. 3898// 3899// See ListAccessPointsForObjectLambda method for more information on how to use this operation. 3900// 3901// Note: This operation can generate multiple requests to a service. 3902// 3903// // Example iterating over at most 3 pages of a ListAccessPointsForObjectLambda operation. 3904// pageNum := 0 3905// err := client.ListAccessPointsForObjectLambdaPages(params, 3906// func(page *s3control.ListAccessPointsForObjectLambdaOutput, lastPage bool) bool { 3907// pageNum++ 3908// fmt.Println(page) 3909// return pageNum <= 3 3910// }) 3911// 3912func (c *S3Control) ListAccessPointsForObjectLambdaPages(input *ListAccessPointsForObjectLambdaInput, fn func(*ListAccessPointsForObjectLambdaOutput, bool) bool) error { 3913 return c.ListAccessPointsForObjectLambdaPagesWithContext(aws.BackgroundContext(), input, fn) 3914} 3915 3916// ListAccessPointsForObjectLambdaPagesWithContext same as ListAccessPointsForObjectLambdaPages except 3917// it takes a Context and allows setting request options on the pages. 3918// 3919// The context must be non-nil and will be used for request cancellation. If 3920// the context is nil a panic will occur. In the future the SDK may create 3921// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3922// for more information on using Contexts. 3923func (c *S3Control) ListAccessPointsForObjectLambdaPagesWithContext(ctx aws.Context, input *ListAccessPointsForObjectLambdaInput, fn func(*ListAccessPointsForObjectLambdaOutput, bool) bool, opts ...request.Option) error { 3924 p := request.Pagination{ 3925 NewRequest: func() (*request.Request, error) { 3926 var inCpy *ListAccessPointsForObjectLambdaInput 3927 if input != nil { 3928 tmp := *input 3929 inCpy = &tmp 3930 } 3931 req, _ := c.ListAccessPointsForObjectLambdaRequest(inCpy) 3932 req.SetContext(ctx) 3933 req.ApplyOptions(opts...) 3934 return req, nil 3935 }, 3936 } 3937 3938 for p.Next() { 3939 if !fn(p.Page().(*ListAccessPointsForObjectLambdaOutput), !p.HasNextPage()) { 3940 break 3941 } 3942 } 3943 3944 return p.Err() 3945} 3946 3947const opListJobs = "ListJobs" 3948 3949// ListJobsRequest generates a "aws/request.Request" representing the 3950// client's request for the ListJobs operation. The "output" return 3951// value will be populated with the request's response once the request completes 3952// successfully. 3953// 3954// Use "Send" method on the returned Request to send the API call to the service. 3955// the "output" return value is not valid until after Send returns without error. 3956// 3957// See ListJobs for more information on using the ListJobs 3958// API call, and error handling. 3959// 3960// This method is useful when you want to inject custom logic or configuration 3961// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3962// 3963// 3964// // Example sending a request using the ListJobsRequest method. 3965// req, resp := client.ListJobsRequest(params) 3966// 3967// err := req.Send() 3968// if err == nil { // resp is now filled 3969// fmt.Println(resp) 3970// } 3971// 3972// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListJobs 3973func (c *S3Control) ListJobsRequest(input *ListJobsInput) (req *request.Request, output *ListJobsOutput) { 3974 op := &request.Operation{ 3975 Name: opListJobs, 3976 HTTPMethod: "GET", 3977 HTTPPath: "/v20180820/jobs", 3978 Paginator: &request.Paginator{ 3979 InputTokens: []string{"NextToken"}, 3980 OutputTokens: []string{"NextToken"}, 3981 LimitToken: "MaxResults", 3982 TruncationToken: "", 3983 }, 3984 } 3985 3986 if input == nil { 3987 input = &ListJobsInput{} 3988 } 3989 3990 output = &ListJobsOutput{} 3991 req = c.newRequest(op, input, output) 3992 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 3993 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 3994 return 3995} 3996 3997// ListJobs API operation for AWS S3 Control. 3998// 3999// Lists current S3 Batch Operations jobs and jobs that have ended within the 4000// last 30 days for the Amazon Web Services account making the request. For 4001// more information, see S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html) 4002// in the Amazon S3 User Guide. 4003// 4004// Related actions include: 4005// 4006// * CreateJob (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html) 4007// 4008// * DescribeJob (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeJob.html) 4009// 4010// * UpdateJobPriority (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobPriority.html) 4011// 4012// * UpdateJobStatus (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobStatus.html) 4013// 4014// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4015// with awserr.Error's Code and Message methods to get detailed information about 4016// the error. 4017// 4018// See the AWS API reference guide for AWS S3 Control's 4019// API operation ListJobs for usage and error information. 4020// 4021// Returned Error Codes: 4022// * ErrCodeInvalidRequestException "InvalidRequestException" 4023// 4024// * ErrCodeInternalServiceException "InternalServiceException" 4025// 4026// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" 4027// 4028// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListJobs 4029func (c *S3Control) ListJobs(input *ListJobsInput) (*ListJobsOutput, error) { 4030 req, out := c.ListJobsRequest(input) 4031 return out, req.Send() 4032} 4033 4034// ListJobsWithContext is the same as ListJobs with the addition of 4035// the ability to pass a context and additional request options. 4036// 4037// See ListJobs for details on how to use this API operation. 4038// 4039// The context must be non-nil and will be used for request cancellation. If 4040// the context is nil a panic will occur. In the future the SDK may create 4041// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4042// for more information on using Contexts. 4043func (c *S3Control) ListJobsWithContext(ctx aws.Context, input *ListJobsInput, opts ...request.Option) (*ListJobsOutput, error) { 4044 req, out := c.ListJobsRequest(input) 4045 req.SetContext(ctx) 4046 req.ApplyOptions(opts...) 4047 return out, req.Send() 4048} 4049 4050// ListJobsPages iterates over the pages of a ListJobs operation, 4051// calling the "fn" function with the response data for each page. To stop 4052// iterating, return false from the fn function. 4053// 4054// See ListJobs method for more information on how to use this operation. 4055// 4056// Note: This operation can generate multiple requests to a service. 4057// 4058// // Example iterating over at most 3 pages of a ListJobs operation. 4059// pageNum := 0 4060// err := client.ListJobsPages(params, 4061// func(page *s3control.ListJobsOutput, lastPage bool) bool { 4062// pageNum++ 4063// fmt.Println(page) 4064// return pageNum <= 3 4065// }) 4066// 4067func (c *S3Control) ListJobsPages(input *ListJobsInput, fn func(*ListJobsOutput, bool) bool) error { 4068 return c.ListJobsPagesWithContext(aws.BackgroundContext(), input, fn) 4069} 4070 4071// ListJobsPagesWithContext same as ListJobsPages except 4072// it takes a Context and allows setting request options on the pages. 4073// 4074// The context must be non-nil and will be used for request cancellation. If 4075// the context is nil a panic will occur. In the future the SDK may create 4076// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4077// for more information on using Contexts. 4078func (c *S3Control) ListJobsPagesWithContext(ctx aws.Context, input *ListJobsInput, fn func(*ListJobsOutput, bool) bool, opts ...request.Option) error { 4079 p := request.Pagination{ 4080 NewRequest: func() (*request.Request, error) { 4081 var inCpy *ListJobsInput 4082 if input != nil { 4083 tmp := *input 4084 inCpy = &tmp 4085 } 4086 req, _ := c.ListJobsRequest(inCpy) 4087 req.SetContext(ctx) 4088 req.ApplyOptions(opts...) 4089 return req, nil 4090 }, 4091 } 4092 4093 for p.Next() { 4094 if !fn(p.Page().(*ListJobsOutput), !p.HasNextPage()) { 4095 break 4096 } 4097 } 4098 4099 return p.Err() 4100} 4101 4102const opListMultiRegionAccessPoints = "ListMultiRegionAccessPoints" 4103 4104// ListMultiRegionAccessPointsRequest generates a "aws/request.Request" representing the 4105// client's request for the ListMultiRegionAccessPoints operation. The "output" return 4106// value will be populated with the request's response once the request completes 4107// successfully. 4108// 4109// Use "Send" method on the returned Request to send the API call to the service. 4110// the "output" return value is not valid until after Send returns without error. 4111// 4112// See ListMultiRegionAccessPoints for more information on using the ListMultiRegionAccessPoints 4113// API call, and error handling. 4114// 4115// This method is useful when you want to inject custom logic or configuration 4116// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4117// 4118// 4119// // Example sending a request using the ListMultiRegionAccessPointsRequest method. 4120// req, resp := client.ListMultiRegionAccessPointsRequest(params) 4121// 4122// err := req.Send() 4123// if err == nil { // resp is now filled 4124// fmt.Println(resp) 4125// } 4126// 4127// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListMultiRegionAccessPoints 4128func (c *S3Control) ListMultiRegionAccessPointsRequest(input *ListMultiRegionAccessPointsInput) (req *request.Request, output *ListMultiRegionAccessPointsOutput) { 4129 op := &request.Operation{ 4130 Name: opListMultiRegionAccessPoints, 4131 HTTPMethod: "GET", 4132 HTTPPath: "/v20180820/mrap/instances", 4133 Paginator: &request.Paginator{ 4134 InputTokens: []string{"NextToken"}, 4135 OutputTokens: []string{"NextToken"}, 4136 LimitToken: "MaxResults", 4137 TruncationToken: "", 4138 }, 4139 } 4140 4141 if input == nil { 4142 input = &ListMultiRegionAccessPointsInput{} 4143 } 4144 4145 output = &ListMultiRegionAccessPointsOutput{} 4146 req = c.newRequest(op, input, output) 4147 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 4148 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 4149 req.Handlers.Build.PushBackNamed(request.NamedHandler{ 4150 Name: "contentMd5Handler", 4151 Fn: checksum.AddBodyContentMD5Handler, 4152 }) 4153 return 4154} 4155 4156// ListMultiRegionAccessPoints API operation for AWS S3 Control. 4157// 4158// Returns a list of the Multi-Region Access Points currently associated with 4159// the specified Amazon Web Services account. Each call can return up to 100 4160// Multi-Region Access Points, the maximum number of Multi-Region Access Points 4161// that can be associated with a single account. 4162// 4163// This action will always be routed to the US West (Oregon) Region. For more 4164// information about the restrictions around managing Multi-Region Access Points, 4165// see Managing Multi-Region Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/ManagingMultiRegionAccessPoints.html) 4166// in the Amazon S3 User Guide. 4167// 4168// The following actions are related to ListMultiRegionAccessPoint: 4169// 4170// * CreateMultiRegionAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateMultiRegionAccessPoint.html) 4171// 4172// * DeleteMultiRegionAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteMultiRegionAccessPoint.html) 4173// 4174// * DescribeMultiRegionAccessPointOperation (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeMultiRegionAccessPointOperation.html) 4175// 4176// * GetMultiRegionAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPoint.html) 4177// 4178// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4179// with awserr.Error's Code and Message methods to get detailed information about 4180// the error. 4181// 4182// See the AWS API reference guide for AWS S3 Control's 4183// API operation ListMultiRegionAccessPoints for usage and error information. 4184// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListMultiRegionAccessPoints 4185func (c *S3Control) ListMultiRegionAccessPoints(input *ListMultiRegionAccessPointsInput) (*ListMultiRegionAccessPointsOutput, error) { 4186 req, out := c.ListMultiRegionAccessPointsRequest(input) 4187 return out, req.Send() 4188} 4189 4190// ListMultiRegionAccessPointsWithContext is the same as ListMultiRegionAccessPoints with the addition of 4191// the ability to pass a context and additional request options. 4192// 4193// See ListMultiRegionAccessPoints for details on how to use this API operation. 4194// 4195// The context must be non-nil and will be used for request cancellation. If 4196// the context is nil a panic will occur. In the future the SDK may create 4197// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4198// for more information on using Contexts. 4199func (c *S3Control) ListMultiRegionAccessPointsWithContext(ctx aws.Context, input *ListMultiRegionAccessPointsInput, opts ...request.Option) (*ListMultiRegionAccessPointsOutput, error) { 4200 req, out := c.ListMultiRegionAccessPointsRequest(input) 4201 req.SetContext(ctx) 4202 req.ApplyOptions(opts...) 4203 return out, req.Send() 4204} 4205 4206// ListMultiRegionAccessPointsPages iterates over the pages of a ListMultiRegionAccessPoints operation, 4207// calling the "fn" function with the response data for each page. To stop 4208// iterating, return false from the fn function. 4209// 4210// See ListMultiRegionAccessPoints method for more information on how to use this operation. 4211// 4212// Note: This operation can generate multiple requests to a service. 4213// 4214// // Example iterating over at most 3 pages of a ListMultiRegionAccessPoints operation. 4215// pageNum := 0 4216// err := client.ListMultiRegionAccessPointsPages(params, 4217// func(page *s3control.ListMultiRegionAccessPointsOutput, lastPage bool) bool { 4218// pageNum++ 4219// fmt.Println(page) 4220// return pageNum <= 3 4221// }) 4222// 4223func (c *S3Control) ListMultiRegionAccessPointsPages(input *ListMultiRegionAccessPointsInput, fn func(*ListMultiRegionAccessPointsOutput, bool) bool) error { 4224 return c.ListMultiRegionAccessPointsPagesWithContext(aws.BackgroundContext(), input, fn) 4225} 4226 4227// ListMultiRegionAccessPointsPagesWithContext same as ListMultiRegionAccessPointsPages except 4228// it takes a Context and allows setting request options on the pages. 4229// 4230// The context must be non-nil and will be used for request cancellation. If 4231// the context is nil a panic will occur. In the future the SDK may create 4232// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4233// for more information on using Contexts. 4234func (c *S3Control) ListMultiRegionAccessPointsPagesWithContext(ctx aws.Context, input *ListMultiRegionAccessPointsInput, fn func(*ListMultiRegionAccessPointsOutput, bool) bool, opts ...request.Option) error { 4235 p := request.Pagination{ 4236 NewRequest: func() (*request.Request, error) { 4237 var inCpy *ListMultiRegionAccessPointsInput 4238 if input != nil { 4239 tmp := *input 4240 inCpy = &tmp 4241 } 4242 req, _ := c.ListMultiRegionAccessPointsRequest(inCpy) 4243 req.SetContext(ctx) 4244 req.ApplyOptions(opts...) 4245 return req, nil 4246 }, 4247 } 4248 4249 for p.Next() { 4250 if !fn(p.Page().(*ListMultiRegionAccessPointsOutput), !p.HasNextPage()) { 4251 break 4252 } 4253 } 4254 4255 return p.Err() 4256} 4257 4258const opListRegionalBuckets = "ListRegionalBuckets" 4259 4260// ListRegionalBucketsRequest generates a "aws/request.Request" representing the 4261// client's request for the ListRegionalBuckets operation. The "output" return 4262// value will be populated with the request's response once the request completes 4263// successfully. 4264// 4265// Use "Send" method on the returned Request to send the API call to the service. 4266// the "output" return value is not valid until after Send returns without error. 4267// 4268// See ListRegionalBuckets for more information on using the ListRegionalBuckets 4269// API call, and error handling. 4270// 4271// This method is useful when you want to inject custom logic or configuration 4272// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4273// 4274// 4275// // Example sending a request using the ListRegionalBucketsRequest method. 4276// req, resp := client.ListRegionalBucketsRequest(params) 4277// 4278// err := req.Send() 4279// if err == nil { // resp is now filled 4280// fmt.Println(resp) 4281// } 4282// 4283// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListRegionalBuckets 4284func (c *S3Control) ListRegionalBucketsRequest(input *ListRegionalBucketsInput) (req *request.Request, output *ListRegionalBucketsOutput) { 4285 op := &request.Operation{ 4286 Name: opListRegionalBuckets, 4287 HTTPMethod: "GET", 4288 HTTPPath: "/v20180820/bucket", 4289 Paginator: &request.Paginator{ 4290 InputTokens: []string{"NextToken"}, 4291 OutputTokens: []string{"NextToken"}, 4292 LimitToken: "MaxResults", 4293 TruncationToken: "", 4294 }, 4295 } 4296 4297 if input == nil { 4298 input = &ListRegionalBucketsInput{} 4299 } 4300 4301 output = &ListRegionalBucketsOutput{} 4302 req = c.newRequest(op, input, output) 4303 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 4304 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 4305 return 4306} 4307 4308// ListRegionalBuckets API operation for AWS S3 Control. 4309// 4310// Returns a list of all Outposts buckets in an Outpost that are owned by the 4311// authenticated sender of the request. For more information, see Using Amazon 4312// S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) 4313// in the Amazon S3 User Guide. 4314// 4315// For an example of the request syntax for Amazon S3 on Outposts that uses 4316// the S3 on Outposts endpoint hostname prefix and x-amz-outpost-id in your 4317// request, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListRegionalBuckets.html#API_control_ListRegionalBuckets_Examples) 4318// section. 4319// 4320// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4321// with awserr.Error's Code and Message methods to get detailed information about 4322// the error. 4323// 4324// See the AWS API reference guide for AWS S3 Control's 4325// API operation ListRegionalBuckets for usage and error information. 4326// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListRegionalBuckets 4327func (c *S3Control) ListRegionalBuckets(input *ListRegionalBucketsInput) (*ListRegionalBucketsOutput, error) { 4328 req, out := c.ListRegionalBucketsRequest(input) 4329 return out, req.Send() 4330} 4331 4332// ListRegionalBucketsWithContext is the same as ListRegionalBuckets with the addition of 4333// the ability to pass a context and additional request options. 4334// 4335// See ListRegionalBuckets for details on how to use this API operation. 4336// 4337// The context must be non-nil and will be used for request cancellation. If 4338// the context is nil a panic will occur. In the future the SDK may create 4339// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4340// for more information on using Contexts. 4341func (c *S3Control) ListRegionalBucketsWithContext(ctx aws.Context, input *ListRegionalBucketsInput, opts ...request.Option) (*ListRegionalBucketsOutput, error) { 4342 req, out := c.ListRegionalBucketsRequest(input) 4343 req.SetContext(ctx) 4344 req.ApplyOptions(opts...) 4345 return out, req.Send() 4346} 4347 4348// ListRegionalBucketsPages iterates over the pages of a ListRegionalBuckets operation, 4349// calling the "fn" function with the response data for each page. To stop 4350// iterating, return false from the fn function. 4351// 4352// See ListRegionalBuckets method for more information on how to use this operation. 4353// 4354// Note: This operation can generate multiple requests to a service. 4355// 4356// // Example iterating over at most 3 pages of a ListRegionalBuckets operation. 4357// pageNum := 0 4358// err := client.ListRegionalBucketsPages(params, 4359// func(page *s3control.ListRegionalBucketsOutput, lastPage bool) bool { 4360// pageNum++ 4361// fmt.Println(page) 4362// return pageNum <= 3 4363// }) 4364// 4365func (c *S3Control) ListRegionalBucketsPages(input *ListRegionalBucketsInput, fn func(*ListRegionalBucketsOutput, bool) bool) error { 4366 return c.ListRegionalBucketsPagesWithContext(aws.BackgroundContext(), input, fn) 4367} 4368 4369// ListRegionalBucketsPagesWithContext same as ListRegionalBucketsPages except 4370// it takes a Context and allows setting request options on the pages. 4371// 4372// The context must be non-nil and will be used for request cancellation. If 4373// the context is nil a panic will occur. In the future the SDK may create 4374// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4375// for more information on using Contexts. 4376func (c *S3Control) ListRegionalBucketsPagesWithContext(ctx aws.Context, input *ListRegionalBucketsInput, fn func(*ListRegionalBucketsOutput, bool) bool, opts ...request.Option) error { 4377 p := request.Pagination{ 4378 NewRequest: func() (*request.Request, error) { 4379 var inCpy *ListRegionalBucketsInput 4380 if input != nil { 4381 tmp := *input 4382 inCpy = &tmp 4383 } 4384 req, _ := c.ListRegionalBucketsRequest(inCpy) 4385 req.SetContext(ctx) 4386 req.ApplyOptions(opts...) 4387 return req, nil 4388 }, 4389 } 4390 4391 for p.Next() { 4392 if !fn(p.Page().(*ListRegionalBucketsOutput), !p.HasNextPage()) { 4393 break 4394 } 4395 } 4396 4397 return p.Err() 4398} 4399 4400const opListStorageLensConfigurations = "ListStorageLensConfigurations" 4401 4402// ListStorageLensConfigurationsRequest generates a "aws/request.Request" representing the 4403// client's request for the ListStorageLensConfigurations operation. The "output" return 4404// value will be populated with the request's response once the request completes 4405// successfully. 4406// 4407// Use "Send" method on the returned Request to send the API call to the service. 4408// the "output" return value is not valid until after Send returns without error. 4409// 4410// See ListStorageLensConfigurations for more information on using the ListStorageLensConfigurations 4411// API call, and error handling. 4412// 4413// This method is useful when you want to inject custom logic or configuration 4414// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4415// 4416// 4417// // Example sending a request using the ListStorageLensConfigurationsRequest method. 4418// req, resp := client.ListStorageLensConfigurationsRequest(params) 4419// 4420// err := req.Send() 4421// if err == nil { // resp is now filled 4422// fmt.Println(resp) 4423// } 4424// 4425// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListStorageLensConfigurations 4426func (c *S3Control) ListStorageLensConfigurationsRequest(input *ListStorageLensConfigurationsInput) (req *request.Request, output *ListStorageLensConfigurationsOutput) { 4427 op := &request.Operation{ 4428 Name: opListStorageLensConfigurations, 4429 HTTPMethod: "GET", 4430 HTTPPath: "/v20180820/storagelens", 4431 Paginator: &request.Paginator{ 4432 InputTokens: []string{"NextToken"}, 4433 OutputTokens: []string{"NextToken"}, 4434 LimitToken: "", 4435 TruncationToken: "", 4436 }, 4437 } 4438 4439 if input == nil { 4440 input = &ListStorageLensConfigurationsInput{} 4441 } 4442 4443 output = &ListStorageLensConfigurationsOutput{} 4444 req = c.newRequest(op, input, output) 4445 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 4446 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 4447 return 4448} 4449 4450// ListStorageLensConfigurations API operation for AWS S3 Control. 4451// 4452// Gets a list of Amazon S3 Storage Lens configurations. For more information 4453// about S3 Storage Lens, see Assessing your storage activity and usage with 4454// Amazon S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html) 4455// in the Amazon S3 User Guide. 4456// 4457// To use this action, you must have permission to perform the s3:ListStorageLensConfigurations 4458// action. For more information, see Setting permissions to use Amazon S3 Storage 4459// Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html) 4460// in the Amazon S3 User Guide. 4461// 4462// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4463// with awserr.Error's Code and Message methods to get detailed information about 4464// the error. 4465// 4466// See the AWS API reference guide for AWS S3 Control's 4467// API operation ListStorageLensConfigurations for usage and error information. 4468// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListStorageLensConfigurations 4469func (c *S3Control) ListStorageLensConfigurations(input *ListStorageLensConfigurationsInput) (*ListStorageLensConfigurationsOutput, error) { 4470 req, out := c.ListStorageLensConfigurationsRequest(input) 4471 return out, req.Send() 4472} 4473 4474// ListStorageLensConfigurationsWithContext is the same as ListStorageLensConfigurations with the addition of 4475// the ability to pass a context and additional request options. 4476// 4477// See ListStorageLensConfigurations for details on how to use this API operation. 4478// 4479// The context must be non-nil and will be used for request cancellation. If 4480// the context is nil a panic will occur. In the future the SDK may create 4481// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4482// for more information on using Contexts. 4483func (c *S3Control) ListStorageLensConfigurationsWithContext(ctx aws.Context, input *ListStorageLensConfigurationsInput, opts ...request.Option) (*ListStorageLensConfigurationsOutput, error) { 4484 req, out := c.ListStorageLensConfigurationsRequest(input) 4485 req.SetContext(ctx) 4486 req.ApplyOptions(opts...) 4487 return out, req.Send() 4488} 4489 4490// ListStorageLensConfigurationsPages iterates over the pages of a ListStorageLensConfigurations operation, 4491// calling the "fn" function with the response data for each page. To stop 4492// iterating, return false from the fn function. 4493// 4494// See ListStorageLensConfigurations method for more information on how to use this operation. 4495// 4496// Note: This operation can generate multiple requests to a service. 4497// 4498// // Example iterating over at most 3 pages of a ListStorageLensConfigurations operation. 4499// pageNum := 0 4500// err := client.ListStorageLensConfigurationsPages(params, 4501// func(page *s3control.ListStorageLensConfigurationsOutput, lastPage bool) bool { 4502// pageNum++ 4503// fmt.Println(page) 4504// return pageNum <= 3 4505// }) 4506// 4507func (c *S3Control) ListStorageLensConfigurationsPages(input *ListStorageLensConfigurationsInput, fn func(*ListStorageLensConfigurationsOutput, bool) bool) error { 4508 return c.ListStorageLensConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn) 4509} 4510 4511// ListStorageLensConfigurationsPagesWithContext same as ListStorageLensConfigurationsPages except 4512// it takes a Context and allows setting request options on the pages. 4513// 4514// The context must be non-nil and will be used for request cancellation. If 4515// the context is nil a panic will occur. In the future the SDK may create 4516// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4517// for more information on using Contexts. 4518func (c *S3Control) ListStorageLensConfigurationsPagesWithContext(ctx aws.Context, input *ListStorageLensConfigurationsInput, fn func(*ListStorageLensConfigurationsOutput, bool) bool, opts ...request.Option) error { 4519 p := request.Pagination{ 4520 NewRequest: func() (*request.Request, error) { 4521 var inCpy *ListStorageLensConfigurationsInput 4522 if input != nil { 4523 tmp := *input 4524 inCpy = &tmp 4525 } 4526 req, _ := c.ListStorageLensConfigurationsRequest(inCpy) 4527 req.SetContext(ctx) 4528 req.ApplyOptions(opts...) 4529 return req, nil 4530 }, 4531 } 4532 4533 for p.Next() { 4534 if !fn(p.Page().(*ListStorageLensConfigurationsOutput), !p.HasNextPage()) { 4535 break 4536 } 4537 } 4538 4539 return p.Err() 4540} 4541 4542const opPutAccessPointConfigurationForObjectLambda = "PutAccessPointConfigurationForObjectLambda" 4543 4544// PutAccessPointConfigurationForObjectLambdaRequest generates a "aws/request.Request" representing the 4545// client's request for the PutAccessPointConfigurationForObjectLambda operation. The "output" return 4546// value will be populated with the request's response once the request completes 4547// successfully. 4548// 4549// Use "Send" method on the returned Request to send the API call to the service. 4550// the "output" return value is not valid until after Send returns without error. 4551// 4552// See PutAccessPointConfigurationForObjectLambda for more information on using the PutAccessPointConfigurationForObjectLambda 4553// API call, and error handling. 4554// 4555// This method is useful when you want to inject custom logic or configuration 4556// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4557// 4558// 4559// // Example sending a request using the PutAccessPointConfigurationForObjectLambdaRequest method. 4560// req, resp := client.PutAccessPointConfigurationForObjectLambdaRequest(params) 4561// 4562// err := req.Send() 4563// if err == nil { // resp is now filled 4564// fmt.Println(resp) 4565// } 4566// 4567// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutAccessPointConfigurationForObjectLambda 4568func (c *S3Control) PutAccessPointConfigurationForObjectLambdaRequest(input *PutAccessPointConfigurationForObjectLambdaInput) (req *request.Request, output *PutAccessPointConfigurationForObjectLambdaOutput) { 4569 op := &request.Operation{ 4570 Name: opPutAccessPointConfigurationForObjectLambda, 4571 HTTPMethod: "PUT", 4572 HTTPPath: "/v20180820/accesspointforobjectlambda/{name}/configuration", 4573 } 4574 4575 if input == nil { 4576 input = &PutAccessPointConfigurationForObjectLambdaInput{} 4577 } 4578 4579 output = &PutAccessPointConfigurationForObjectLambdaOutput{} 4580 req = c.newRequest(op, input, output) 4581 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4582 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 4583 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 4584 return 4585} 4586 4587// PutAccessPointConfigurationForObjectLambda API operation for AWS S3 Control. 4588// 4589// Replaces configuration for an Object Lambda Access Point. 4590// 4591// The following actions are related to PutAccessPointConfigurationForObjectLambda: 4592// 4593// * GetAccessPointConfigurationForObjectLambda (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointConfigurationForObjectLambda.html) 4594// 4595// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4596// with awserr.Error's Code and Message methods to get detailed information about 4597// the error. 4598// 4599// See the AWS API reference guide for AWS S3 Control's 4600// API operation PutAccessPointConfigurationForObjectLambda for usage and error information. 4601// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutAccessPointConfigurationForObjectLambda 4602func (c *S3Control) PutAccessPointConfigurationForObjectLambda(input *PutAccessPointConfigurationForObjectLambdaInput) (*PutAccessPointConfigurationForObjectLambdaOutput, error) { 4603 req, out := c.PutAccessPointConfigurationForObjectLambdaRequest(input) 4604 return out, req.Send() 4605} 4606 4607// PutAccessPointConfigurationForObjectLambdaWithContext is the same as PutAccessPointConfigurationForObjectLambda with the addition of 4608// the ability to pass a context and additional request options. 4609// 4610// See PutAccessPointConfigurationForObjectLambda for details on how to use this API operation. 4611// 4612// The context must be non-nil and will be used for request cancellation. If 4613// the context is nil a panic will occur. In the future the SDK may create 4614// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4615// for more information on using Contexts. 4616func (c *S3Control) PutAccessPointConfigurationForObjectLambdaWithContext(ctx aws.Context, input *PutAccessPointConfigurationForObjectLambdaInput, opts ...request.Option) (*PutAccessPointConfigurationForObjectLambdaOutput, error) { 4617 req, out := c.PutAccessPointConfigurationForObjectLambdaRequest(input) 4618 req.SetContext(ctx) 4619 req.ApplyOptions(opts...) 4620 return out, req.Send() 4621} 4622 4623const opPutAccessPointPolicy = "PutAccessPointPolicy" 4624 4625// PutAccessPointPolicyRequest generates a "aws/request.Request" representing the 4626// client's request for the PutAccessPointPolicy operation. The "output" return 4627// value will be populated with the request's response once the request completes 4628// successfully. 4629// 4630// Use "Send" method on the returned Request to send the API call to the service. 4631// the "output" return value is not valid until after Send returns without error. 4632// 4633// See PutAccessPointPolicy for more information on using the PutAccessPointPolicy 4634// API call, and error handling. 4635// 4636// This method is useful when you want to inject custom logic or configuration 4637// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4638// 4639// 4640// // Example sending a request using the PutAccessPointPolicyRequest method. 4641// req, resp := client.PutAccessPointPolicyRequest(params) 4642// 4643// err := req.Send() 4644// if err == nil { // resp is now filled 4645// fmt.Println(resp) 4646// } 4647// 4648// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutAccessPointPolicy 4649func (c *S3Control) PutAccessPointPolicyRequest(input *PutAccessPointPolicyInput) (req *request.Request, output *PutAccessPointPolicyOutput) { 4650 op := &request.Operation{ 4651 Name: opPutAccessPointPolicy, 4652 HTTPMethod: "PUT", 4653 HTTPPath: "/v20180820/accesspoint/{name}/policy", 4654 } 4655 4656 if input == nil { 4657 input = &PutAccessPointPolicyInput{} 4658 } 4659 4660 output = &PutAccessPointPolicyOutput{} 4661 req = c.newRequest(op, input, output) 4662 // update account id or check if provided input for account id member matches 4663 // the account id present in ARN 4664 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 4665 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4666 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 4667 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 4668 return 4669} 4670 4671// PutAccessPointPolicy API operation for AWS S3 Control. 4672// 4673// Associates an access policy with the specified access point. Each access 4674// point can have only one policy, so a request made to this API replaces any 4675// existing policy associated with the specified access point. 4676// 4677// All Amazon S3 on Outposts REST API requests for this action require an additional 4678// parameter of x-amz-outpost-id to be passed with the request and an S3 on 4679// Outposts endpoint hostname prefix instead of s3-control. For an example of 4680// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 4681// endpoint hostname prefix and the x-amz-outpost-id derived using the access 4682// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessPointPolicy.html#API_control_PutAccessPointPolicy_Examples) 4683// section. 4684// 4685// The following actions are related to PutAccessPointPolicy: 4686// 4687// * GetAccessPointPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointPolicy.html) 4688// 4689// * DeleteAccessPointPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointPolicy.html) 4690// 4691// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4692// with awserr.Error's Code and Message methods to get detailed information about 4693// the error. 4694// 4695// See the AWS API reference guide for AWS S3 Control's 4696// API operation PutAccessPointPolicy for usage and error information. 4697// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutAccessPointPolicy 4698func (c *S3Control) PutAccessPointPolicy(input *PutAccessPointPolicyInput) (*PutAccessPointPolicyOutput, error) { 4699 req, out := c.PutAccessPointPolicyRequest(input) 4700 return out, req.Send() 4701} 4702 4703// PutAccessPointPolicyWithContext is the same as PutAccessPointPolicy with the addition of 4704// the ability to pass a context and additional request options. 4705// 4706// See PutAccessPointPolicy for details on how to use this API operation. 4707// 4708// The context must be non-nil and will be used for request cancellation. If 4709// the context is nil a panic will occur. In the future the SDK may create 4710// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4711// for more information on using Contexts. 4712func (c *S3Control) PutAccessPointPolicyWithContext(ctx aws.Context, input *PutAccessPointPolicyInput, opts ...request.Option) (*PutAccessPointPolicyOutput, error) { 4713 req, out := c.PutAccessPointPolicyRequest(input) 4714 req.SetContext(ctx) 4715 req.ApplyOptions(opts...) 4716 return out, req.Send() 4717} 4718 4719const opPutAccessPointPolicyForObjectLambda = "PutAccessPointPolicyForObjectLambda" 4720 4721// PutAccessPointPolicyForObjectLambdaRequest generates a "aws/request.Request" representing the 4722// client's request for the PutAccessPointPolicyForObjectLambda operation. The "output" return 4723// value will be populated with the request's response once the request completes 4724// successfully. 4725// 4726// Use "Send" method on the returned Request to send the API call to the service. 4727// the "output" return value is not valid until after Send returns without error. 4728// 4729// See PutAccessPointPolicyForObjectLambda for more information on using the PutAccessPointPolicyForObjectLambda 4730// API call, and error handling. 4731// 4732// This method is useful when you want to inject custom logic or configuration 4733// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4734// 4735// 4736// // Example sending a request using the PutAccessPointPolicyForObjectLambdaRequest method. 4737// req, resp := client.PutAccessPointPolicyForObjectLambdaRequest(params) 4738// 4739// err := req.Send() 4740// if err == nil { // resp is now filled 4741// fmt.Println(resp) 4742// } 4743// 4744// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutAccessPointPolicyForObjectLambda 4745func (c *S3Control) PutAccessPointPolicyForObjectLambdaRequest(input *PutAccessPointPolicyForObjectLambdaInput) (req *request.Request, output *PutAccessPointPolicyForObjectLambdaOutput) { 4746 op := &request.Operation{ 4747 Name: opPutAccessPointPolicyForObjectLambda, 4748 HTTPMethod: "PUT", 4749 HTTPPath: "/v20180820/accesspointforobjectlambda/{name}/policy", 4750 } 4751 4752 if input == nil { 4753 input = &PutAccessPointPolicyForObjectLambdaInput{} 4754 } 4755 4756 output = &PutAccessPointPolicyForObjectLambdaOutput{} 4757 req = c.newRequest(op, input, output) 4758 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4759 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 4760 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 4761 return 4762} 4763 4764// PutAccessPointPolicyForObjectLambda API operation for AWS S3 Control. 4765// 4766// Creates or replaces resource policy for an Object Lambda Access Point. For 4767// an example policy, see Creating Object Lambda Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/olap-create.html#olap-create-cli) 4768// in the Amazon S3 User Guide. 4769// 4770// The following actions are related to PutAccessPointPolicyForObjectLambda: 4771// 4772// * DeleteAccessPointPolicyForObjectLambda (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointPolicyForObjectLambda.html) 4773// 4774// * GetAccessPointPolicyForObjectLambda (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointPolicyForObjectLambda.html) 4775// 4776// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4777// with awserr.Error's Code and Message methods to get detailed information about 4778// the error. 4779// 4780// See the AWS API reference guide for AWS S3 Control's 4781// API operation PutAccessPointPolicyForObjectLambda for usage and error information. 4782// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutAccessPointPolicyForObjectLambda 4783func (c *S3Control) PutAccessPointPolicyForObjectLambda(input *PutAccessPointPolicyForObjectLambdaInput) (*PutAccessPointPolicyForObjectLambdaOutput, error) { 4784 req, out := c.PutAccessPointPolicyForObjectLambdaRequest(input) 4785 return out, req.Send() 4786} 4787 4788// PutAccessPointPolicyForObjectLambdaWithContext is the same as PutAccessPointPolicyForObjectLambda with the addition of 4789// the ability to pass a context and additional request options. 4790// 4791// See PutAccessPointPolicyForObjectLambda for details on how to use this API operation. 4792// 4793// The context must be non-nil and will be used for request cancellation. If 4794// the context is nil a panic will occur. In the future the SDK may create 4795// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4796// for more information on using Contexts. 4797func (c *S3Control) PutAccessPointPolicyForObjectLambdaWithContext(ctx aws.Context, input *PutAccessPointPolicyForObjectLambdaInput, opts ...request.Option) (*PutAccessPointPolicyForObjectLambdaOutput, error) { 4798 req, out := c.PutAccessPointPolicyForObjectLambdaRequest(input) 4799 req.SetContext(ctx) 4800 req.ApplyOptions(opts...) 4801 return out, req.Send() 4802} 4803 4804const opPutBucketLifecycleConfiguration = "PutBucketLifecycleConfiguration" 4805 4806// PutBucketLifecycleConfigurationRequest generates a "aws/request.Request" representing the 4807// client's request for the PutBucketLifecycleConfiguration operation. The "output" return 4808// value will be populated with the request's response once the request completes 4809// successfully. 4810// 4811// Use "Send" method on the returned Request to send the API call to the service. 4812// the "output" return value is not valid until after Send returns without error. 4813// 4814// See PutBucketLifecycleConfiguration for more information on using the PutBucketLifecycleConfiguration 4815// API call, and error handling. 4816// 4817// This method is useful when you want to inject custom logic or configuration 4818// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4819// 4820// 4821// // Example sending a request using the PutBucketLifecycleConfigurationRequest method. 4822// req, resp := client.PutBucketLifecycleConfigurationRequest(params) 4823// 4824// err := req.Send() 4825// if err == nil { // resp is now filled 4826// fmt.Println(resp) 4827// } 4828// 4829// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketLifecycleConfiguration 4830func (c *S3Control) PutBucketLifecycleConfigurationRequest(input *PutBucketLifecycleConfigurationInput) (req *request.Request, output *PutBucketLifecycleConfigurationOutput) { 4831 op := &request.Operation{ 4832 Name: opPutBucketLifecycleConfiguration, 4833 HTTPMethod: "PUT", 4834 HTTPPath: "/v20180820/bucket/{name}/lifecycleconfiguration", 4835 } 4836 4837 if input == nil { 4838 input = &PutBucketLifecycleConfigurationInput{} 4839 } 4840 4841 output = &PutBucketLifecycleConfigurationOutput{} 4842 req = c.newRequest(op, input, output) 4843 // update account id or check if provided input for account id member matches 4844 // the account id present in ARN 4845 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 4846 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4847 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 4848 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 4849 req.Handlers.Build.PushBackNamed(request.NamedHandler{ 4850 Name: "contentMd5Handler", 4851 Fn: checksum.AddBodyContentMD5Handler, 4852 }) 4853 return 4854} 4855 4856// PutBucketLifecycleConfiguration API operation for AWS S3 Control. 4857// 4858// 4859// This action puts a lifecycle configuration to an Amazon S3 on Outposts bucket. 4860// To put a lifecycle configuration to an S3 bucket, see PutBucketLifecycleConfiguration 4861// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html) 4862// in the Amazon S3 API Reference. 4863// 4864// Creates a new lifecycle configuration for the S3 on Outposts bucket or replaces 4865// an existing lifecycle configuration. Outposts buckets only support lifecycle 4866// configurations that delete/expire objects after a certain period of time 4867// and abort incomplete multipart uploads. 4868// 4869// All Amazon S3 on Outposts REST API requests for this action require an additional 4870// parameter of x-amz-outpost-id to be passed with the request and an S3 on 4871// Outposts endpoint hostname prefix instead of s3-control. For an example of 4872// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 4873// endpoint hostname prefix and the x-amz-outpost-id derived using the access 4874// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketLifecycleConfiguration.html#API_control_PutBucketLifecycleConfiguration_Examples) 4875// section. 4876// 4877// The following actions are related to PutBucketLifecycleConfiguration: 4878// 4879// * GetBucketLifecycleConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketLifecycleConfiguration.html) 4880// 4881// * DeleteBucketLifecycleConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketLifecycleConfiguration.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 PutBucketLifecycleConfiguration for usage and error information. 4889// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketLifecycleConfiguration 4890func (c *S3Control) PutBucketLifecycleConfiguration(input *PutBucketLifecycleConfigurationInput) (*PutBucketLifecycleConfigurationOutput, error) { 4891 req, out := c.PutBucketLifecycleConfigurationRequest(input) 4892 return out, req.Send() 4893} 4894 4895// PutBucketLifecycleConfigurationWithContext is the same as PutBucketLifecycleConfiguration with the addition of 4896// the ability to pass a context and additional request options. 4897// 4898// See PutBucketLifecycleConfiguration for details on how to use this API operation. 4899// 4900// The context must be non-nil and will be used for request cancellation. If 4901// the context is nil a panic will occur. In the future the SDK may create 4902// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4903// for more information on using Contexts. 4904func (c *S3Control) PutBucketLifecycleConfigurationWithContext(ctx aws.Context, input *PutBucketLifecycleConfigurationInput, opts ...request.Option) (*PutBucketLifecycleConfigurationOutput, error) { 4905 req, out := c.PutBucketLifecycleConfigurationRequest(input) 4906 req.SetContext(ctx) 4907 req.ApplyOptions(opts...) 4908 return out, req.Send() 4909} 4910 4911const opPutBucketPolicy = "PutBucketPolicy" 4912 4913// PutBucketPolicyRequest generates a "aws/request.Request" representing the 4914// client's request for the PutBucketPolicy operation. The "output" return 4915// value will be populated with the request's response once the request completes 4916// successfully. 4917// 4918// Use "Send" method on the returned Request to send the API call to the service. 4919// the "output" return value is not valid until after Send returns without error. 4920// 4921// See PutBucketPolicy for more information on using the PutBucketPolicy 4922// API call, and error handling. 4923// 4924// This method is useful when you want to inject custom logic or configuration 4925// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4926// 4927// 4928// // Example sending a request using the PutBucketPolicyRequest method. 4929// req, resp := client.PutBucketPolicyRequest(params) 4930// 4931// err := req.Send() 4932// if err == nil { // resp is now filled 4933// fmt.Println(resp) 4934// } 4935// 4936// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketPolicy 4937func (c *S3Control) PutBucketPolicyRequest(input *PutBucketPolicyInput) (req *request.Request, output *PutBucketPolicyOutput) { 4938 op := &request.Operation{ 4939 Name: opPutBucketPolicy, 4940 HTTPMethod: "PUT", 4941 HTTPPath: "/v20180820/bucket/{name}/policy", 4942 } 4943 4944 if input == nil { 4945 input = &PutBucketPolicyInput{} 4946 } 4947 4948 output = &PutBucketPolicyOutput{} 4949 req = c.newRequest(op, input, output) 4950 // update account id or check if provided input for account id member matches 4951 // the account id present in ARN 4952 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 4953 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4954 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 4955 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 4956 req.Handlers.Build.PushBackNamed(request.NamedHandler{ 4957 Name: "contentMd5Handler", 4958 Fn: checksum.AddBodyContentMD5Handler, 4959 }) 4960 return 4961} 4962 4963// PutBucketPolicy API operation for AWS S3 Control. 4964// 4965// 4966// This action puts a bucket policy to an Amazon S3 on Outposts bucket. To put 4967// a policy on an S3 bucket, see PutBucketPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketPolicy.html) 4968// in the Amazon S3 API Reference. 4969// 4970// Applies an Amazon S3 bucket policy to an Outposts bucket. For more information, 4971// see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) 4972// in the Amazon S3 User Guide. 4973// 4974// If you are using an identity other than the root user of the Amazon Web Services 4975// account that owns the Outposts bucket, the calling identity must have the 4976// PutBucketPolicy permissions on the specified Outposts bucket and belong to 4977// the bucket owner's account in order to use this action. 4978// 4979// If you don't have PutBucketPolicy permissions, Amazon S3 returns a 403 Access 4980// Denied error. If you have the correct permissions, but you're not using an 4981// identity that belongs to the bucket owner's account, Amazon S3 returns a 4982// 405 Method Not Allowed error. 4983// 4984// As a security precaution, the root user of the Amazon Web Services account 4985// that owns a bucket can always use this action, even if the policy explicitly 4986// denies the root user the ability to perform this action. 4987// 4988// For more information about bucket policies, see Using Bucket Policies and 4989// User Policies (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html). 4990// 4991// All Amazon S3 on Outposts REST API requests for this action require an additional 4992// parameter of x-amz-outpost-id to be passed with the request and an S3 on 4993// Outposts endpoint hostname prefix instead of s3-control. For an example of 4994// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 4995// endpoint hostname prefix and the x-amz-outpost-id derived using the access 4996// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketPolicy.html#API_control_PutBucketPolicy_Examples) 4997// section. 4998// 4999// The following actions are related to PutBucketPolicy: 5000// 5001// * GetBucketPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketPolicy.html) 5002// 5003// * DeleteBucketPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketPolicy.html) 5004// 5005// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5006// with awserr.Error's Code and Message methods to get detailed information about 5007// the error. 5008// 5009// See the AWS API reference guide for AWS S3 Control's 5010// API operation PutBucketPolicy for usage and error information. 5011// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketPolicy 5012func (c *S3Control) PutBucketPolicy(input *PutBucketPolicyInput) (*PutBucketPolicyOutput, error) { 5013 req, out := c.PutBucketPolicyRequest(input) 5014 return out, req.Send() 5015} 5016 5017// PutBucketPolicyWithContext is the same as PutBucketPolicy with the addition of 5018// the ability to pass a context and additional request options. 5019// 5020// See PutBucketPolicy for details on how to use this API operation. 5021// 5022// The context must be non-nil and will be used for request cancellation. If 5023// the context is nil a panic will occur. In the future the SDK may create 5024// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5025// for more information on using Contexts. 5026func (c *S3Control) PutBucketPolicyWithContext(ctx aws.Context, input *PutBucketPolicyInput, opts ...request.Option) (*PutBucketPolicyOutput, error) { 5027 req, out := c.PutBucketPolicyRequest(input) 5028 req.SetContext(ctx) 5029 req.ApplyOptions(opts...) 5030 return out, req.Send() 5031} 5032 5033const opPutBucketTagging = "PutBucketTagging" 5034 5035// PutBucketTaggingRequest generates a "aws/request.Request" representing the 5036// client's request for the PutBucketTagging operation. The "output" return 5037// value will be populated with the request's response once the request completes 5038// successfully. 5039// 5040// Use "Send" method on the returned Request to send the API call to the service. 5041// the "output" return value is not valid until after Send returns without error. 5042// 5043// See PutBucketTagging for more information on using the PutBucketTagging 5044// API call, and error handling. 5045// 5046// This method is useful when you want to inject custom logic or configuration 5047// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5048// 5049// 5050// // Example sending a request using the PutBucketTaggingRequest method. 5051// req, resp := client.PutBucketTaggingRequest(params) 5052// 5053// err := req.Send() 5054// if err == nil { // resp is now filled 5055// fmt.Println(resp) 5056// } 5057// 5058// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketTagging 5059func (c *S3Control) PutBucketTaggingRequest(input *PutBucketTaggingInput) (req *request.Request, output *PutBucketTaggingOutput) { 5060 op := &request.Operation{ 5061 Name: opPutBucketTagging, 5062 HTTPMethod: "PUT", 5063 HTTPPath: "/v20180820/bucket/{name}/tagging", 5064 } 5065 5066 if input == nil { 5067 input = &PutBucketTaggingInput{} 5068 } 5069 5070 output = &PutBucketTaggingOutput{} 5071 req = c.newRequest(op, input, output) 5072 // update account id or check if provided input for account id member matches 5073 // the account id present in ARN 5074 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 5075 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 5076 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 5077 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 5078 req.Handlers.Build.PushBackNamed(request.NamedHandler{ 5079 Name: "contentMd5Handler", 5080 Fn: checksum.AddBodyContentMD5Handler, 5081 }) 5082 return 5083} 5084 5085// PutBucketTagging API operation for AWS S3 Control. 5086// 5087// 5088// This action puts tags on an Amazon S3 on Outposts bucket. To put tags on 5089// an S3 bucket, see PutBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html) 5090// in the Amazon S3 API Reference. 5091// 5092// Sets the tags for an S3 on Outposts bucket. For more information, see Using 5093// Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) 5094// in the Amazon S3 User Guide. 5095// 5096// Use tags to organize your Amazon Web Services bill to reflect your own cost 5097// structure. To do this, sign up to get your Amazon Web Services account bill 5098// with tag key values included. Then, to see the cost of combined resources, 5099// organize your billing information according to resources with the same tag 5100// key values. For example, you can tag several resources with a specific application 5101// name, and then organize your billing information to see the total cost of 5102// that application across several services. For more information, see Cost 5103// allocation and tagging (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html). 5104// 5105// Within a bucket, if you add a tag that has the same key as an existing tag, 5106// the new value overwrites the old value. For more information, see Using cost 5107// allocation in Amazon S3 bucket tags (https://docs.aws.amazon.com/AmazonS3/latest/userguide/CostAllocTagging.html). 5108// 5109// To use this action, you must have permissions to perform the s3-outposts:PutBucketTagging 5110// action. The Outposts bucket owner has this permission by default and can 5111// grant this permission to others. For more information about permissions, 5112// 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) 5113// and Managing access permissions to your Amazon S3 resources (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html). 5114// 5115// PutBucketTagging has the following special errors: 5116// 5117// * Error code: InvalidTagError Description: The tag provided was not a 5118// valid tag. This error can occur if the tag did not pass input validation. 5119// For information about tag restrictions, see User-Defined Tag Restrictions 5120// (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html) 5121// and Amazon Web Services-Generated Cost Allocation Tag Restrictions (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/aws-tag-restrictions.html). 5122// 5123// * Error code: MalformedXMLError Description: The XML provided does not 5124// match the schema. 5125// 5126// * Error code: OperationAbortedError Description: A conflicting conditional 5127// action is currently in progress against this resource. Try again. 5128// 5129// * Error code: InternalError Description: The service was unable to apply 5130// the provided tag to the bucket. 5131// 5132// All Amazon S3 on Outposts REST API requests for this action require an additional 5133// parameter of x-amz-outpost-id to be passed with the request and an S3 on 5134// Outposts endpoint hostname prefix instead of s3-control. For an example of 5135// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 5136// endpoint hostname prefix and the x-amz-outpost-id derived using the access 5137// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketTagging.html#API_control_PutBucketTagging_Examples) 5138// section. 5139// 5140// The following actions are related to PutBucketTagging: 5141// 5142// * GetBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketTagging.html) 5143// 5144// * DeleteBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketTagging.html) 5145// 5146// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5147// with awserr.Error's Code and Message methods to get detailed information about 5148// the error. 5149// 5150// See the AWS API reference guide for AWS S3 Control's 5151// API operation PutBucketTagging for usage and error information. 5152// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketTagging 5153func (c *S3Control) PutBucketTagging(input *PutBucketTaggingInput) (*PutBucketTaggingOutput, error) { 5154 req, out := c.PutBucketTaggingRequest(input) 5155 return out, req.Send() 5156} 5157 5158// PutBucketTaggingWithContext is the same as PutBucketTagging with the addition of 5159// the ability to pass a context and additional request options. 5160// 5161// See PutBucketTagging for details on how to use this API operation. 5162// 5163// The context must be non-nil and will be used for request cancellation. If 5164// the context is nil a panic will occur. In the future the SDK may create 5165// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5166// for more information on using Contexts. 5167func (c *S3Control) PutBucketTaggingWithContext(ctx aws.Context, input *PutBucketTaggingInput, opts ...request.Option) (*PutBucketTaggingOutput, error) { 5168 req, out := c.PutBucketTaggingRequest(input) 5169 req.SetContext(ctx) 5170 req.ApplyOptions(opts...) 5171 return out, req.Send() 5172} 5173 5174const opPutJobTagging = "PutJobTagging" 5175 5176// PutJobTaggingRequest generates a "aws/request.Request" representing the 5177// client's request for the PutJobTagging operation. The "output" return 5178// value will be populated with the request's response once the request completes 5179// successfully. 5180// 5181// Use "Send" method on the returned Request to send the API call to the service. 5182// the "output" return value is not valid until after Send returns without error. 5183// 5184// See PutJobTagging for more information on using the PutJobTagging 5185// API call, and error handling. 5186// 5187// This method is useful when you want to inject custom logic or configuration 5188// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5189// 5190// 5191// // Example sending a request using the PutJobTaggingRequest method. 5192// req, resp := client.PutJobTaggingRequest(params) 5193// 5194// err := req.Send() 5195// if err == nil { // resp is now filled 5196// fmt.Println(resp) 5197// } 5198// 5199// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutJobTagging 5200func (c *S3Control) PutJobTaggingRequest(input *PutJobTaggingInput) (req *request.Request, output *PutJobTaggingOutput) { 5201 op := &request.Operation{ 5202 Name: opPutJobTagging, 5203 HTTPMethod: "PUT", 5204 HTTPPath: "/v20180820/jobs/{id}/tagging", 5205 } 5206 5207 if input == nil { 5208 input = &PutJobTaggingInput{} 5209 } 5210 5211 output = &PutJobTaggingOutput{} 5212 req = c.newRequest(op, input, output) 5213 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 5214 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 5215 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 5216 return 5217} 5218 5219// PutJobTagging API operation for AWS S3 Control. 5220// 5221// Sets the supplied tag-set on an S3 Batch Operations job. 5222// 5223// A tag is a key-value pair. You can associate S3 Batch Operations tags with 5224// any job by sending a PUT request against the tagging subresource that is 5225// associated with the job. To modify the existing tag set, you can either replace 5226// the existing tag set entirely, or make changes within the existing tag set 5227// by retrieving the existing tag set using GetJobTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetJobTagging.html), 5228// modify that tag set, and use this action to replace the tag set with the 5229// one you modified. For more information, see Controlling access and labeling 5230// jobs using tags (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-managing-jobs.html#batch-ops-job-tags) 5231// in the Amazon S3 User Guide. 5232// 5233// * If you send this request with an empty tag set, Amazon S3 deletes the 5234// existing tag set on the Batch Operations job. If you use this method, 5235// you are charged for a Tier 1 Request (PUT). For more information, see 5236// Amazon S3 pricing (http://aws.amazon.com/s3/pricing/). 5237// 5238// * For deleting existing tags for your Batch Operations job, a DeleteJobTagging 5239// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteJobTagging.html) 5240// request is preferred because it achieves the same result without incurring 5241// charges. 5242// 5243// * A few things to consider about using tags: Amazon S3 limits the maximum 5244// number of tags to 50 tags per job. You can associate up to 50 tags with 5245// a job as long as they have unique tag keys. A tag key can be up to 128 5246// Unicode characters in length, and tag values can be up to 256 Unicode 5247// characters in length. The key and values are case sensitive. For tagging-related 5248// restrictions related to characters and encodings, see User-Defined Tag 5249// Restrictions (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html) 5250// in the Billing and Cost Management User Guide. 5251// 5252// To use this action, you must have permission to perform the s3:PutJobTagging 5253// action. 5254// 5255// Related actions include: 5256// 5257// * CreatJob (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html) 5258// 5259// * GetJobTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetJobTagging.html) 5260// 5261// * DeleteJobTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteJobTagging.html) 5262// 5263// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5264// with awserr.Error's Code and Message methods to get detailed information about 5265// the error. 5266// 5267// See the AWS API reference guide for AWS S3 Control's 5268// API operation PutJobTagging for usage and error information. 5269// 5270// Returned Error Codes: 5271// * ErrCodeInternalServiceException "InternalServiceException" 5272// 5273// * ErrCodeTooManyRequestsException "TooManyRequestsException" 5274// 5275// * ErrCodeNotFoundException "NotFoundException" 5276// 5277// * ErrCodeTooManyTagsException "TooManyTagsException" 5278// Amazon S3 throws this exception if you have too many tags in your tag set. 5279// 5280// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutJobTagging 5281func (c *S3Control) PutJobTagging(input *PutJobTaggingInput) (*PutJobTaggingOutput, error) { 5282 req, out := c.PutJobTaggingRequest(input) 5283 return out, req.Send() 5284} 5285 5286// PutJobTaggingWithContext is the same as PutJobTagging with the addition of 5287// the ability to pass a context and additional request options. 5288// 5289// See PutJobTagging for details on how to use this API operation. 5290// 5291// The context must be non-nil and will be used for request cancellation. If 5292// the context is nil a panic will occur. In the future the SDK may create 5293// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5294// for more information on using Contexts. 5295func (c *S3Control) PutJobTaggingWithContext(ctx aws.Context, input *PutJobTaggingInput, opts ...request.Option) (*PutJobTaggingOutput, error) { 5296 req, out := c.PutJobTaggingRequest(input) 5297 req.SetContext(ctx) 5298 req.ApplyOptions(opts...) 5299 return out, req.Send() 5300} 5301 5302const opPutMultiRegionAccessPointPolicy = "PutMultiRegionAccessPointPolicy" 5303 5304// PutMultiRegionAccessPointPolicyRequest generates a "aws/request.Request" representing the 5305// client's request for the PutMultiRegionAccessPointPolicy operation. The "output" return 5306// value will be populated with the request's response once the request completes 5307// successfully. 5308// 5309// Use "Send" method on the returned Request to send the API call to the service. 5310// the "output" return value is not valid until after Send returns without error. 5311// 5312// See PutMultiRegionAccessPointPolicy for more information on using the PutMultiRegionAccessPointPolicy 5313// API call, and error handling. 5314// 5315// This method is useful when you want to inject custom logic or configuration 5316// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5317// 5318// 5319// // Example sending a request using the PutMultiRegionAccessPointPolicyRequest method. 5320// req, resp := client.PutMultiRegionAccessPointPolicyRequest(params) 5321// 5322// err := req.Send() 5323// if err == nil { // resp is now filled 5324// fmt.Println(resp) 5325// } 5326// 5327// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutMultiRegionAccessPointPolicy 5328func (c *S3Control) PutMultiRegionAccessPointPolicyRequest(input *PutMultiRegionAccessPointPolicyInput) (req *request.Request, output *PutMultiRegionAccessPointPolicyOutput) { 5329 op := &request.Operation{ 5330 Name: opPutMultiRegionAccessPointPolicy, 5331 HTTPMethod: "POST", 5332 HTTPPath: "/v20180820/async-requests/mrap/put-policy", 5333 } 5334 5335 if input == nil { 5336 input = &PutMultiRegionAccessPointPolicyInput{} 5337 } 5338 5339 output = &PutMultiRegionAccessPointPolicyOutput{} 5340 req = c.newRequest(op, input, output) 5341 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 5342 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 5343 req.Handlers.Build.PushBackNamed(request.NamedHandler{ 5344 Name: "contentMd5Handler", 5345 Fn: checksum.AddBodyContentMD5Handler, 5346 }) 5347 return 5348} 5349 5350// PutMultiRegionAccessPointPolicy API operation for AWS S3 Control. 5351// 5352// Associates an access control policy with the specified Multi-Region Access 5353// Point. Each Multi-Region Access Point can have only one policy, so a request 5354// made to this action replaces any existing policy that is associated with 5355// the specified Multi-Region Access Point. 5356// 5357// This action will always be routed to the US West (Oregon) Region. For more 5358// information about the restrictions around managing Multi-Region Access Points, 5359// see Managing Multi-Region Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/ManagingMultiRegionAccessPoints.html) 5360// in the Amazon S3 User Guide. 5361// 5362// The following actions are related to PutMultiRegionAccessPointPolicy: 5363// 5364// * GetMultiRegionAccessPointPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPointPolicy.html) 5365// 5366// * GetMultiRegionAccessPointPolicyStatus (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPointPolicyStatus.html) 5367// 5368// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5369// with awserr.Error's Code and Message methods to get detailed information about 5370// the error. 5371// 5372// See the AWS API reference guide for AWS S3 Control's 5373// API operation PutMultiRegionAccessPointPolicy for usage and error information. 5374// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutMultiRegionAccessPointPolicy 5375func (c *S3Control) PutMultiRegionAccessPointPolicy(input *PutMultiRegionAccessPointPolicyInput) (*PutMultiRegionAccessPointPolicyOutput, error) { 5376 req, out := c.PutMultiRegionAccessPointPolicyRequest(input) 5377 return out, req.Send() 5378} 5379 5380// PutMultiRegionAccessPointPolicyWithContext is the same as PutMultiRegionAccessPointPolicy with the addition of 5381// the ability to pass a context and additional request options. 5382// 5383// See PutMultiRegionAccessPointPolicy for details on how to use this API operation. 5384// 5385// The context must be non-nil and will be used for request cancellation. If 5386// the context is nil a panic will occur. In the future the SDK may create 5387// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5388// for more information on using Contexts. 5389func (c *S3Control) PutMultiRegionAccessPointPolicyWithContext(ctx aws.Context, input *PutMultiRegionAccessPointPolicyInput, opts ...request.Option) (*PutMultiRegionAccessPointPolicyOutput, error) { 5390 req, out := c.PutMultiRegionAccessPointPolicyRequest(input) 5391 req.SetContext(ctx) 5392 req.ApplyOptions(opts...) 5393 return out, req.Send() 5394} 5395 5396const opPutPublicAccessBlock = "PutPublicAccessBlock" 5397 5398// PutPublicAccessBlockRequest generates a "aws/request.Request" representing the 5399// client's request for the PutPublicAccessBlock operation. The "output" return 5400// value will be populated with the request's response once the request completes 5401// successfully. 5402// 5403// Use "Send" method on the returned Request to send the API call to the service. 5404// the "output" return value is not valid until after Send returns without error. 5405// 5406// See PutPublicAccessBlock for more information on using the PutPublicAccessBlock 5407// API call, and error handling. 5408// 5409// This method is useful when you want to inject custom logic or configuration 5410// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5411// 5412// 5413// // Example sending a request using the PutPublicAccessBlockRequest method. 5414// req, resp := client.PutPublicAccessBlockRequest(params) 5415// 5416// err := req.Send() 5417// if err == nil { // resp is now filled 5418// fmt.Println(resp) 5419// } 5420// 5421// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutPublicAccessBlock 5422func (c *S3Control) PutPublicAccessBlockRequest(input *PutPublicAccessBlockInput) (req *request.Request, output *PutPublicAccessBlockOutput) { 5423 op := &request.Operation{ 5424 Name: opPutPublicAccessBlock, 5425 HTTPMethod: "PUT", 5426 HTTPPath: "/v20180820/configuration/publicAccessBlock", 5427 } 5428 5429 if input == nil { 5430 input = &PutPublicAccessBlockInput{} 5431 } 5432 5433 output = &PutPublicAccessBlockOutput{} 5434 req = c.newRequest(op, input, output) 5435 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 5436 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 5437 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 5438 return 5439} 5440 5441// PutPublicAccessBlock API operation for AWS S3 Control. 5442// 5443// Creates or modifies the PublicAccessBlock configuration for an Amazon Web 5444// Services account. For more information, see Using Amazon S3 block public 5445// access (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html). 5446// 5447// Related actions include: 5448// 5449// * GetPublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetPublicAccessBlock.html) 5450// 5451// * DeletePublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeletePublicAccessBlock.html) 5452// 5453// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5454// with awserr.Error's Code and Message methods to get detailed information about 5455// the error. 5456// 5457// See the AWS API reference guide for AWS S3 Control's 5458// API operation PutPublicAccessBlock for usage and error information. 5459// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutPublicAccessBlock 5460func (c *S3Control) PutPublicAccessBlock(input *PutPublicAccessBlockInput) (*PutPublicAccessBlockOutput, error) { 5461 req, out := c.PutPublicAccessBlockRequest(input) 5462 return out, req.Send() 5463} 5464 5465// PutPublicAccessBlockWithContext is the same as PutPublicAccessBlock with the addition of 5466// the ability to pass a context and additional request options. 5467// 5468// See PutPublicAccessBlock for details on how to use this API operation. 5469// 5470// The context must be non-nil and will be used for request cancellation. If 5471// the context is nil a panic will occur. In the future the SDK may create 5472// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5473// for more information on using Contexts. 5474func (c *S3Control) PutPublicAccessBlockWithContext(ctx aws.Context, input *PutPublicAccessBlockInput, opts ...request.Option) (*PutPublicAccessBlockOutput, error) { 5475 req, out := c.PutPublicAccessBlockRequest(input) 5476 req.SetContext(ctx) 5477 req.ApplyOptions(opts...) 5478 return out, req.Send() 5479} 5480 5481const opPutStorageLensConfiguration = "PutStorageLensConfiguration" 5482 5483// PutStorageLensConfigurationRequest generates a "aws/request.Request" representing the 5484// client's request for the PutStorageLensConfiguration operation. The "output" return 5485// value will be populated with the request's response once the request completes 5486// successfully. 5487// 5488// Use "Send" method on the returned Request to send the API call to the service. 5489// the "output" return value is not valid until after Send returns without error. 5490// 5491// See PutStorageLensConfiguration for more information on using the PutStorageLensConfiguration 5492// API call, and error handling. 5493// 5494// This method is useful when you want to inject custom logic or configuration 5495// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5496// 5497// 5498// // Example sending a request using the PutStorageLensConfigurationRequest method. 5499// req, resp := client.PutStorageLensConfigurationRequest(params) 5500// 5501// err := req.Send() 5502// if err == nil { // resp is now filled 5503// fmt.Println(resp) 5504// } 5505// 5506// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutStorageLensConfiguration 5507func (c *S3Control) PutStorageLensConfigurationRequest(input *PutStorageLensConfigurationInput) (req *request.Request, output *PutStorageLensConfigurationOutput) { 5508 op := &request.Operation{ 5509 Name: opPutStorageLensConfiguration, 5510 HTTPMethod: "PUT", 5511 HTTPPath: "/v20180820/storagelens/{storagelensid}", 5512 } 5513 5514 if input == nil { 5515 input = &PutStorageLensConfigurationInput{} 5516 } 5517 5518 output = &PutStorageLensConfigurationOutput{} 5519 req = c.newRequest(op, input, output) 5520 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 5521 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 5522 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 5523 return 5524} 5525 5526// PutStorageLensConfiguration API operation for AWS S3 Control. 5527// 5528// Puts an Amazon S3 Storage Lens configuration. For more information about 5529// S3 Storage Lens, see Working with Amazon S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html) 5530// in the Amazon S3 User Guide. 5531// 5532// To use this action, you must have permission to perform the s3:PutStorageLensConfiguration 5533// action. For more information, see Setting permissions to use Amazon S3 Storage 5534// Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html) 5535// in the Amazon S3 User Guide. 5536// 5537// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5538// with awserr.Error's Code and Message methods to get detailed information about 5539// the error. 5540// 5541// See the AWS API reference guide for AWS S3 Control's 5542// API operation PutStorageLensConfiguration for usage and error information. 5543// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutStorageLensConfiguration 5544func (c *S3Control) PutStorageLensConfiguration(input *PutStorageLensConfigurationInput) (*PutStorageLensConfigurationOutput, error) { 5545 req, out := c.PutStorageLensConfigurationRequest(input) 5546 return out, req.Send() 5547} 5548 5549// PutStorageLensConfigurationWithContext is the same as PutStorageLensConfiguration with the addition of 5550// the ability to pass a context and additional request options. 5551// 5552// See PutStorageLensConfiguration for details on how to use this API operation. 5553// 5554// The context must be non-nil and will be used for request cancellation. If 5555// the context is nil a panic will occur. In the future the SDK may create 5556// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5557// for more information on using Contexts. 5558func (c *S3Control) PutStorageLensConfigurationWithContext(ctx aws.Context, input *PutStorageLensConfigurationInput, opts ...request.Option) (*PutStorageLensConfigurationOutput, error) { 5559 req, out := c.PutStorageLensConfigurationRequest(input) 5560 req.SetContext(ctx) 5561 req.ApplyOptions(opts...) 5562 return out, req.Send() 5563} 5564 5565const opPutStorageLensConfigurationTagging = "PutStorageLensConfigurationTagging" 5566 5567// PutStorageLensConfigurationTaggingRequest generates a "aws/request.Request" representing the 5568// client's request for the PutStorageLensConfigurationTagging operation. The "output" return 5569// value will be populated with the request's response once the request completes 5570// successfully. 5571// 5572// Use "Send" method on the returned Request to send the API call to the service. 5573// the "output" return value is not valid until after Send returns without error. 5574// 5575// See PutStorageLensConfigurationTagging for more information on using the PutStorageLensConfigurationTagging 5576// API call, and error handling. 5577// 5578// This method is useful when you want to inject custom logic or configuration 5579// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5580// 5581// 5582// // Example sending a request using the PutStorageLensConfigurationTaggingRequest method. 5583// req, resp := client.PutStorageLensConfigurationTaggingRequest(params) 5584// 5585// err := req.Send() 5586// if err == nil { // resp is now filled 5587// fmt.Println(resp) 5588// } 5589// 5590// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutStorageLensConfigurationTagging 5591func (c *S3Control) PutStorageLensConfigurationTaggingRequest(input *PutStorageLensConfigurationTaggingInput) (req *request.Request, output *PutStorageLensConfigurationTaggingOutput) { 5592 op := &request.Operation{ 5593 Name: opPutStorageLensConfigurationTagging, 5594 HTTPMethod: "PUT", 5595 HTTPPath: "/v20180820/storagelens/{storagelensid}/tagging", 5596 } 5597 5598 if input == nil { 5599 input = &PutStorageLensConfigurationTaggingInput{} 5600 } 5601 5602 output = &PutStorageLensConfigurationTaggingOutput{} 5603 req = c.newRequest(op, input, output) 5604 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 5605 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 5606 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 5607 return 5608} 5609 5610// PutStorageLensConfigurationTagging API operation for AWS S3 Control. 5611// 5612// Put or replace tags on an existing Amazon S3 Storage Lens configuration. 5613// For more information about S3 Storage Lens, see Assessing your storage activity 5614// and usage with Amazon S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html) 5615// in the Amazon S3 User Guide. 5616// 5617// To use this action, you must have permission to perform the s3:PutStorageLensConfigurationTagging 5618// action. For more information, see Setting permissions to use Amazon S3 Storage 5619// Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html) 5620// in the Amazon S3 User Guide. 5621// 5622// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5623// with awserr.Error's Code and Message methods to get detailed information about 5624// the error. 5625// 5626// See the AWS API reference guide for AWS S3 Control's 5627// API operation PutStorageLensConfigurationTagging for usage and error information. 5628// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutStorageLensConfigurationTagging 5629func (c *S3Control) PutStorageLensConfigurationTagging(input *PutStorageLensConfigurationTaggingInput) (*PutStorageLensConfigurationTaggingOutput, error) { 5630 req, out := c.PutStorageLensConfigurationTaggingRequest(input) 5631 return out, req.Send() 5632} 5633 5634// PutStorageLensConfigurationTaggingWithContext is the same as PutStorageLensConfigurationTagging with the addition of 5635// the ability to pass a context and additional request options. 5636// 5637// See PutStorageLensConfigurationTagging for details on how to use this API operation. 5638// 5639// The context must be non-nil and will be used for request cancellation. If 5640// the context is nil a panic will occur. In the future the SDK may create 5641// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5642// for more information on using Contexts. 5643func (c *S3Control) PutStorageLensConfigurationTaggingWithContext(ctx aws.Context, input *PutStorageLensConfigurationTaggingInput, opts ...request.Option) (*PutStorageLensConfigurationTaggingOutput, error) { 5644 req, out := c.PutStorageLensConfigurationTaggingRequest(input) 5645 req.SetContext(ctx) 5646 req.ApplyOptions(opts...) 5647 return out, req.Send() 5648} 5649 5650const opUpdateJobPriority = "UpdateJobPriority" 5651 5652// UpdateJobPriorityRequest generates a "aws/request.Request" representing the 5653// client's request for the UpdateJobPriority operation. The "output" return 5654// value will be populated with the request's response once the request completes 5655// successfully. 5656// 5657// Use "Send" method on the returned Request to send the API call to the service. 5658// the "output" return value is not valid until after Send returns without error. 5659// 5660// See UpdateJobPriority for more information on using the UpdateJobPriority 5661// API call, and error handling. 5662// 5663// This method is useful when you want to inject custom logic or configuration 5664// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5665// 5666// 5667// // Example sending a request using the UpdateJobPriorityRequest method. 5668// req, resp := client.UpdateJobPriorityRequest(params) 5669// 5670// err := req.Send() 5671// if err == nil { // resp is now filled 5672// fmt.Println(resp) 5673// } 5674// 5675// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/UpdateJobPriority 5676func (c *S3Control) UpdateJobPriorityRequest(input *UpdateJobPriorityInput) (req *request.Request, output *UpdateJobPriorityOutput) { 5677 op := &request.Operation{ 5678 Name: opUpdateJobPriority, 5679 HTTPMethod: "POST", 5680 HTTPPath: "/v20180820/jobs/{id}/priority", 5681 } 5682 5683 if input == nil { 5684 input = &UpdateJobPriorityInput{} 5685 } 5686 5687 output = &UpdateJobPriorityOutput{} 5688 req = c.newRequest(op, input, output) 5689 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 5690 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 5691 return 5692} 5693 5694// UpdateJobPriority API operation for AWS S3 Control. 5695// 5696// Updates an existing S3 Batch Operations job's priority. For more information, 5697// see S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html) 5698// in the Amazon S3 User Guide. 5699// 5700// Related actions include: 5701// 5702// * CreateJob (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html) 5703// 5704// * ListJobs (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListJobs.html) 5705// 5706// * DescribeJob (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeJob.html) 5707// 5708// * UpdateJobStatus (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobStatus.html) 5709// 5710// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5711// with awserr.Error's Code and Message methods to get detailed information about 5712// the error. 5713// 5714// See the AWS API reference guide for AWS S3 Control's 5715// API operation UpdateJobPriority for usage and error information. 5716// 5717// Returned Error Codes: 5718// * ErrCodeBadRequestException "BadRequestException" 5719// 5720// * ErrCodeTooManyRequestsException "TooManyRequestsException" 5721// 5722// * ErrCodeNotFoundException "NotFoundException" 5723// 5724// * ErrCodeInternalServiceException "InternalServiceException" 5725// 5726// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/UpdateJobPriority 5727func (c *S3Control) UpdateJobPriority(input *UpdateJobPriorityInput) (*UpdateJobPriorityOutput, error) { 5728 req, out := c.UpdateJobPriorityRequest(input) 5729 return out, req.Send() 5730} 5731 5732// UpdateJobPriorityWithContext is the same as UpdateJobPriority with the addition of 5733// the ability to pass a context and additional request options. 5734// 5735// See UpdateJobPriority for details on how to use this API operation. 5736// 5737// The context must be non-nil and will be used for request cancellation. If 5738// the context is nil a panic will occur. In the future the SDK may create 5739// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5740// for more information on using Contexts. 5741func (c *S3Control) UpdateJobPriorityWithContext(ctx aws.Context, input *UpdateJobPriorityInput, opts ...request.Option) (*UpdateJobPriorityOutput, error) { 5742 req, out := c.UpdateJobPriorityRequest(input) 5743 req.SetContext(ctx) 5744 req.ApplyOptions(opts...) 5745 return out, req.Send() 5746} 5747 5748const opUpdateJobStatus = "UpdateJobStatus" 5749 5750// UpdateJobStatusRequest generates a "aws/request.Request" representing the 5751// client's request for the UpdateJobStatus operation. The "output" return 5752// value will be populated with the request's response once the request completes 5753// successfully. 5754// 5755// Use "Send" method on the returned Request to send the API call to the service. 5756// the "output" return value is not valid until after Send returns without error. 5757// 5758// See UpdateJobStatus for more information on using the UpdateJobStatus 5759// API call, and error handling. 5760// 5761// This method is useful when you want to inject custom logic or configuration 5762// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5763// 5764// 5765// // Example sending a request using the UpdateJobStatusRequest method. 5766// req, resp := client.UpdateJobStatusRequest(params) 5767// 5768// err := req.Send() 5769// if err == nil { // resp is now filled 5770// fmt.Println(resp) 5771// } 5772// 5773// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/UpdateJobStatus 5774func (c *S3Control) UpdateJobStatusRequest(input *UpdateJobStatusInput) (req *request.Request, output *UpdateJobStatusOutput) { 5775 op := &request.Operation{ 5776 Name: opUpdateJobStatus, 5777 HTTPMethod: "POST", 5778 HTTPPath: "/v20180820/jobs/{id}/status", 5779 } 5780 5781 if input == nil { 5782 input = &UpdateJobStatusInput{} 5783 } 5784 5785 output = &UpdateJobStatusOutput{} 5786 req = c.newRequest(op, input, output) 5787 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 5788 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 5789 return 5790} 5791 5792// UpdateJobStatus API operation for AWS S3 Control. 5793// 5794// Updates the status for the specified job. Use this action to confirm that 5795// you want to run a job or to cancel an existing job. For more information, 5796// see S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html) 5797// in the Amazon S3 User Guide. 5798// 5799// Related actions include: 5800// 5801// * CreateJob (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html) 5802// 5803// * ListJobs (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListJobs.html) 5804// 5805// * DescribeJob (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeJob.html) 5806// 5807// * UpdateJobStatus (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobStatus.html) 5808// 5809// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5810// with awserr.Error's Code and Message methods to get detailed information about 5811// the error. 5812// 5813// See the AWS API reference guide for AWS S3 Control's 5814// API operation UpdateJobStatus for usage and error information. 5815// 5816// Returned Error Codes: 5817// * ErrCodeBadRequestException "BadRequestException" 5818// 5819// * ErrCodeTooManyRequestsException "TooManyRequestsException" 5820// 5821// * ErrCodeNotFoundException "NotFoundException" 5822// 5823// * ErrCodeJobStatusException "JobStatusException" 5824// 5825// * ErrCodeInternalServiceException "InternalServiceException" 5826// 5827// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/UpdateJobStatus 5828func (c *S3Control) UpdateJobStatus(input *UpdateJobStatusInput) (*UpdateJobStatusOutput, error) { 5829 req, out := c.UpdateJobStatusRequest(input) 5830 return out, req.Send() 5831} 5832 5833// UpdateJobStatusWithContext is the same as UpdateJobStatus with the addition of 5834// the ability to pass a context and additional request options. 5835// 5836// See UpdateJobStatus for details on how to use this API operation. 5837// 5838// The context must be non-nil and will be used for request cancellation. If 5839// the context is nil a panic will occur. In the future the SDK may create 5840// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5841// for more information on using Contexts. 5842func (c *S3Control) UpdateJobStatusWithContext(ctx aws.Context, input *UpdateJobStatusInput, opts ...request.Option) (*UpdateJobStatusOutput, error) { 5843 req, out := c.UpdateJobStatusRequest(input) 5844 req.SetContext(ctx) 5845 req.ApplyOptions(opts...) 5846 return out, req.Send() 5847} 5848 5849// The container for abort incomplete multipart upload 5850type AbortIncompleteMultipartUpload struct { 5851 _ struct{} `type:"structure"` 5852 5853 // Specifies the number of days after which Amazon S3 aborts an incomplete multipart 5854 // upload to the Outposts bucket. 5855 DaysAfterInitiation *int64 `type:"integer"` 5856} 5857 5858// String returns the string representation. 5859// 5860// API parameter values that are decorated as "sensitive" in the API will not 5861// be included in the string output. The member name will be present, but the 5862// value will be replaced with "sensitive". 5863func (s AbortIncompleteMultipartUpload) String() string { 5864 return awsutil.Prettify(s) 5865} 5866 5867// GoString returns the string representation. 5868// 5869// API parameter values that are decorated as "sensitive" in the API will not 5870// be included in the string output. The member name will be present, but the 5871// value will be replaced with "sensitive". 5872func (s AbortIncompleteMultipartUpload) GoString() string { 5873 return s.String() 5874} 5875 5876// SetDaysAfterInitiation sets the DaysAfterInitiation field's value. 5877func (s *AbortIncompleteMultipartUpload) SetDaysAfterInitiation(v int64) *AbortIncompleteMultipartUpload { 5878 s.DaysAfterInitiation = &v 5879 return s 5880} 5881 5882// An access point used to access a bucket. 5883type AccessPoint struct { 5884 _ struct{} `type:"structure"` 5885 5886 // The ARN for the access point. 5887 AccessPointArn *string `min:"4" type:"string"` 5888 5889 // The name or alias of the access point. 5890 Alias *string `type:"string"` 5891 5892 // The name of the bucket associated with this access point. 5893 // 5894 // Bucket is a required field 5895 Bucket *string `min:"3" type:"string" required:"true"` 5896 5897 // The name of this access point. 5898 // 5899 // Name is a required field 5900 Name *string `min:"3" type:"string" required:"true"` 5901 5902 // Indicates whether this access point allows access from the public internet. 5903 // If VpcConfiguration is specified for this access point, then NetworkOrigin 5904 // is VPC, and the access point doesn't allow access from the public internet. 5905 // Otherwise, NetworkOrigin is Internet, and the access point allows access 5906 // from the public internet, subject to the access point and bucket access policies. 5907 // 5908 // NetworkOrigin is a required field 5909 NetworkOrigin *string `type:"string" required:"true" enum:"NetworkOrigin"` 5910 5911 // The virtual private cloud (VPC) configuration for this access point, if one 5912 // exists. 5913 // 5914 // This element is empty if this access point is an Amazon S3 on Outposts access 5915 // point that is used by other Amazon Web Services. 5916 VpcConfiguration *VpcConfiguration `type:"structure"` 5917} 5918 5919// String returns the string representation. 5920// 5921// API parameter values that are decorated as "sensitive" in the API will not 5922// be included in the string output. The member name will be present, but the 5923// value will be replaced with "sensitive". 5924func (s AccessPoint) String() string { 5925 return awsutil.Prettify(s) 5926} 5927 5928// GoString returns the string representation. 5929// 5930// API parameter values that are decorated as "sensitive" in the API will not 5931// be included in the string output. The member name will be present, but the 5932// value will be replaced with "sensitive". 5933func (s AccessPoint) GoString() string { 5934 return s.String() 5935} 5936 5937// SetAccessPointArn sets the AccessPointArn field's value. 5938func (s *AccessPoint) SetAccessPointArn(v string) *AccessPoint { 5939 s.AccessPointArn = &v 5940 return s 5941} 5942 5943// SetAlias sets the Alias field's value. 5944func (s *AccessPoint) SetAlias(v string) *AccessPoint { 5945 s.Alias = &v 5946 return s 5947} 5948 5949// SetBucket sets the Bucket field's value. 5950func (s *AccessPoint) SetBucket(v string) *AccessPoint { 5951 s.Bucket = &v 5952 return s 5953} 5954 5955// SetName sets the Name field's value. 5956func (s *AccessPoint) SetName(v string) *AccessPoint { 5957 s.Name = &v 5958 return s 5959} 5960 5961// SetNetworkOrigin sets the NetworkOrigin field's value. 5962func (s *AccessPoint) SetNetworkOrigin(v string) *AccessPoint { 5963 s.NetworkOrigin = &v 5964 return s 5965} 5966 5967// SetVpcConfiguration sets the VpcConfiguration field's value. 5968func (s *AccessPoint) SetVpcConfiguration(v *VpcConfiguration) *AccessPoint { 5969 s.VpcConfiguration = v 5970 return s 5971} 5972 5973// A container for the account level Amazon S3 Storage Lens configuration. 5974type AccountLevel struct { 5975 _ struct{} `type:"structure"` 5976 5977 // A container for the S3 Storage Lens activity metrics. 5978 ActivityMetrics *ActivityMetrics `type:"structure"` 5979 5980 // A container for the S3 Storage Lens bucket-level configuration. 5981 // 5982 // BucketLevel is a required field 5983 BucketLevel *BucketLevel `type:"structure" required:"true"` 5984} 5985 5986// String returns the string representation. 5987// 5988// API parameter values that are decorated as "sensitive" in the API will not 5989// be included in the string output. The member name will be present, but the 5990// value will be replaced with "sensitive". 5991func (s AccountLevel) String() string { 5992 return awsutil.Prettify(s) 5993} 5994 5995// GoString returns the string representation. 5996// 5997// API parameter values that are decorated as "sensitive" in the API will not 5998// be included in the string output. The member name will be present, but the 5999// value will be replaced with "sensitive". 6000func (s AccountLevel) GoString() string { 6001 return s.String() 6002} 6003 6004// Validate inspects the fields of the type to determine if they are valid. 6005func (s *AccountLevel) Validate() error { 6006 invalidParams := request.ErrInvalidParams{Context: "AccountLevel"} 6007 if s.BucketLevel == nil { 6008 invalidParams.Add(request.NewErrParamRequired("BucketLevel")) 6009 } 6010 if s.BucketLevel != nil { 6011 if err := s.BucketLevel.Validate(); err != nil { 6012 invalidParams.AddNested("BucketLevel", err.(request.ErrInvalidParams)) 6013 } 6014 } 6015 6016 if invalidParams.Len() > 0 { 6017 return invalidParams 6018 } 6019 return nil 6020} 6021 6022// SetActivityMetrics sets the ActivityMetrics field's value. 6023func (s *AccountLevel) SetActivityMetrics(v *ActivityMetrics) *AccountLevel { 6024 s.ActivityMetrics = v 6025 return s 6026} 6027 6028// SetBucketLevel sets the BucketLevel field's value. 6029func (s *AccountLevel) SetBucketLevel(v *BucketLevel) *AccountLevel { 6030 s.BucketLevel = v 6031 return s 6032} 6033 6034// A container for the activity metrics. 6035type ActivityMetrics struct { 6036 _ struct{} `type:"structure"` 6037 6038 // A container for whether the activity metrics are enabled. 6039 IsEnabled *bool `type:"boolean"` 6040} 6041 6042// String returns the string representation. 6043// 6044// API parameter values that are decorated as "sensitive" in the API will not 6045// be included in the string output. The member name will be present, but the 6046// value will be replaced with "sensitive". 6047func (s ActivityMetrics) String() string { 6048 return awsutil.Prettify(s) 6049} 6050 6051// GoString returns the string representation. 6052// 6053// API parameter values that are decorated as "sensitive" in the API will not 6054// be included in the string output. The member name will be present, but the 6055// value will be replaced with "sensitive". 6056func (s ActivityMetrics) GoString() string { 6057 return s.String() 6058} 6059 6060// SetIsEnabled sets the IsEnabled field's value. 6061func (s *ActivityMetrics) SetIsEnabled(v bool) *ActivityMetrics { 6062 s.IsEnabled = &v 6063 return s 6064} 6065 6066// Error details for the failed asynchronous operation. 6067type AsyncErrorDetails struct { 6068 _ struct{} `type:"structure"` 6069 6070 // A string that uniquely identifies the error condition. 6071 Code *string `type:"string"` 6072 6073 // A generic descritpion of the error condition in English. 6074 Message *string `type:"string"` 6075 6076 // The ID of the request associated with the error. 6077 RequestId *string `type:"string"` 6078 6079 // The identifier of the resource associated with the error. 6080 Resource *string `type:"string"` 6081} 6082 6083// String returns the string representation. 6084// 6085// API parameter values that are decorated as "sensitive" in the API will not 6086// be included in the string output. The member name will be present, but the 6087// value will be replaced with "sensitive". 6088func (s AsyncErrorDetails) String() string { 6089 return awsutil.Prettify(s) 6090} 6091 6092// GoString returns the string representation. 6093// 6094// API parameter values that are decorated as "sensitive" in the API will not 6095// be included in the string output. The member name will be present, but the 6096// value will be replaced with "sensitive". 6097func (s AsyncErrorDetails) GoString() string { 6098 return s.String() 6099} 6100 6101// SetCode sets the Code field's value. 6102func (s *AsyncErrorDetails) SetCode(v string) *AsyncErrorDetails { 6103 s.Code = &v 6104 return s 6105} 6106 6107// SetMessage sets the Message field's value. 6108func (s *AsyncErrorDetails) SetMessage(v string) *AsyncErrorDetails { 6109 s.Message = &v 6110 return s 6111} 6112 6113// SetRequestId sets the RequestId field's value. 6114func (s *AsyncErrorDetails) SetRequestId(v string) *AsyncErrorDetails { 6115 s.RequestId = &v 6116 return s 6117} 6118 6119// SetResource sets the Resource field's value. 6120func (s *AsyncErrorDetails) SetResource(v string) *AsyncErrorDetails { 6121 s.Resource = &v 6122 return s 6123} 6124 6125// A container for the information about an asynchronous operation. 6126type AsyncOperation struct { 6127 _ struct{} `type:"structure"` 6128 6129 // The time that the request was sent to the service. 6130 CreationTime *time.Time `type:"timestamp"` 6131 6132 // The specific operation for the asynchronous request. 6133 Operation *string `type:"string" enum:"AsyncOperationName"` 6134 6135 // The parameters associated with the request. 6136 RequestParameters *AsyncRequestParameters `type:"structure"` 6137 6138 // The current status of the request. 6139 RequestStatus *string `type:"string"` 6140 6141 // The request token associated with the request. 6142 RequestTokenARN *string `min:"1" type:"string"` 6143 6144 // The details of the response. 6145 ResponseDetails *AsyncResponseDetails `type:"structure"` 6146} 6147 6148// String returns the string representation. 6149// 6150// API parameter values that are decorated as "sensitive" in the API will not 6151// be included in the string output. The member name will be present, but the 6152// value will be replaced with "sensitive". 6153func (s AsyncOperation) String() string { 6154 return awsutil.Prettify(s) 6155} 6156 6157// GoString returns the string representation. 6158// 6159// API parameter values that are decorated as "sensitive" in the API will not 6160// be included in the string output. The member name will be present, but the 6161// value will be replaced with "sensitive". 6162func (s AsyncOperation) GoString() string { 6163 return s.String() 6164} 6165 6166// SetCreationTime sets the CreationTime field's value. 6167func (s *AsyncOperation) SetCreationTime(v time.Time) *AsyncOperation { 6168 s.CreationTime = &v 6169 return s 6170} 6171 6172// SetOperation sets the Operation field's value. 6173func (s *AsyncOperation) SetOperation(v string) *AsyncOperation { 6174 s.Operation = &v 6175 return s 6176} 6177 6178// SetRequestParameters sets the RequestParameters field's value. 6179func (s *AsyncOperation) SetRequestParameters(v *AsyncRequestParameters) *AsyncOperation { 6180 s.RequestParameters = v 6181 return s 6182} 6183 6184// SetRequestStatus sets the RequestStatus field's value. 6185func (s *AsyncOperation) SetRequestStatus(v string) *AsyncOperation { 6186 s.RequestStatus = &v 6187 return s 6188} 6189 6190// SetRequestTokenARN sets the RequestTokenARN field's value. 6191func (s *AsyncOperation) SetRequestTokenARN(v string) *AsyncOperation { 6192 s.RequestTokenARN = &v 6193 return s 6194} 6195 6196// SetResponseDetails sets the ResponseDetails field's value. 6197func (s *AsyncOperation) SetResponseDetails(v *AsyncResponseDetails) *AsyncOperation { 6198 s.ResponseDetails = v 6199 return s 6200} 6201 6202// A container for the request parameters associated with an asynchronous request. 6203type AsyncRequestParameters struct { 6204 _ struct{} `type:"structure"` 6205 6206 // A container of the parameters for a CreateMultiRegionAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateMultiRegionAccessPoint.html) 6207 // request. 6208 CreateMultiRegionAccessPointRequest *CreateMultiRegionAccessPointInput_ `type:"structure"` 6209 6210 // A container of the parameters for a DeleteMultiRegionAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteMultiRegionAccessPoint.html) 6211 // request. 6212 DeleteMultiRegionAccessPointRequest *DeleteMultiRegionAccessPointInput_ `type:"structure"` 6213 6214 // A container of the parameters for a PutMultiRegionAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutMultiRegionAccessPoint.html) 6215 // request. 6216 PutMultiRegionAccessPointPolicyRequest *PutMultiRegionAccessPointPolicyInput_ `type:"structure"` 6217} 6218 6219// String returns the string representation. 6220// 6221// API parameter values that are decorated as "sensitive" in the API will not 6222// be included in the string output. The member name will be present, but the 6223// value will be replaced with "sensitive". 6224func (s AsyncRequestParameters) String() string { 6225 return awsutil.Prettify(s) 6226} 6227 6228// GoString returns the string representation. 6229// 6230// API parameter values that are decorated as "sensitive" in the API will not 6231// be included in the string output. The member name will be present, but the 6232// value will be replaced with "sensitive". 6233func (s AsyncRequestParameters) GoString() string { 6234 return s.String() 6235} 6236 6237// SetCreateMultiRegionAccessPointRequest sets the CreateMultiRegionAccessPointRequest field's value. 6238func (s *AsyncRequestParameters) SetCreateMultiRegionAccessPointRequest(v *CreateMultiRegionAccessPointInput_) *AsyncRequestParameters { 6239 s.CreateMultiRegionAccessPointRequest = v 6240 return s 6241} 6242 6243// SetDeleteMultiRegionAccessPointRequest sets the DeleteMultiRegionAccessPointRequest field's value. 6244func (s *AsyncRequestParameters) SetDeleteMultiRegionAccessPointRequest(v *DeleteMultiRegionAccessPointInput_) *AsyncRequestParameters { 6245 s.DeleteMultiRegionAccessPointRequest = v 6246 return s 6247} 6248 6249// SetPutMultiRegionAccessPointPolicyRequest sets the PutMultiRegionAccessPointPolicyRequest field's value. 6250func (s *AsyncRequestParameters) SetPutMultiRegionAccessPointPolicyRequest(v *PutMultiRegionAccessPointPolicyInput_) *AsyncRequestParameters { 6251 s.PutMultiRegionAccessPointPolicyRequest = v 6252 return s 6253} 6254 6255// A container for the response details that are returned when querying about 6256// an asynchronous request. 6257type AsyncResponseDetails struct { 6258 _ struct{} `type:"structure"` 6259 6260 // Error details for an asynchronous request. 6261 ErrorDetails *AsyncErrorDetails `type:"structure"` 6262 6263 // The details for the Multi-Region Access Point. 6264 MultiRegionAccessPointDetails *MultiRegionAccessPointsAsyncResponse `type:"structure"` 6265} 6266 6267// String returns the string representation. 6268// 6269// API parameter values that are decorated as "sensitive" in the API will not 6270// be included in the string output. The member name will be present, but the 6271// value will be replaced with "sensitive". 6272func (s AsyncResponseDetails) String() string { 6273 return awsutil.Prettify(s) 6274} 6275 6276// GoString returns the string representation. 6277// 6278// API parameter values that are decorated as "sensitive" in the API will not 6279// be included in the string output. The member name will be present, but the 6280// value will be replaced with "sensitive". 6281func (s AsyncResponseDetails) GoString() string { 6282 return s.String() 6283} 6284 6285// SetErrorDetails sets the ErrorDetails field's value. 6286func (s *AsyncResponseDetails) SetErrorDetails(v *AsyncErrorDetails) *AsyncResponseDetails { 6287 s.ErrorDetails = v 6288 return s 6289} 6290 6291// SetMultiRegionAccessPointDetails sets the MultiRegionAccessPointDetails field's value. 6292func (s *AsyncResponseDetails) SetMultiRegionAccessPointDetails(v *MultiRegionAccessPointsAsyncResponse) *AsyncResponseDetails { 6293 s.MultiRegionAccessPointDetails = v 6294 return s 6295} 6296 6297// Lambda function used to transform objects through an Object Lambda Access 6298// Point. 6299type AwsLambdaTransformation struct { 6300 _ struct{} `type:"structure"` 6301 6302 // The Amazon Resource Name (ARN) of the Lambda function. 6303 // 6304 // FunctionArn is a required field 6305 FunctionArn *string `min:"1" type:"string" required:"true"` 6306 6307 // Additional JSON that provides supplemental data to the Lambda function used 6308 // to transform objects. 6309 FunctionPayload *string `type:"string"` 6310} 6311 6312// String returns the string representation. 6313// 6314// API parameter values that are decorated as "sensitive" in the API will not 6315// be included in the string output. The member name will be present, but the 6316// value will be replaced with "sensitive". 6317func (s AwsLambdaTransformation) String() string { 6318 return awsutil.Prettify(s) 6319} 6320 6321// GoString returns the string representation. 6322// 6323// API parameter values that are decorated as "sensitive" in the API will not 6324// be included in the string output. The member name will be present, but the 6325// value will be replaced with "sensitive". 6326func (s AwsLambdaTransformation) GoString() string { 6327 return s.String() 6328} 6329 6330// Validate inspects the fields of the type to determine if they are valid. 6331func (s *AwsLambdaTransformation) Validate() error { 6332 invalidParams := request.ErrInvalidParams{Context: "AwsLambdaTransformation"} 6333 if s.FunctionArn == nil { 6334 invalidParams.Add(request.NewErrParamRequired("FunctionArn")) 6335 } 6336 if s.FunctionArn != nil && len(*s.FunctionArn) < 1 { 6337 invalidParams.Add(request.NewErrParamMinLen("FunctionArn", 1)) 6338 } 6339 6340 if invalidParams.Len() > 0 { 6341 return invalidParams 6342 } 6343 return nil 6344} 6345 6346// SetFunctionArn sets the FunctionArn field's value. 6347func (s *AwsLambdaTransformation) SetFunctionArn(v string) *AwsLambdaTransformation { 6348 s.FunctionArn = &v 6349 return s 6350} 6351 6352// SetFunctionPayload sets the FunctionPayload field's value. 6353func (s *AwsLambdaTransformation) SetFunctionPayload(v string) *AwsLambdaTransformation { 6354 s.FunctionPayload = &v 6355 return s 6356} 6357 6358// A container for the bucket-level configuration. 6359type BucketLevel struct { 6360 _ struct{} `type:"structure"` 6361 6362 // A container for the bucket-level activity metrics for Amazon S3 Storage Lens 6363 ActivityMetrics *ActivityMetrics `type:"structure"` 6364 6365 // A container for the bucket-level prefix-level metrics for S3 Storage Lens 6366 PrefixLevel *PrefixLevel `type:"structure"` 6367} 6368 6369// String returns the string representation. 6370// 6371// API parameter values that are decorated as "sensitive" in the API will not 6372// be included in the string output. The member name will be present, but the 6373// value will be replaced with "sensitive". 6374func (s BucketLevel) String() string { 6375 return awsutil.Prettify(s) 6376} 6377 6378// GoString returns the string representation. 6379// 6380// API parameter values that are decorated as "sensitive" in the API will not 6381// be included in the string output. The member name will be present, but the 6382// value will be replaced with "sensitive". 6383func (s BucketLevel) GoString() string { 6384 return s.String() 6385} 6386 6387// Validate inspects the fields of the type to determine if they are valid. 6388func (s *BucketLevel) Validate() error { 6389 invalidParams := request.ErrInvalidParams{Context: "BucketLevel"} 6390 if s.PrefixLevel != nil { 6391 if err := s.PrefixLevel.Validate(); err != nil { 6392 invalidParams.AddNested("PrefixLevel", err.(request.ErrInvalidParams)) 6393 } 6394 } 6395 6396 if invalidParams.Len() > 0 { 6397 return invalidParams 6398 } 6399 return nil 6400} 6401 6402// SetActivityMetrics sets the ActivityMetrics field's value. 6403func (s *BucketLevel) SetActivityMetrics(v *ActivityMetrics) *BucketLevel { 6404 s.ActivityMetrics = v 6405 return s 6406} 6407 6408// SetPrefixLevel sets the PrefixLevel field's value. 6409func (s *BucketLevel) SetPrefixLevel(v *PrefixLevel) *BucketLevel { 6410 s.PrefixLevel = v 6411 return s 6412} 6413 6414type CreateAccessPointForObjectLambdaInput struct { 6415 _ struct{} `locationName:"CreateAccessPointForObjectLambdaRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 6416 6417 // The Amazon Web Services account ID for owner of the specified Object Lambda 6418 // Access Point. 6419 // 6420 // AccountId is a required field 6421 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 6422 6423 // Object Lambda Access Point configuration as a JSON document. 6424 // 6425 // Configuration is a required field 6426 Configuration *ObjectLambdaConfiguration `type:"structure" required:"true"` 6427 6428 // The name you want to assign to this Object Lambda Access Point. 6429 // 6430 // Name is a required field 6431 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 6432} 6433 6434// String returns the string representation. 6435// 6436// API parameter values that are decorated as "sensitive" in the API will not 6437// be included in the string output. The member name will be present, but the 6438// value will be replaced with "sensitive". 6439func (s CreateAccessPointForObjectLambdaInput) String() string { 6440 return awsutil.Prettify(s) 6441} 6442 6443// GoString returns the string representation. 6444// 6445// API parameter values that are decorated as "sensitive" in the API will not 6446// be included in the string output. The member name will be present, but the 6447// value will be replaced with "sensitive". 6448func (s CreateAccessPointForObjectLambdaInput) GoString() string { 6449 return s.String() 6450} 6451 6452// Validate inspects the fields of the type to determine if they are valid. 6453func (s *CreateAccessPointForObjectLambdaInput) Validate() error { 6454 invalidParams := request.ErrInvalidParams{Context: "CreateAccessPointForObjectLambdaInput"} 6455 if s.AccountId == nil { 6456 invalidParams.Add(request.NewErrParamRequired("AccountId")) 6457 } 6458 if s.AccountId != nil && len(*s.AccountId) < 1 { 6459 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 6460 } 6461 if s.Configuration == nil { 6462 invalidParams.Add(request.NewErrParamRequired("Configuration")) 6463 } 6464 if s.Name == nil { 6465 invalidParams.Add(request.NewErrParamRequired("Name")) 6466 } 6467 if s.Name != nil && len(*s.Name) < 3 { 6468 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 6469 } 6470 if s.Configuration != nil { 6471 if err := s.Configuration.Validate(); err != nil { 6472 invalidParams.AddNested("Configuration", err.(request.ErrInvalidParams)) 6473 } 6474 } 6475 6476 if invalidParams.Len() > 0 { 6477 return invalidParams 6478 } 6479 return nil 6480} 6481 6482// SetAccountId sets the AccountId field's value. 6483func (s *CreateAccessPointForObjectLambdaInput) SetAccountId(v string) *CreateAccessPointForObjectLambdaInput { 6484 s.AccountId = &v 6485 return s 6486} 6487 6488// SetConfiguration sets the Configuration field's value. 6489func (s *CreateAccessPointForObjectLambdaInput) SetConfiguration(v *ObjectLambdaConfiguration) *CreateAccessPointForObjectLambdaInput { 6490 s.Configuration = v 6491 return s 6492} 6493 6494// SetName sets the Name field's value. 6495func (s *CreateAccessPointForObjectLambdaInput) SetName(v string) *CreateAccessPointForObjectLambdaInput { 6496 s.Name = &v 6497 return s 6498} 6499 6500func (s *CreateAccessPointForObjectLambdaInput) hostLabels() map[string]string { 6501 return map[string]string{ 6502 "AccountId": aws.StringValue(s.AccountId), 6503 } 6504} 6505 6506type CreateAccessPointForObjectLambdaOutput struct { 6507 _ struct{} `type:"structure"` 6508 6509 // Specifies the ARN for the Object Lambda Access Point. 6510 ObjectLambdaAccessPointArn *string `min:"1" type:"string"` 6511} 6512 6513// String returns the string representation. 6514// 6515// API parameter values that are decorated as "sensitive" in the API will not 6516// be included in the string output. The member name will be present, but the 6517// value will be replaced with "sensitive". 6518func (s CreateAccessPointForObjectLambdaOutput) String() string { 6519 return awsutil.Prettify(s) 6520} 6521 6522// GoString returns the string representation. 6523// 6524// API parameter values that are decorated as "sensitive" in the API will not 6525// be included in the string output. The member name will be present, but the 6526// value will be replaced with "sensitive". 6527func (s CreateAccessPointForObjectLambdaOutput) GoString() string { 6528 return s.String() 6529} 6530 6531// SetObjectLambdaAccessPointArn sets the ObjectLambdaAccessPointArn field's value. 6532func (s *CreateAccessPointForObjectLambdaOutput) SetObjectLambdaAccessPointArn(v string) *CreateAccessPointForObjectLambdaOutput { 6533 s.ObjectLambdaAccessPointArn = &v 6534 return s 6535} 6536 6537type CreateAccessPointInput struct { 6538 _ struct{} `locationName:"CreateAccessPointRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 6539 6540 // The Amazon Web Services account ID for the owner of the bucket for which 6541 // you want to create an access point. 6542 // 6543 // AccountId is a required field 6544 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 6545 6546 // The name of the bucket that you want to associate this access point with. 6547 // 6548 // For using this parameter with Amazon S3 on Outposts with the REST API, you 6549 // must specify the name and the x-amz-outpost-id as well. 6550 // 6551 // For using this parameter with S3 on Outposts with the Amazon Web Services 6552 // SDK and CLI, you must specify the ARN of the bucket accessed in the format 6553 // arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 6554 // For example, to access the bucket reports through outpost my-outpost owned 6555 // 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. 6556 // The value must be URL encoded. 6557 // 6558 // Bucket is a required field 6559 Bucket *string `min:"3" type:"string" required:"true"` 6560 6561 // The name you want to assign to this access point. 6562 // 6563 // Name is a required field 6564 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 6565 6566 // The PublicAccessBlock configuration that you want to apply to the access 6567 // point. 6568 PublicAccessBlockConfiguration *PublicAccessBlockConfiguration `type:"structure"` 6569 6570 // If you include this field, Amazon S3 restricts access to this access point 6571 // to requests from the specified virtual private cloud (VPC). 6572 // 6573 // This is required for creating an access point for Amazon S3 on Outposts buckets. 6574 VpcConfiguration *VpcConfiguration `type:"structure"` 6575} 6576 6577// String returns the string representation. 6578// 6579// API parameter values that are decorated as "sensitive" in the API will not 6580// be included in the string output. The member name will be present, but the 6581// value will be replaced with "sensitive". 6582func (s CreateAccessPointInput) String() string { 6583 return awsutil.Prettify(s) 6584} 6585 6586// GoString returns the string representation. 6587// 6588// API parameter values that are decorated as "sensitive" in the API will not 6589// be included in the string output. The member name will be present, but the 6590// value will be replaced with "sensitive". 6591func (s CreateAccessPointInput) GoString() string { 6592 return s.String() 6593} 6594 6595// Validate inspects the fields of the type to determine if they are valid. 6596func (s *CreateAccessPointInput) Validate() error { 6597 invalidParams := request.ErrInvalidParams{Context: "CreateAccessPointInput"} 6598 if s.AccountId == nil { 6599 invalidParams.Add(request.NewErrParamRequired("AccountId")) 6600 } 6601 if s.AccountId != nil && len(*s.AccountId) < 1 { 6602 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 6603 } 6604 if s.Bucket == nil { 6605 invalidParams.Add(request.NewErrParamRequired("Bucket")) 6606 } 6607 if s.Bucket != nil && len(*s.Bucket) < 3 { 6608 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 6609 } 6610 if s.Name == nil { 6611 invalidParams.Add(request.NewErrParamRequired("Name")) 6612 } 6613 if s.Name != nil && len(*s.Name) < 3 { 6614 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 6615 } 6616 if s.VpcConfiguration != nil { 6617 if err := s.VpcConfiguration.Validate(); err != nil { 6618 invalidParams.AddNested("VpcConfiguration", err.(request.ErrInvalidParams)) 6619 } 6620 } 6621 6622 if invalidParams.Len() > 0 { 6623 return invalidParams 6624 } 6625 return nil 6626} 6627 6628// SetAccountId sets the AccountId field's value. 6629func (s *CreateAccessPointInput) SetAccountId(v string) *CreateAccessPointInput { 6630 s.AccountId = &v 6631 return s 6632} 6633 6634// SetBucket sets the Bucket field's value. 6635func (s *CreateAccessPointInput) SetBucket(v string) *CreateAccessPointInput { 6636 s.Bucket = &v 6637 return s 6638} 6639 6640// SetName sets the Name field's value. 6641func (s *CreateAccessPointInput) SetName(v string) *CreateAccessPointInput { 6642 s.Name = &v 6643 return s 6644} 6645 6646// SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value. 6647func (s *CreateAccessPointInput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *CreateAccessPointInput { 6648 s.PublicAccessBlockConfiguration = v 6649 return s 6650} 6651 6652// SetVpcConfiguration sets the VpcConfiguration field's value. 6653func (s *CreateAccessPointInput) SetVpcConfiguration(v *VpcConfiguration) *CreateAccessPointInput { 6654 s.VpcConfiguration = v 6655 return s 6656} 6657 6658func (s *CreateAccessPointInput) hostLabels() map[string]string { 6659 return map[string]string{ 6660 "AccountId": aws.StringValue(s.AccountId), 6661 } 6662} 6663 6664func (s *CreateAccessPointInput) getEndpointARN() (arn.Resource, error) { 6665 if s.Bucket == nil { 6666 return nil, fmt.Errorf("member Bucket is nil") 6667 } 6668 return parseEndpointARN(*s.Bucket) 6669} 6670 6671func (s *CreateAccessPointInput) hasEndpointARN() bool { 6672 if s.Bucket == nil { 6673 return false 6674 } 6675 return arn.IsARN(*s.Bucket) 6676} 6677 6678// updateArnableField updates the value of the input field that 6679// takes an ARN as an input. This method is useful to backfill 6680// the parsed resource name from ARN into the input member. 6681// It returns a pointer to a modified copy of input and an error. 6682// Note that original input is not modified. 6683func (s CreateAccessPointInput) updateArnableField(v string) (interface{}, error) { 6684 if s.Bucket == nil { 6685 return nil, fmt.Errorf("member Bucket is nil") 6686 } 6687 s.Bucket = aws.String(v) 6688 return &s, nil 6689} 6690 6691// updateAccountID returns a pointer to a modified copy of input, 6692// if account id is not provided, we update the account id in modified input 6693// if account id is provided, but doesn't match with the one in ARN, we throw an error 6694// if account id is not updated, we return nil. Note that original input is not modified. 6695func (s CreateAccessPointInput) updateAccountID(accountId string) (interface{}, error) { 6696 if s.AccountId == nil { 6697 s.AccountId = aws.String(accountId) 6698 return &s, nil 6699 } else if *s.AccountId != accountId { 6700 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 6701 } 6702 return nil, nil 6703} 6704 6705type CreateAccessPointOutput struct { 6706 _ struct{} `type:"structure"` 6707 6708 // The ARN of the access point. 6709 // 6710 // This is only supported by Amazon S3 on Outposts. 6711 AccessPointArn *string `min:"4" type:"string"` 6712 6713 // The name or alias of the access point. 6714 Alias *string `type:"string"` 6715} 6716 6717// String returns the string representation. 6718// 6719// API parameter values that are decorated as "sensitive" in the API will not 6720// be included in the string output. The member name will be present, but the 6721// value will be replaced with "sensitive". 6722func (s CreateAccessPointOutput) String() string { 6723 return awsutil.Prettify(s) 6724} 6725 6726// GoString returns the string representation. 6727// 6728// API parameter values that are decorated as "sensitive" in the API will not 6729// be included in the string output. The member name will be present, but the 6730// value will be replaced with "sensitive". 6731func (s CreateAccessPointOutput) GoString() string { 6732 return s.String() 6733} 6734 6735// SetAccessPointArn sets the AccessPointArn field's value. 6736func (s *CreateAccessPointOutput) SetAccessPointArn(v string) *CreateAccessPointOutput { 6737 s.AccessPointArn = &v 6738 return s 6739} 6740 6741// SetAlias sets the Alias field's value. 6742func (s *CreateAccessPointOutput) SetAlias(v string) *CreateAccessPointOutput { 6743 s.Alias = &v 6744 return s 6745} 6746 6747// The container for the bucket configuration. 6748// 6749// This is not supported by Amazon S3 on Outposts buckets. 6750type CreateBucketConfiguration struct { 6751 _ struct{} `type:"structure"` 6752 6753 // Specifies the Region where the bucket will be created. If you are creating 6754 // a bucket on the US East (N. Virginia) Region (us-east-1), you do not need 6755 // to specify the location. 6756 // 6757 // This is not supported by Amazon S3 on Outposts buckets. 6758 LocationConstraint *string `type:"string" enum:"BucketLocationConstraint"` 6759} 6760 6761// String returns the string representation. 6762// 6763// API parameter values that are decorated as "sensitive" in the API will not 6764// be included in the string output. The member name will be present, but the 6765// value will be replaced with "sensitive". 6766func (s CreateBucketConfiguration) String() string { 6767 return awsutil.Prettify(s) 6768} 6769 6770// GoString returns the string representation. 6771// 6772// API parameter values that are decorated as "sensitive" in the API will not 6773// be included in the string output. The member name will be present, but the 6774// value will be replaced with "sensitive". 6775func (s CreateBucketConfiguration) GoString() string { 6776 return s.String() 6777} 6778 6779// SetLocationConstraint sets the LocationConstraint field's value. 6780func (s *CreateBucketConfiguration) SetLocationConstraint(v string) *CreateBucketConfiguration { 6781 s.LocationConstraint = &v 6782 return s 6783} 6784 6785type CreateBucketInput struct { 6786 _ struct{} `locationName:"CreateBucketRequest" type:"structure" payload:"CreateBucketConfiguration"` 6787 6788 // The canned ACL to apply to the bucket. 6789 // 6790 // This is not supported by Amazon S3 on Outposts buckets. 6791 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"BucketCannedACL"` 6792 6793 // The name of the bucket. 6794 // 6795 // Bucket is a required field 6796 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 6797 6798 // The configuration information for the bucket. 6799 // 6800 // This is not supported by Amazon S3 on Outposts buckets. 6801 CreateBucketConfiguration *CreateBucketConfiguration `locationName:"CreateBucketConfiguration" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 6802 6803 // Allows grantee the read, write, read ACP, and write ACP permissions on the 6804 // bucket. 6805 // 6806 // This is not supported by Amazon S3 on Outposts buckets. 6807 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"` 6808 6809 // Allows grantee to list the objects in the bucket. 6810 // 6811 // This is not supported by Amazon S3 on Outposts buckets. 6812 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"` 6813 6814 // Allows grantee to read the bucket ACL. 6815 // 6816 // This is not supported by Amazon S3 on Outposts buckets. 6817 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"` 6818 6819 // Allows grantee to create, overwrite, and delete any object in the bucket. 6820 // 6821 // This is not supported by Amazon S3 on Outposts buckets. 6822 GrantWrite *string `location:"header" locationName:"x-amz-grant-write" type:"string"` 6823 6824 // Allows grantee to write the ACL for the applicable bucket. 6825 // 6826 // This is not supported by Amazon S3 on Outposts buckets. 6827 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"` 6828 6829 // Specifies whether you want S3 Object Lock to be enabled for the new bucket. 6830 // 6831 // This is not supported by Amazon S3 on Outposts buckets. 6832 ObjectLockEnabledForBucket *bool `location:"header" locationName:"x-amz-bucket-object-lock-enabled" type:"boolean"` 6833 6834 // The ID of the Outposts where the bucket is being created. 6835 // 6836 // This is required by Amazon S3 on Outposts buckets. 6837 OutpostId *string `location:"header" locationName:"x-amz-outpost-id" min:"1" type:"string"` 6838} 6839 6840// String returns the string representation. 6841// 6842// API parameter values that are decorated as "sensitive" in the API will not 6843// be included in the string output. The member name will be present, but the 6844// value will be replaced with "sensitive". 6845func (s CreateBucketInput) String() string { 6846 return awsutil.Prettify(s) 6847} 6848 6849// GoString returns the string representation. 6850// 6851// API parameter values that are decorated as "sensitive" in the API will not 6852// be included in the string output. The member name will be present, but the 6853// value will be replaced with "sensitive". 6854func (s CreateBucketInput) GoString() string { 6855 return s.String() 6856} 6857 6858// Validate inspects the fields of the type to determine if they are valid. 6859func (s *CreateBucketInput) Validate() error { 6860 invalidParams := request.ErrInvalidParams{Context: "CreateBucketInput"} 6861 if s.Bucket == nil { 6862 invalidParams.Add(request.NewErrParamRequired("Bucket")) 6863 } 6864 if s.Bucket != nil && len(*s.Bucket) < 3 { 6865 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 6866 } 6867 if s.OutpostId != nil && len(*s.OutpostId) < 1 { 6868 invalidParams.Add(request.NewErrParamMinLen("OutpostId", 1)) 6869 } 6870 6871 if invalidParams.Len() > 0 { 6872 return invalidParams 6873 } 6874 return nil 6875} 6876 6877// SetACL sets the ACL field's value. 6878func (s *CreateBucketInput) SetACL(v string) *CreateBucketInput { 6879 s.ACL = &v 6880 return s 6881} 6882 6883// SetBucket sets the Bucket field's value. 6884func (s *CreateBucketInput) SetBucket(v string) *CreateBucketInput { 6885 s.Bucket = &v 6886 return s 6887} 6888 6889// SetCreateBucketConfiguration sets the CreateBucketConfiguration field's value. 6890func (s *CreateBucketInput) SetCreateBucketConfiguration(v *CreateBucketConfiguration) *CreateBucketInput { 6891 s.CreateBucketConfiguration = v 6892 return s 6893} 6894 6895// SetGrantFullControl sets the GrantFullControl field's value. 6896func (s *CreateBucketInput) SetGrantFullControl(v string) *CreateBucketInput { 6897 s.GrantFullControl = &v 6898 return s 6899} 6900 6901// SetGrantRead sets the GrantRead field's value. 6902func (s *CreateBucketInput) SetGrantRead(v string) *CreateBucketInput { 6903 s.GrantRead = &v 6904 return s 6905} 6906 6907// SetGrantReadACP sets the GrantReadACP field's value. 6908func (s *CreateBucketInput) SetGrantReadACP(v string) *CreateBucketInput { 6909 s.GrantReadACP = &v 6910 return s 6911} 6912 6913// SetGrantWrite sets the GrantWrite field's value. 6914func (s *CreateBucketInput) SetGrantWrite(v string) *CreateBucketInput { 6915 s.GrantWrite = &v 6916 return s 6917} 6918 6919// SetGrantWriteACP sets the GrantWriteACP field's value. 6920func (s *CreateBucketInput) SetGrantWriteACP(v string) *CreateBucketInput { 6921 s.GrantWriteACP = &v 6922 return s 6923} 6924 6925// SetObjectLockEnabledForBucket sets the ObjectLockEnabledForBucket field's value. 6926func (s *CreateBucketInput) SetObjectLockEnabledForBucket(v bool) *CreateBucketInput { 6927 s.ObjectLockEnabledForBucket = &v 6928 return s 6929} 6930 6931// SetOutpostId sets the OutpostId field's value. 6932func (s *CreateBucketInput) SetOutpostId(v string) *CreateBucketInput { 6933 s.OutpostId = &v 6934 return s 6935} 6936 6937func (s *CreateBucketInput) getOutpostID() (string, error) { 6938 if s.OutpostId == nil { 6939 return "", fmt.Errorf("member OutpostId is nil") 6940 } 6941 return *s.OutpostId, nil 6942} 6943 6944func (s *CreateBucketInput) hasOutpostID() bool { 6945 if s.OutpostId == nil { 6946 return false 6947 } 6948 return true 6949} 6950 6951type CreateBucketOutput struct { 6952 _ struct{} `type:"structure"` 6953 6954 // The Amazon Resource Name (ARN) of the bucket. 6955 // 6956 // For using this parameter with Amazon S3 on Outposts with the REST API, you 6957 // must specify the name and the x-amz-outpost-id as well. 6958 // 6959 // For using this parameter with S3 on Outposts with the Amazon Web Services 6960 // SDK and CLI, you must specify the ARN of the bucket accessed in the format 6961 // arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 6962 // For example, to access the bucket reports through outpost my-outpost owned 6963 // 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. 6964 // The value must be URL encoded. 6965 BucketArn *string `min:"4" type:"string"` 6966 6967 // The location of the bucket. 6968 Location *string `location:"header" locationName:"Location" type:"string"` 6969} 6970 6971// String returns the string representation. 6972// 6973// API parameter values that are decorated as "sensitive" in the API will not 6974// be included in the string output. The member name will be present, but the 6975// value will be replaced with "sensitive". 6976func (s CreateBucketOutput) String() string { 6977 return awsutil.Prettify(s) 6978} 6979 6980// GoString returns the string representation. 6981// 6982// API parameter values that are decorated as "sensitive" in the API will not 6983// be included in the string output. The member name will be present, but the 6984// value will be replaced with "sensitive". 6985func (s CreateBucketOutput) GoString() string { 6986 return s.String() 6987} 6988 6989// SetBucketArn sets the BucketArn field's value. 6990func (s *CreateBucketOutput) SetBucketArn(v string) *CreateBucketOutput { 6991 s.BucketArn = &v 6992 return s 6993} 6994 6995// SetLocation sets the Location field's value. 6996func (s *CreateBucketOutput) SetLocation(v string) *CreateBucketOutput { 6997 s.Location = &v 6998 return s 6999} 7000 7001type CreateJobInput struct { 7002 _ struct{} `locationName:"CreateJobRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 7003 7004 // The Amazon Web Services account ID that creates the job. 7005 // 7006 // AccountId is a required field 7007 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 7008 7009 // An idempotency token to ensure that you don't accidentally submit the same 7010 // request twice. You can use any string up to the maximum length. 7011 ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` 7012 7013 // Indicates whether confirmation is required before Amazon S3 runs the job. 7014 // Confirmation is only required for jobs created through the Amazon S3 console. 7015 ConfirmationRequired *bool `type:"boolean"` 7016 7017 // A description for this job. You can use any string within the permitted length. 7018 // Descriptions don't need to be unique and can be used for multiple jobs. 7019 Description *string `min:"1" type:"string"` 7020 7021 // Configuration parameters for the manifest. 7022 // 7023 // Manifest is a required field 7024 Manifest *JobManifest `type:"structure" required:"true"` 7025 7026 // The action that you want this job to perform on every object listed in the 7027 // manifest. For more information about the available actions, see Operations 7028 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-actions.html) 7029 // in the Amazon S3 User Guide. 7030 // 7031 // Operation is a required field 7032 Operation *JobOperation `type:"structure" required:"true"` 7033 7034 // The numerical priority for this job. Higher numbers indicate higher priority. 7035 // 7036 // Priority is a required field 7037 Priority *int64 `type:"integer" required:"true"` 7038 7039 // Configuration parameters for the optional job-completion report. 7040 // 7041 // Report is a required field 7042 Report *JobReport `type:"structure" required:"true"` 7043 7044 // The Amazon Resource Name (ARN) for the Identity and Access Management (IAM) 7045 // role that Batch Operations will use to run this job's action on every object 7046 // in the manifest. 7047 // 7048 // RoleArn is a required field 7049 RoleArn *string `min:"1" type:"string" required:"true"` 7050 7051 // A set of tags to associate with the S3 Batch Operations job. This is an optional 7052 // parameter. 7053 Tags []*S3Tag `type:"list"` 7054} 7055 7056// String returns the string representation. 7057// 7058// API parameter values that are decorated as "sensitive" in the API will not 7059// be included in the string output. The member name will be present, but the 7060// value will be replaced with "sensitive". 7061func (s CreateJobInput) String() string { 7062 return awsutil.Prettify(s) 7063} 7064 7065// GoString returns the string representation. 7066// 7067// API parameter values that are decorated as "sensitive" in the API will not 7068// be included in the string output. The member name will be present, but the 7069// value will be replaced with "sensitive". 7070func (s CreateJobInput) GoString() string { 7071 return s.String() 7072} 7073 7074// Validate inspects the fields of the type to determine if they are valid. 7075func (s *CreateJobInput) Validate() error { 7076 invalidParams := request.ErrInvalidParams{Context: "CreateJobInput"} 7077 if s.AccountId == nil { 7078 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7079 } 7080 if s.AccountId != nil && len(*s.AccountId) < 1 { 7081 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7082 } 7083 if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { 7084 invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) 7085 } 7086 if s.Description != nil && len(*s.Description) < 1 { 7087 invalidParams.Add(request.NewErrParamMinLen("Description", 1)) 7088 } 7089 if s.Manifest == nil { 7090 invalidParams.Add(request.NewErrParamRequired("Manifest")) 7091 } 7092 if s.Operation == nil { 7093 invalidParams.Add(request.NewErrParamRequired("Operation")) 7094 } 7095 if s.Priority == nil { 7096 invalidParams.Add(request.NewErrParamRequired("Priority")) 7097 } 7098 if s.Report == nil { 7099 invalidParams.Add(request.NewErrParamRequired("Report")) 7100 } 7101 if s.RoleArn == nil { 7102 invalidParams.Add(request.NewErrParamRequired("RoleArn")) 7103 } 7104 if s.RoleArn != nil && len(*s.RoleArn) < 1 { 7105 invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1)) 7106 } 7107 if s.Manifest != nil { 7108 if err := s.Manifest.Validate(); err != nil { 7109 invalidParams.AddNested("Manifest", err.(request.ErrInvalidParams)) 7110 } 7111 } 7112 if s.Operation != nil { 7113 if err := s.Operation.Validate(); err != nil { 7114 invalidParams.AddNested("Operation", err.(request.ErrInvalidParams)) 7115 } 7116 } 7117 if s.Report != nil { 7118 if err := s.Report.Validate(); err != nil { 7119 invalidParams.AddNested("Report", err.(request.ErrInvalidParams)) 7120 } 7121 } 7122 if s.Tags != nil { 7123 for i, v := range s.Tags { 7124 if v == nil { 7125 continue 7126 } 7127 if err := v.Validate(); err != nil { 7128 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 7129 } 7130 } 7131 } 7132 7133 if invalidParams.Len() > 0 { 7134 return invalidParams 7135 } 7136 return nil 7137} 7138 7139// SetAccountId sets the AccountId field's value. 7140func (s *CreateJobInput) SetAccountId(v string) *CreateJobInput { 7141 s.AccountId = &v 7142 return s 7143} 7144 7145// SetClientRequestToken sets the ClientRequestToken field's value. 7146func (s *CreateJobInput) SetClientRequestToken(v string) *CreateJobInput { 7147 s.ClientRequestToken = &v 7148 return s 7149} 7150 7151// SetConfirmationRequired sets the ConfirmationRequired field's value. 7152func (s *CreateJobInput) SetConfirmationRequired(v bool) *CreateJobInput { 7153 s.ConfirmationRequired = &v 7154 return s 7155} 7156 7157// SetDescription sets the Description field's value. 7158func (s *CreateJobInput) SetDescription(v string) *CreateJobInput { 7159 s.Description = &v 7160 return s 7161} 7162 7163// SetManifest sets the Manifest field's value. 7164func (s *CreateJobInput) SetManifest(v *JobManifest) *CreateJobInput { 7165 s.Manifest = v 7166 return s 7167} 7168 7169// SetOperation sets the Operation field's value. 7170func (s *CreateJobInput) SetOperation(v *JobOperation) *CreateJobInput { 7171 s.Operation = v 7172 return s 7173} 7174 7175// SetPriority sets the Priority field's value. 7176func (s *CreateJobInput) SetPriority(v int64) *CreateJobInput { 7177 s.Priority = &v 7178 return s 7179} 7180 7181// SetReport sets the Report field's value. 7182func (s *CreateJobInput) SetReport(v *JobReport) *CreateJobInput { 7183 s.Report = v 7184 return s 7185} 7186 7187// SetRoleArn sets the RoleArn field's value. 7188func (s *CreateJobInput) SetRoleArn(v string) *CreateJobInput { 7189 s.RoleArn = &v 7190 return s 7191} 7192 7193// SetTags sets the Tags field's value. 7194func (s *CreateJobInput) SetTags(v []*S3Tag) *CreateJobInput { 7195 s.Tags = v 7196 return s 7197} 7198 7199func (s *CreateJobInput) hostLabels() map[string]string { 7200 return map[string]string{ 7201 "AccountId": aws.StringValue(s.AccountId), 7202 } 7203} 7204 7205type CreateJobOutput struct { 7206 _ struct{} `type:"structure"` 7207 7208 // The ID for this job. Amazon S3 generates this ID automatically and returns 7209 // it after a successful Create Job request. 7210 JobId *string `min:"5" type:"string"` 7211} 7212 7213// String returns the string representation. 7214// 7215// API parameter values that are decorated as "sensitive" in the API will not 7216// be included in the string output. The member name will be present, but the 7217// value will be replaced with "sensitive". 7218func (s CreateJobOutput) String() string { 7219 return awsutil.Prettify(s) 7220} 7221 7222// GoString returns the string representation. 7223// 7224// API parameter values that are decorated as "sensitive" in the API will not 7225// be included in the string output. The member name will be present, but the 7226// value will be replaced with "sensitive". 7227func (s CreateJobOutput) GoString() string { 7228 return s.String() 7229} 7230 7231// SetJobId sets the JobId field's value. 7232func (s *CreateJobOutput) SetJobId(v string) *CreateJobOutput { 7233 s.JobId = &v 7234 return s 7235} 7236 7237type CreateMultiRegionAccessPointInput struct { 7238 _ struct{} `locationName:"CreateMultiRegionAccessPointRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 7239 7240 // The Amazon Web Services account ID for the owner of the Multi-Region Access 7241 // Point. The owner of the Multi-Region Access Point also must own the underlying 7242 // buckets. 7243 // 7244 // AccountId is a required field 7245 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 7246 7247 // An idempotency token used to identify the request and guarantee that requests 7248 // are unique. 7249 ClientToken *string `type:"string" idempotencyToken:"true"` 7250 7251 // A container element containing details about the Multi-Region Access Point. 7252 // 7253 // Details is a required field 7254 Details *CreateMultiRegionAccessPointInput_ `type:"structure" required:"true"` 7255} 7256 7257// String returns the string representation. 7258// 7259// API parameter values that are decorated as "sensitive" in the API will not 7260// be included in the string output. The member name will be present, but the 7261// value will be replaced with "sensitive". 7262func (s CreateMultiRegionAccessPointInput) String() string { 7263 return awsutil.Prettify(s) 7264} 7265 7266// GoString returns the string representation. 7267// 7268// API parameter values that are decorated as "sensitive" in the API will not 7269// be included in the string output. The member name will be present, but the 7270// value will be replaced with "sensitive". 7271func (s CreateMultiRegionAccessPointInput) GoString() string { 7272 return s.String() 7273} 7274 7275// Validate inspects the fields of the type to determine if they are valid. 7276func (s *CreateMultiRegionAccessPointInput) Validate() error { 7277 invalidParams := request.ErrInvalidParams{Context: "CreateMultiRegionAccessPointInput"} 7278 if s.AccountId == nil { 7279 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7280 } 7281 if s.AccountId != nil && len(*s.AccountId) < 1 { 7282 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7283 } 7284 if s.Details == nil { 7285 invalidParams.Add(request.NewErrParamRequired("Details")) 7286 } 7287 if s.Details != nil { 7288 if err := s.Details.Validate(); err != nil { 7289 invalidParams.AddNested("Details", err.(request.ErrInvalidParams)) 7290 } 7291 } 7292 7293 if invalidParams.Len() > 0 { 7294 return invalidParams 7295 } 7296 return nil 7297} 7298 7299// SetAccountId sets the AccountId field's value. 7300func (s *CreateMultiRegionAccessPointInput) SetAccountId(v string) *CreateMultiRegionAccessPointInput { 7301 s.AccountId = &v 7302 return s 7303} 7304 7305// SetClientToken sets the ClientToken field's value. 7306func (s *CreateMultiRegionAccessPointInput) SetClientToken(v string) *CreateMultiRegionAccessPointInput { 7307 s.ClientToken = &v 7308 return s 7309} 7310 7311// SetDetails sets the Details field's value. 7312func (s *CreateMultiRegionAccessPointInput) SetDetails(v *CreateMultiRegionAccessPointInput_) *CreateMultiRegionAccessPointInput { 7313 s.Details = v 7314 return s 7315} 7316 7317func (s *CreateMultiRegionAccessPointInput) hostLabels() map[string]string { 7318 return map[string]string{ 7319 "AccountId": aws.StringValue(s.AccountId), 7320 } 7321} 7322 7323// A container for the information associated with a CreateMultiRegionAccessPoint 7324// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateMultiRegionAccessPoint.html) 7325// request. 7326type CreateMultiRegionAccessPointInput_ struct { 7327 _ struct{} `type:"structure"` 7328 7329 // The name of the Multi-Region Access Point associated with this request. 7330 // 7331 // Name is a required field 7332 Name *string `type:"string" required:"true"` 7333 7334 // The PublicAccessBlock configuration that you want to apply to this Amazon 7335 // S3 account. You can enable the configuration options in any combination. 7336 // For more information about when Amazon S3 considers a bucket or object public, 7337 // 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) 7338 // in the Amazon S3 User Guide. 7339 // 7340 // This is not supported for Amazon S3 on Outposts. 7341 PublicAccessBlock *PublicAccessBlockConfiguration `type:"structure"` 7342 7343 // The buckets in different Regions that are associated with the Multi-Region 7344 // Access Point. 7345 // 7346 // Regions is a required field 7347 Regions []*Region `locationNameList:"Region" type:"list" required:"true"` 7348} 7349 7350// String returns the string representation. 7351// 7352// API parameter values that are decorated as "sensitive" in the API will not 7353// be included in the string output. The member name will be present, but the 7354// value will be replaced with "sensitive". 7355func (s CreateMultiRegionAccessPointInput_) String() string { 7356 return awsutil.Prettify(s) 7357} 7358 7359// GoString returns the string representation. 7360// 7361// API parameter values that are decorated as "sensitive" in the API will not 7362// be included in the string output. The member name will be present, but the 7363// value will be replaced with "sensitive". 7364func (s CreateMultiRegionAccessPointInput_) GoString() string { 7365 return s.String() 7366} 7367 7368// Validate inspects the fields of the type to determine if they are valid. 7369func (s *CreateMultiRegionAccessPointInput_) Validate() error { 7370 invalidParams := request.ErrInvalidParams{Context: "CreateMultiRegionAccessPointInput_"} 7371 if s.Name == nil { 7372 invalidParams.Add(request.NewErrParamRequired("Name")) 7373 } 7374 if s.Regions == nil { 7375 invalidParams.Add(request.NewErrParamRequired("Regions")) 7376 } 7377 if s.Regions != nil { 7378 for i, v := range s.Regions { 7379 if v == nil { 7380 continue 7381 } 7382 if err := v.Validate(); err != nil { 7383 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Regions", i), err.(request.ErrInvalidParams)) 7384 } 7385 } 7386 } 7387 7388 if invalidParams.Len() > 0 { 7389 return invalidParams 7390 } 7391 return nil 7392} 7393 7394// SetName sets the Name field's value. 7395func (s *CreateMultiRegionAccessPointInput_) SetName(v string) *CreateMultiRegionAccessPointInput_ { 7396 s.Name = &v 7397 return s 7398} 7399 7400// SetPublicAccessBlock sets the PublicAccessBlock field's value. 7401func (s *CreateMultiRegionAccessPointInput_) SetPublicAccessBlock(v *PublicAccessBlockConfiguration) *CreateMultiRegionAccessPointInput_ { 7402 s.PublicAccessBlock = v 7403 return s 7404} 7405 7406// SetRegions sets the Regions field's value. 7407func (s *CreateMultiRegionAccessPointInput_) SetRegions(v []*Region) *CreateMultiRegionAccessPointInput_ { 7408 s.Regions = v 7409 return s 7410} 7411 7412type CreateMultiRegionAccessPointOutput struct { 7413 _ struct{} `type:"structure"` 7414 7415 // The request token associated with the request. You can use this token with 7416 // DescribeMultiRegionAccessPointOperation (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeMultiRegionAccessPointOperation.html) 7417 // to determine the status of asynchronous requests. 7418 RequestTokenARN *string `min:"1" type:"string"` 7419} 7420 7421// String returns the string representation. 7422// 7423// API parameter values that are decorated as "sensitive" in the API will not 7424// be included in the string output. The member name will be present, but the 7425// value will be replaced with "sensitive". 7426func (s CreateMultiRegionAccessPointOutput) String() string { 7427 return awsutil.Prettify(s) 7428} 7429 7430// GoString returns the string representation. 7431// 7432// API parameter values that are decorated as "sensitive" in the API will not 7433// be included in the string output. The member name will be present, but the 7434// value will be replaced with "sensitive". 7435func (s CreateMultiRegionAccessPointOutput) GoString() string { 7436 return s.String() 7437} 7438 7439// SetRequestTokenARN sets the RequestTokenARN field's value. 7440func (s *CreateMultiRegionAccessPointOutput) SetRequestTokenARN(v string) *CreateMultiRegionAccessPointOutput { 7441 s.RequestTokenARN = &v 7442 return s 7443} 7444 7445type DeleteAccessPointForObjectLambdaInput struct { 7446 _ struct{} `locationName:"DeleteAccessPointForObjectLambdaRequest" type:"structure"` 7447 7448 // The account ID for the account that owns the specified Object Lambda Access 7449 // Point. 7450 // 7451 // AccountId is a required field 7452 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 7453 7454 // The name of the access point you want to delete. 7455 // 7456 // Name is a required field 7457 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 7458} 7459 7460// String returns the string representation. 7461// 7462// API parameter values that are decorated as "sensitive" in the API will not 7463// be included in the string output. The member name will be present, but the 7464// value will be replaced with "sensitive". 7465func (s DeleteAccessPointForObjectLambdaInput) String() string { 7466 return awsutil.Prettify(s) 7467} 7468 7469// GoString returns the string representation. 7470// 7471// API parameter values that are decorated as "sensitive" in the API will not 7472// be included in the string output. The member name will be present, but the 7473// value will be replaced with "sensitive". 7474func (s DeleteAccessPointForObjectLambdaInput) GoString() string { 7475 return s.String() 7476} 7477 7478// Validate inspects the fields of the type to determine if they are valid. 7479func (s *DeleteAccessPointForObjectLambdaInput) Validate() error { 7480 invalidParams := request.ErrInvalidParams{Context: "DeleteAccessPointForObjectLambdaInput"} 7481 if s.AccountId == nil { 7482 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7483 } 7484 if s.AccountId != nil && len(*s.AccountId) < 1 { 7485 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7486 } 7487 if s.Name == nil { 7488 invalidParams.Add(request.NewErrParamRequired("Name")) 7489 } 7490 if s.Name != nil && len(*s.Name) < 3 { 7491 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 7492 } 7493 7494 if invalidParams.Len() > 0 { 7495 return invalidParams 7496 } 7497 return nil 7498} 7499 7500// SetAccountId sets the AccountId field's value. 7501func (s *DeleteAccessPointForObjectLambdaInput) SetAccountId(v string) *DeleteAccessPointForObjectLambdaInput { 7502 s.AccountId = &v 7503 return s 7504} 7505 7506// SetName sets the Name field's value. 7507func (s *DeleteAccessPointForObjectLambdaInput) SetName(v string) *DeleteAccessPointForObjectLambdaInput { 7508 s.Name = &v 7509 return s 7510} 7511 7512func (s *DeleteAccessPointForObjectLambdaInput) hostLabels() map[string]string { 7513 return map[string]string{ 7514 "AccountId": aws.StringValue(s.AccountId), 7515 } 7516} 7517 7518type DeleteAccessPointForObjectLambdaOutput struct { 7519 _ struct{} `type:"structure"` 7520} 7521 7522// String returns the string representation. 7523// 7524// API parameter values that are decorated as "sensitive" in the API will not 7525// be included in the string output. The member name will be present, but the 7526// value will be replaced with "sensitive". 7527func (s DeleteAccessPointForObjectLambdaOutput) String() string { 7528 return awsutil.Prettify(s) 7529} 7530 7531// GoString returns the string representation. 7532// 7533// API parameter values that are decorated as "sensitive" in the API will not 7534// be included in the string output. The member name will be present, but the 7535// value will be replaced with "sensitive". 7536func (s DeleteAccessPointForObjectLambdaOutput) GoString() string { 7537 return s.String() 7538} 7539 7540type DeleteAccessPointInput struct { 7541 _ struct{} `locationName:"DeleteAccessPointRequest" type:"structure"` 7542 7543 // The account ID for the account that owns the specified access point. 7544 // 7545 // AccountId is a required field 7546 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 7547 7548 // The name of the access point you want to delete. 7549 // 7550 // For using this parameter with Amazon S3 on Outposts with the REST API, you 7551 // must specify the name and the x-amz-outpost-id as well. 7552 // 7553 // For using this parameter with S3 on Outposts with the Amazon Web Services 7554 // SDK and CLI, you must specify the ARN of the access point accessed in the 7555 // format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>. 7556 // For example, to access the access point reports-ap through outpost my-outpost 7557 // owned by account 123456789012 in Region us-west-2, use the URL encoding of 7558 // arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. 7559 // The value must be URL encoded. 7560 // 7561 // Name is a required field 7562 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 7563} 7564 7565// String returns the string representation. 7566// 7567// API parameter values that are decorated as "sensitive" in the API will not 7568// be included in the string output. The member name will be present, but the 7569// value will be replaced with "sensitive". 7570func (s DeleteAccessPointInput) String() string { 7571 return awsutil.Prettify(s) 7572} 7573 7574// GoString returns the string representation. 7575// 7576// API parameter values that are decorated as "sensitive" in the API will not 7577// be included in the string output. The member name will be present, but the 7578// value will be replaced with "sensitive". 7579func (s DeleteAccessPointInput) GoString() string { 7580 return s.String() 7581} 7582 7583// Validate inspects the fields of the type to determine if they are valid. 7584func (s *DeleteAccessPointInput) Validate() error { 7585 invalidParams := request.ErrInvalidParams{Context: "DeleteAccessPointInput"} 7586 if s.AccountId == nil { 7587 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7588 } 7589 if s.AccountId != nil && len(*s.AccountId) < 1 { 7590 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7591 } 7592 if s.Name == nil { 7593 invalidParams.Add(request.NewErrParamRequired("Name")) 7594 } 7595 if s.Name != nil && len(*s.Name) < 3 { 7596 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 7597 } 7598 7599 if invalidParams.Len() > 0 { 7600 return invalidParams 7601 } 7602 return nil 7603} 7604 7605// SetAccountId sets the AccountId field's value. 7606func (s *DeleteAccessPointInput) SetAccountId(v string) *DeleteAccessPointInput { 7607 s.AccountId = &v 7608 return s 7609} 7610 7611// SetName sets the Name field's value. 7612func (s *DeleteAccessPointInput) SetName(v string) *DeleteAccessPointInput { 7613 s.Name = &v 7614 return s 7615} 7616 7617func (s *DeleteAccessPointInput) hostLabels() map[string]string { 7618 return map[string]string{ 7619 "AccountId": aws.StringValue(s.AccountId), 7620 } 7621} 7622 7623func (s *DeleteAccessPointInput) getEndpointARN() (arn.Resource, error) { 7624 if s.Name == nil { 7625 return nil, fmt.Errorf("member Name is nil") 7626 } 7627 return parseEndpointARN(*s.Name) 7628} 7629 7630func (s *DeleteAccessPointInput) hasEndpointARN() bool { 7631 if s.Name == nil { 7632 return false 7633 } 7634 return arn.IsARN(*s.Name) 7635} 7636 7637// updateArnableField updates the value of the input field that 7638// takes an ARN as an input. This method is useful to backfill 7639// the parsed resource name from ARN into the input member. 7640// It returns a pointer to a modified copy of input and an error. 7641// Note that original input is not modified. 7642func (s DeleteAccessPointInput) updateArnableField(v string) (interface{}, error) { 7643 if s.Name == nil { 7644 return nil, fmt.Errorf("member Name is nil") 7645 } 7646 s.Name = aws.String(v) 7647 return &s, nil 7648} 7649 7650// updateAccountID returns a pointer to a modified copy of input, 7651// if account id is not provided, we update the account id in modified input 7652// if account id is provided, but doesn't match with the one in ARN, we throw an error 7653// if account id is not updated, we return nil. Note that original input is not modified. 7654func (s DeleteAccessPointInput) updateAccountID(accountId string) (interface{}, error) { 7655 if s.AccountId == nil { 7656 s.AccountId = aws.String(accountId) 7657 return &s, nil 7658 } else if *s.AccountId != accountId { 7659 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 7660 } 7661 return nil, nil 7662} 7663 7664type DeleteAccessPointOutput struct { 7665 _ struct{} `type:"structure"` 7666} 7667 7668// String returns the string representation. 7669// 7670// API parameter values that are decorated as "sensitive" in the API will not 7671// be included in the string output. The member name will be present, but the 7672// value will be replaced with "sensitive". 7673func (s DeleteAccessPointOutput) String() string { 7674 return awsutil.Prettify(s) 7675} 7676 7677// GoString returns the string representation. 7678// 7679// API parameter values that are decorated as "sensitive" in the API will not 7680// be included in the string output. The member name will be present, but the 7681// value will be replaced with "sensitive". 7682func (s DeleteAccessPointOutput) GoString() string { 7683 return s.String() 7684} 7685 7686type DeleteAccessPointPolicyForObjectLambdaInput struct { 7687 _ struct{} `locationName:"DeleteAccessPointPolicyForObjectLambdaRequest" type:"structure"` 7688 7689 // The account ID for the account that owns the specified Object Lambda Access 7690 // Point. 7691 // 7692 // AccountId is a required field 7693 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 7694 7695 // The name of the Object Lambda Access Point you want to delete the policy 7696 // for. 7697 // 7698 // Name is a required field 7699 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 7700} 7701 7702// String returns the string representation. 7703// 7704// API parameter values that are decorated as "sensitive" in the API will not 7705// be included in the string output. The member name will be present, but the 7706// value will be replaced with "sensitive". 7707func (s DeleteAccessPointPolicyForObjectLambdaInput) String() string { 7708 return awsutil.Prettify(s) 7709} 7710 7711// GoString returns the string representation. 7712// 7713// API parameter values that are decorated as "sensitive" in the API will not 7714// be included in the string output. The member name will be present, but the 7715// value will be replaced with "sensitive". 7716func (s DeleteAccessPointPolicyForObjectLambdaInput) GoString() string { 7717 return s.String() 7718} 7719 7720// Validate inspects the fields of the type to determine if they are valid. 7721func (s *DeleteAccessPointPolicyForObjectLambdaInput) Validate() error { 7722 invalidParams := request.ErrInvalidParams{Context: "DeleteAccessPointPolicyForObjectLambdaInput"} 7723 if s.AccountId == nil { 7724 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7725 } 7726 if s.AccountId != nil && len(*s.AccountId) < 1 { 7727 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7728 } 7729 if s.Name == nil { 7730 invalidParams.Add(request.NewErrParamRequired("Name")) 7731 } 7732 if s.Name != nil && len(*s.Name) < 3 { 7733 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 7734 } 7735 7736 if invalidParams.Len() > 0 { 7737 return invalidParams 7738 } 7739 return nil 7740} 7741 7742// SetAccountId sets the AccountId field's value. 7743func (s *DeleteAccessPointPolicyForObjectLambdaInput) SetAccountId(v string) *DeleteAccessPointPolicyForObjectLambdaInput { 7744 s.AccountId = &v 7745 return s 7746} 7747 7748// SetName sets the Name field's value. 7749func (s *DeleteAccessPointPolicyForObjectLambdaInput) SetName(v string) *DeleteAccessPointPolicyForObjectLambdaInput { 7750 s.Name = &v 7751 return s 7752} 7753 7754func (s *DeleteAccessPointPolicyForObjectLambdaInput) hostLabels() map[string]string { 7755 return map[string]string{ 7756 "AccountId": aws.StringValue(s.AccountId), 7757 } 7758} 7759 7760type DeleteAccessPointPolicyForObjectLambdaOutput struct { 7761 _ struct{} `type:"structure"` 7762} 7763 7764// String returns the string representation. 7765// 7766// API parameter values that are decorated as "sensitive" in the API will not 7767// be included in the string output. The member name will be present, but the 7768// value will be replaced with "sensitive". 7769func (s DeleteAccessPointPolicyForObjectLambdaOutput) String() string { 7770 return awsutil.Prettify(s) 7771} 7772 7773// GoString returns the string representation. 7774// 7775// API parameter values that are decorated as "sensitive" in the API will not 7776// be included in the string output. The member name will be present, but the 7777// value will be replaced with "sensitive". 7778func (s DeleteAccessPointPolicyForObjectLambdaOutput) GoString() string { 7779 return s.String() 7780} 7781 7782type DeleteAccessPointPolicyInput struct { 7783 _ struct{} `locationName:"DeleteAccessPointPolicyRequest" type:"structure"` 7784 7785 // The account ID for the account that owns the specified access point. 7786 // 7787 // AccountId is a required field 7788 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 7789 7790 // The name of the access point whose policy you want to delete. 7791 // 7792 // For using this parameter with Amazon S3 on Outposts with the REST API, you 7793 // must specify the name and the x-amz-outpost-id as well. 7794 // 7795 // For using this parameter with S3 on Outposts with the Amazon Web Services 7796 // SDK and CLI, you must specify the ARN of the access point accessed in the 7797 // format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>. 7798 // For example, to access the access point reports-ap through outpost my-outpost 7799 // owned by account 123456789012 in Region us-west-2, use the URL encoding of 7800 // arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. 7801 // The value must be URL encoded. 7802 // 7803 // Name is a required field 7804 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 7805} 7806 7807// String returns the string representation. 7808// 7809// API parameter values that are decorated as "sensitive" in the API will not 7810// be included in the string output. The member name will be present, but the 7811// value will be replaced with "sensitive". 7812func (s DeleteAccessPointPolicyInput) String() string { 7813 return awsutil.Prettify(s) 7814} 7815 7816// GoString returns the string representation. 7817// 7818// API parameter values that are decorated as "sensitive" in the API will not 7819// be included in the string output. The member name will be present, but the 7820// value will be replaced with "sensitive". 7821func (s DeleteAccessPointPolicyInput) GoString() string { 7822 return s.String() 7823} 7824 7825// Validate inspects the fields of the type to determine if they are valid. 7826func (s *DeleteAccessPointPolicyInput) Validate() error { 7827 invalidParams := request.ErrInvalidParams{Context: "DeleteAccessPointPolicyInput"} 7828 if s.AccountId == nil { 7829 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7830 } 7831 if s.AccountId != nil && len(*s.AccountId) < 1 { 7832 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7833 } 7834 if s.Name == nil { 7835 invalidParams.Add(request.NewErrParamRequired("Name")) 7836 } 7837 if s.Name != nil && len(*s.Name) < 3 { 7838 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 7839 } 7840 7841 if invalidParams.Len() > 0 { 7842 return invalidParams 7843 } 7844 return nil 7845} 7846 7847// SetAccountId sets the AccountId field's value. 7848func (s *DeleteAccessPointPolicyInput) SetAccountId(v string) *DeleteAccessPointPolicyInput { 7849 s.AccountId = &v 7850 return s 7851} 7852 7853// SetName sets the Name field's value. 7854func (s *DeleteAccessPointPolicyInput) SetName(v string) *DeleteAccessPointPolicyInput { 7855 s.Name = &v 7856 return s 7857} 7858 7859func (s *DeleteAccessPointPolicyInput) hostLabels() map[string]string { 7860 return map[string]string{ 7861 "AccountId": aws.StringValue(s.AccountId), 7862 } 7863} 7864 7865func (s *DeleteAccessPointPolicyInput) getEndpointARN() (arn.Resource, error) { 7866 if s.Name == nil { 7867 return nil, fmt.Errorf("member Name is nil") 7868 } 7869 return parseEndpointARN(*s.Name) 7870} 7871 7872func (s *DeleteAccessPointPolicyInput) hasEndpointARN() bool { 7873 if s.Name == nil { 7874 return false 7875 } 7876 return arn.IsARN(*s.Name) 7877} 7878 7879// updateArnableField updates the value of the input field that 7880// takes an ARN as an input. This method is useful to backfill 7881// the parsed resource name from ARN into the input member. 7882// It returns a pointer to a modified copy of input and an error. 7883// Note that original input is not modified. 7884func (s DeleteAccessPointPolicyInput) updateArnableField(v string) (interface{}, error) { 7885 if s.Name == nil { 7886 return nil, fmt.Errorf("member Name is nil") 7887 } 7888 s.Name = aws.String(v) 7889 return &s, nil 7890} 7891 7892// updateAccountID returns a pointer to a modified copy of input, 7893// if account id is not provided, we update the account id in modified input 7894// if account id is provided, but doesn't match with the one in ARN, we throw an error 7895// if account id is not updated, we return nil. Note that original input is not modified. 7896func (s DeleteAccessPointPolicyInput) updateAccountID(accountId string) (interface{}, error) { 7897 if s.AccountId == nil { 7898 s.AccountId = aws.String(accountId) 7899 return &s, nil 7900 } else if *s.AccountId != accountId { 7901 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 7902 } 7903 return nil, nil 7904} 7905 7906type DeleteAccessPointPolicyOutput struct { 7907 _ struct{} `type:"structure"` 7908} 7909 7910// String returns the string representation. 7911// 7912// API parameter values that are decorated as "sensitive" in the API will not 7913// be included in the string output. The member name will be present, but the 7914// value will be replaced with "sensitive". 7915func (s DeleteAccessPointPolicyOutput) String() string { 7916 return awsutil.Prettify(s) 7917} 7918 7919// GoString returns the string representation. 7920// 7921// API parameter values that are decorated as "sensitive" in the API will not 7922// be included in the string output. The member name will be present, but the 7923// value will be replaced with "sensitive". 7924func (s DeleteAccessPointPolicyOutput) GoString() string { 7925 return s.String() 7926} 7927 7928type DeleteBucketInput struct { 7929 _ struct{} `locationName:"DeleteBucketRequest" type:"structure"` 7930 7931 // The account ID that owns the Outposts bucket. 7932 // 7933 // AccountId is a required field 7934 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 7935 7936 // Specifies the bucket being deleted. 7937 // 7938 // For using this parameter with Amazon S3 on Outposts with the REST API, you 7939 // must specify the name and the x-amz-outpost-id as well. 7940 // 7941 // For using this parameter with S3 on Outposts with the Amazon Web Services 7942 // SDK and CLI, you must specify the ARN of the bucket accessed in the format 7943 // arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 7944 // For example, to access the bucket reports through outpost my-outpost owned 7945 // 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. 7946 // The value must be URL encoded. 7947 // 7948 // Bucket is a required field 7949 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 7950} 7951 7952// String returns the string representation. 7953// 7954// API parameter values that are decorated as "sensitive" in the API will not 7955// be included in the string output. The member name will be present, but the 7956// value will be replaced with "sensitive". 7957func (s DeleteBucketInput) String() string { 7958 return awsutil.Prettify(s) 7959} 7960 7961// GoString returns the string representation. 7962// 7963// API parameter values that are decorated as "sensitive" in the API will not 7964// be included in the string output. The member name will be present, but the 7965// value will be replaced with "sensitive". 7966func (s DeleteBucketInput) GoString() string { 7967 return s.String() 7968} 7969 7970// Validate inspects the fields of the type to determine if they are valid. 7971func (s *DeleteBucketInput) Validate() error { 7972 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketInput"} 7973 if s.AccountId == nil { 7974 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7975 } 7976 if s.AccountId != nil && len(*s.AccountId) < 1 { 7977 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7978 } 7979 if s.Bucket == nil { 7980 invalidParams.Add(request.NewErrParamRequired("Bucket")) 7981 } 7982 if s.Bucket != nil && len(*s.Bucket) < 3 { 7983 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 7984 } 7985 7986 if invalidParams.Len() > 0 { 7987 return invalidParams 7988 } 7989 return nil 7990} 7991 7992// SetAccountId sets the AccountId field's value. 7993func (s *DeleteBucketInput) SetAccountId(v string) *DeleteBucketInput { 7994 s.AccountId = &v 7995 return s 7996} 7997 7998// SetBucket sets the Bucket field's value. 7999func (s *DeleteBucketInput) SetBucket(v string) *DeleteBucketInput { 8000 s.Bucket = &v 8001 return s 8002} 8003 8004func (s *DeleteBucketInput) hostLabels() map[string]string { 8005 return map[string]string{ 8006 "AccountId": aws.StringValue(s.AccountId), 8007 } 8008} 8009 8010func (s *DeleteBucketInput) getEndpointARN() (arn.Resource, error) { 8011 if s.Bucket == nil { 8012 return nil, fmt.Errorf("member Bucket is nil") 8013 } 8014 return parseEndpointARN(*s.Bucket) 8015} 8016 8017func (s *DeleteBucketInput) hasEndpointARN() bool { 8018 if s.Bucket == nil { 8019 return false 8020 } 8021 return arn.IsARN(*s.Bucket) 8022} 8023 8024// updateArnableField updates the value of the input field that 8025// takes an ARN as an input. This method is useful to backfill 8026// the parsed resource name from ARN into the input member. 8027// It returns a pointer to a modified copy of input and an error. 8028// Note that original input is not modified. 8029func (s DeleteBucketInput) updateArnableField(v string) (interface{}, error) { 8030 if s.Bucket == nil { 8031 return nil, fmt.Errorf("member Bucket is nil") 8032 } 8033 s.Bucket = aws.String(v) 8034 return &s, nil 8035} 8036 8037// updateAccountID returns a pointer to a modified copy of input, 8038// if account id is not provided, we update the account id in modified input 8039// if account id is provided, but doesn't match with the one in ARN, we throw an error 8040// if account id is not updated, we return nil. Note that original input is not modified. 8041func (s DeleteBucketInput) updateAccountID(accountId string) (interface{}, error) { 8042 if s.AccountId == nil { 8043 s.AccountId = aws.String(accountId) 8044 return &s, nil 8045 } else if *s.AccountId != accountId { 8046 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 8047 } 8048 return nil, nil 8049} 8050 8051type DeleteBucketLifecycleConfigurationInput struct { 8052 _ struct{} `locationName:"DeleteBucketLifecycleConfigurationRequest" type:"structure"` 8053 8054 // The account ID of the lifecycle configuration to delete. 8055 // 8056 // AccountId is a required field 8057 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 8058 8059 // Specifies the bucket. 8060 // 8061 // For using this parameter with Amazon S3 on Outposts with the REST API, you 8062 // must specify the name and the x-amz-outpost-id as well. 8063 // 8064 // For using this parameter with S3 on Outposts with the Amazon Web Services 8065 // SDK and CLI, you must specify the ARN of the bucket accessed in the format 8066 // arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 8067 // For example, to access the bucket reports through outpost my-outpost owned 8068 // 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. 8069 // The value must be URL encoded. 8070 // 8071 // Bucket is a required field 8072 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 8073} 8074 8075// String returns the string representation. 8076// 8077// API parameter values that are decorated as "sensitive" in the API will not 8078// be included in the string output. The member name will be present, but the 8079// value will be replaced with "sensitive". 8080func (s DeleteBucketLifecycleConfigurationInput) String() string { 8081 return awsutil.Prettify(s) 8082} 8083 8084// GoString returns the string representation. 8085// 8086// API parameter values that are decorated as "sensitive" in the API will not 8087// be included in the string output. The member name will be present, but the 8088// value will be replaced with "sensitive". 8089func (s DeleteBucketLifecycleConfigurationInput) GoString() string { 8090 return s.String() 8091} 8092 8093// Validate inspects the fields of the type to determine if they are valid. 8094func (s *DeleteBucketLifecycleConfigurationInput) Validate() error { 8095 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketLifecycleConfigurationInput"} 8096 if s.AccountId == nil { 8097 invalidParams.Add(request.NewErrParamRequired("AccountId")) 8098 } 8099 if s.AccountId != nil && len(*s.AccountId) < 1 { 8100 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 8101 } 8102 if s.Bucket == nil { 8103 invalidParams.Add(request.NewErrParamRequired("Bucket")) 8104 } 8105 if s.Bucket != nil && len(*s.Bucket) < 3 { 8106 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 8107 } 8108 8109 if invalidParams.Len() > 0 { 8110 return invalidParams 8111 } 8112 return nil 8113} 8114 8115// SetAccountId sets the AccountId field's value. 8116func (s *DeleteBucketLifecycleConfigurationInput) SetAccountId(v string) *DeleteBucketLifecycleConfigurationInput { 8117 s.AccountId = &v 8118 return s 8119} 8120 8121// SetBucket sets the Bucket field's value. 8122func (s *DeleteBucketLifecycleConfigurationInput) SetBucket(v string) *DeleteBucketLifecycleConfigurationInput { 8123 s.Bucket = &v 8124 return s 8125} 8126 8127func (s *DeleteBucketLifecycleConfigurationInput) hostLabels() map[string]string { 8128 return map[string]string{ 8129 "AccountId": aws.StringValue(s.AccountId), 8130 } 8131} 8132 8133func (s *DeleteBucketLifecycleConfigurationInput) getEndpointARN() (arn.Resource, error) { 8134 if s.Bucket == nil { 8135 return nil, fmt.Errorf("member Bucket is nil") 8136 } 8137 return parseEndpointARN(*s.Bucket) 8138} 8139 8140func (s *DeleteBucketLifecycleConfigurationInput) hasEndpointARN() bool { 8141 if s.Bucket == nil { 8142 return false 8143 } 8144 return arn.IsARN(*s.Bucket) 8145} 8146 8147// updateArnableField updates the value of the input field that 8148// takes an ARN as an input. This method is useful to backfill 8149// the parsed resource name from ARN into the input member. 8150// It returns a pointer to a modified copy of input and an error. 8151// Note that original input is not modified. 8152func (s DeleteBucketLifecycleConfigurationInput) updateArnableField(v string) (interface{}, error) { 8153 if s.Bucket == nil { 8154 return nil, fmt.Errorf("member Bucket is nil") 8155 } 8156 s.Bucket = aws.String(v) 8157 return &s, nil 8158} 8159 8160// updateAccountID returns a pointer to a modified copy of input, 8161// if account id is not provided, we update the account id in modified input 8162// if account id is provided, but doesn't match with the one in ARN, we throw an error 8163// if account id is not updated, we return nil. Note that original input is not modified. 8164func (s DeleteBucketLifecycleConfigurationInput) updateAccountID(accountId string) (interface{}, error) { 8165 if s.AccountId == nil { 8166 s.AccountId = aws.String(accountId) 8167 return &s, nil 8168 } else if *s.AccountId != accountId { 8169 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 8170 } 8171 return nil, nil 8172} 8173 8174type DeleteBucketLifecycleConfigurationOutput struct { 8175 _ struct{} `type:"structure"` 8176} 8177 8178// String returns the string representation. 8179// 8180// API parameter values that are decorated as "sensitive" in the API will not 8181// be included in the string output. The member name will be present, but the 8182// value will be replaced with "sensitive". 8183func (s DeleteBucketLifecycleConfigurationOutput) String() string { 8184 return awsutil.Prettify(s) 8185} 8186 8187// GoString returns the string representation. 8188// 8189// API parameter values that are decorated as "sensitive" in the API will not 8190// be included in the string output. The member name will be present, but the 8191// value will be replaced with "sensitive". 8192func (s DeleteBucketLifecycleConfigurationOutput) GoString() string { 8193 return s.String() 8194} 8195 8196type DeleteBucketOutput struct { 8197 _ struct{} `type:"structure"` 8198} 8199 8200// String returns the string representation. 8201// 8202// API parameter values that are decorated as "sensitive" in the API will not 8203// be included in the string output. The member name will be present, but the 8204// value will be replaced with "sensitive". 8205func (s DeleteBucketOutput) String() string { 8206 return awsutil.Prettify(s) 8207} 8208 8209// GoString returns the string representation. 8210// 8211// API parameter values that are decorated as "sensitive" in the API will not 8212// be included in the string output. The member name will be present, but the 8213// value will be replaced with "sensitive". 8214func (s DeleteBucketOutput) GoString() string { 8215 return s.String() 8216} 8217 8218type DeleteBucketPolicyInput struct { 8219 _ struct{} `locationName:"DeleteBucketPolicyRequest" type:"structure"` 8220 8221 // The account ID of the Outposts bucket. 8222 // 8223 // AccountId is a required field 8224 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 8225 8226 // Specifies the bucket. 8227 // 8228 // For using this parameter with Amazon S3 on Outposts with the REST API, you 8229 // must specify the name and the x-amz-outpost-id as well. 8230 // 8231 // For using this parameter with S3 on Outposts with the Amazon Web Services 8232 // SDK and CLI, you must specify the ARN of the bucket accessed in the format 8233 // arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 8234 // For example, to access the bucket reports through outpost my-outpost owned 8235 // 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. 8236 // The value must be URL encoded. 8237 // 8238 // Bucket is a required field 8239 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 8240} 8241 8242// String returns the string representation. 8243// 8244// API parameter values that are decorated as "sensitive" in the API will not 8245// be included in the string output. The member name will be present, but the 8246// value will be replaced with "sensitive". 8247func (s DeleteBucketPolicyInput) String() string { 8248 return awsutil.Prettify(s) 8249} 8250 8251// GoString returns the string representation. 8252// 8253// API parameter values that are decorated as "sensitive" in the API will not 8254// be included in the string output. The member name will be present, but the 8255// value will be replaced with "sensitive". 8256func (s DeleteBucketPolicyInput) GoString() string { 8257 return s.String() 8258} 8259 8260// Validate inspects the fields of the type to determine if they are valid. 8261func (s *DeleteBucketPolicyInput) Validate() error { 8262 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketPolicyInput"} 8263 if s.AccountId == nil { 8264 invalidParams.Add(request.NewErrParamRequired("AccountId")) 8265 } 8266 if s.AccountId != nil && len(*s.AccountId) < 1 { 8267 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 8268 } 8269 if s.Bucket == nil { 8270 invalidParams.Add(request.NewErrParamRequired("Bucket")) 8271 } 8272 if s.Bucket != nil && len(*s.Bucket) < 3 { 8273 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 8274 } 8275 8276 if invalidParams.Len() > 0 { 8277 return invalidParams 8278 } 8279 return nil 8280} 8281 8282// SetAccountId sets the AccountId field's value. 8283func (s *DeleteBucketPolicyInput) SetAccountId(v string) *DeleteBucketPolicyInput { 8284 s.AccountId = &v 8285 return s 8286} 8287 8288// SetBucket sets the Bucket field's value. 8289func (s *DeleteBucketPolicyInput) SetBucket(v string) *DeleteBucketPolicyInput { 8290 s.Bucket = &v 8291 return s 8292} 8293 8294func (s *DeleteBucketPolicyInput) hostLabels() map[string]string { 8295 return map[string]string{ 8296 "AccountId": aws.StringValue(s.AccountId), 8297 } 8298} 8299 8300func (s *DeleteBucketPolicyInput) getEndpointARN() (arn.Resource, error) { 8301 if s.Bucket == nil { 8302 return nil, fmt.Errorf("member Bucket is nil") 8303 } 8304 return parseEndpointARN(*s.Bucket) 8305} 8306 8307func (s *DeleteBucketPolicyInput) hasEndpointARN() bool { 8308 if s.Bucket == nil { 8309 return false 8310 } 8311 return arn.IsARN(*s.Bucket) 8312} 8313 8314// updateArnableField updates the value of the input field that 8315// takes an ARN as an input. This method is useful to backfill 8316// the parsed resource name from ARN into the input member. 8317// It returns a pointer to a modified copy of input and an error. 8318// Note that original input is not modified. 8319func (s DeleteBucketPolicyInput) updateArnableField(v string) (interface{}, error) { 8320 if s.Bucket == nil { 8321 return nil, fmt.Errorf("member Bucket is nil") 8322 } 8323 s.Bucket = aws.String(v) 8324 return &s, nil 8325} 8326 8327// updateAccountID returns a pointer to a modified copy of input, 8328// if account id is not provided, we update the account id in modified input 8329// if account id is provided, but doesn't match with the one in ARN, we throw an error 8330// if account id is not updated, we return nil. Note that original input is not modified. 8331func (s DeleteBucketPolicyInput) updateAccountID(accountId string) (interface{}, error) { 8332 if s.AccountId == nil { 8333 s.AccountId = aws.String(accountId) 8334 return &s, nil 8335 } else if *s.AccountId != accountId { 8336 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 8337 } 8338 return nil, nil 8339} 8340 8341type DeleteBucketPolicyOutput struct { 8342 _ struct{} `type:"structure"` 8343} 8344 8345// String returns the string representation. 8346// 8347// API parameter values that are decorated as "sensitive" in the API will not 8348// be included in the string output. The member name will be present, but the 8349// value will be replaced with "sensitive". 8350func (s DeleteBucketPolicyOutput) String() string { 8351 return awsutil.Prettify(s) 8352} 8353 8354// GoString returns the string representation. 8355// 8356// API parameter values that are decorated as "sensitive" in the API will not 8357// be included in the string output. The member name will be present, but the 8358// value will be replaced with "sensitive". 8359func (s DeleteBucketPolicyOutput) GoString() string { 8360 return s.String() 8361} 8362 8363type DeleteBucketTaggingInput struct { 8364 _ struct{} `locationName:"DeleteBucketTaggingRequest" type:"structure"` 8365 8366 // The Amazon Web Services account ID of the Outposts bucket tag set to be removed. 8367 // 8368 // AccountId is a required field 8369 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 8370 8371 // The bucket ARN that has the tag set to be removed. 8372 // 8373 // For using this parameter with Amazon S3 on Outposts with the REST API, you 8374 // must specify the name and the x-amz-outpost-id as well. 8375 // 8376 // For using this parameter with S3 on Outposts with the Amazon Web Services 8377 // SDK and CLI, you must specify the ARN of the bucket accessed in the format 8378 // arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 8379 // For example, to access the bucket reports through outpost my-outpost owned 8380 // 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. 8381 // The value must be URL encoded. 8382 // 8383 // Bucket is a required field 8384 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 8385} 8386 8387// String returns the string representation. 8388// 8389// API parameter values that are decorated as "sensitive" in the API will not 8390// be included in the string output. The member name will be present, but the 8391// value will be replaced with "sensitive". 8392func (s DeleteBucketTaggingInput) String() string { 8393 return awsutil.Prettify(s) 8394} 8395 8396// GoString returns the string representation. 8397// 8398// API parameter values that are decorated as "sensitive" in the API will not 8399// be included in the string output. The member name will be present, but the 8400// value will be replaced with "sensitive". 8401func (s DeleteBucketTaggingInput) GoString() string { 8402 return s.String() 8403} 8404 8405// Validate inspects the fields of the type to determine if they are valid. 8406func (s *DeleteBucketTaggingInput) Validate() error { 8407 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketTaggingInput"} 8408 if s.AccountId == nil { 8409 invalidParams.Add(request.NewErrParamRequired("AccountId")) 8410 } 8411 if s.AccountId != nil && len(*s.AccountId) < 1 { 8412 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 8413 } 8414 if s.Bucket == nil { 8415 invalidParams.Add(request.NewErrParamRequired("Bucket")) 8416 } 8417 if s.Bucket != nil && len(*s.Bucket) < 3 { 8418 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 8419 } 8420 8421 if invalidParams.Len() > 0 { 8422 return invalidParams 8423 } 8424 return nil 8425} 8426 8427// SetAccountId sets the AccountId field's value. 8428func (s *DeleteBucketTaggingInput) SetAccountId(v string) *DeleteBucketTaggingInput { 8429 s.AccountId = &v 8430 return s 8431} 8432 8433// SetBucket sets the Bucket field's value. 8434func (s *DeleteBucketTaggingInput) SetBucket(v string) *DeleteBucketTaggingInput { 8435 s.Bucket = &v 8436 return s 8437} 8438 8439func (s *DeleteBucketTaggingInput) hostLabels() map[string]string { 8440 return map[string]string{ 8441 "AccountId": aws.StringValue(s.AccountId), 8442 } 8443} 8444 8445func (s *DeleteBucketTaggingInput) getEndpointARN() (arn.Resource, error) { 8446 if s.Bucket == nil { 8447 return nil, fmt.Errorf("member Bucket is nil") 8448 } 8449 return parseEndpointARN(*s.Bucket) 8450} 8451 8452func (s *DeleteBucketTaggingInput) hasEndpointARN() bool { 8453 if s.Bucket == nil { 8454 return false 8455 } 8456 return arn.IsARN(*s.Bucket) 8457} 8458 8459// updateArnableField updates the value of the input field that 8460// takes an ARN as an input. This method is useful to backfill 8461// the parsed resource name from ARN into the input member. 8462// It returns a pointer to a modified copy of input and an error. 8463// Note that original input is not modified. 8464func (s DeleteBucketTaggingInput) updateArnableField(v string) (interface{}, error) { 8465 if s.Bucket == nil { 8466 return nil, fmt.Errorf("member Bucket is nil") 8467 } 8468 s.Bucket = aws.String(v) 8469 return &s, nil 8470} 8471 8472// updateAccountID returns a pointer to a modified copy of input, 8473// if account id is not provided, we update the account id in modified input 8474// if account id is provided, but doesn't match with the one in ARN, we throw an error 8475// if account id is not updated, we return nil. Note that original input is not modified. 8476func (s DeleteBucketTaggingInput) updateAccountID(accountId string) (interface{}, error) { 8477 if s.AccountId == nil { 8478 s.AccountId = aws.String(accountId) 8479 return &s, nil 8480 } else if *s.AccountId != accountId { 8481 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 8482 } 8483 return nil, nil 8484} 8485 8486type DeleteBucketTaggingOutput struct { 8487 _ struct{} `type:"structure"` 8488} 8489 8490// String returns the string representation. 8491// 8492// API parameter values that are decorated as "sensitive" in the API will not 8493// be included in the string output. The member name will be present, but the 8494// value will be replaced with "sensitive". 8495func (s DeleteBucketTaggingOutput) String() string { 8496 return awsutil.Prettify(s) 8497} 8498 8499// GoString returns the string representation. 8500// 8501// API parameter values that are decorated as "sensitive" in the API will not 8502// be included in the string output. The member name will be present, but the 8503// value will be replaced with "sensitive". 8504func (s DeleteBucketTaggingOutput) GoString() string { 8505 return s.String() 8506} 8507 8508type DeleteJobTaggingInput struct { 8509 _ struct{} `locationName:"DeleteJobTaggingRequest" type:"structure"` 8510 8511 // The Amazon Web Services account ID associated with the S3 Batch Operations 8512 // job. 8513 // 8514 // AccountId is a required field 8515 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 8516 8517 // The ID for the S3 Batch Operations job whose tags you want to delete. 8518 // 8519 // JobId is a required field 8520 JobId *string `location:"uri" locationName:"id" min:"5" type:"string" required:"true"` 8521} 8522 8523// String returns the string representation. 8524// 8525// API parameter values that are decorated as "sensitive" in the API will not 8526// be included in the string output. The member name will be present, but the 8527// value will be replaced with "sensitive". 8528func (s DeleteJobTaggingInput) String() string { 8529 return awsutil.Prettify(s) 8530} 8531 8532// GoString returns the string representation. 8533// 8534// API parameter values that are decorated as "sensitive" in the API will not 8535// be included in the string output. The member name will be present, but the 8536// value will be replaced with "sensitive". 8537func (s DeleteJobTaggingInput) GoString() string { 8538 return s.String() 8539} 8540 8541// Validate inspects the fields of the type to determine if they are valid. 8542func (s *DeleteJobTaggingInput) Validate() error { 8543 invalidParams := request.ErrInvalidParams{Context: "DeleteJobTaggingInput"} 8544 if s.AccountId == nil { 8545 invalidParams.Add(request.NewErrParamRequired("AccountId")) 8546 } 8547 if s.AccountId != nil && len(*s.AccountId) < 1 { 8548 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 8549 } 8550 if s.JobId == nil { 8551 invalidParams.Add(request.NewErrParamRequired("JobId")) 8552 } 8553 if s.JobId != nil && len(*s.JobId) < 5 { 8554 invalidParams.Add(request.NewErrParamMinLen("JobId", 5)) 8555 } 8556 8557 if invalidParams.Len() > 0 { 8558 return invalidParams 8559 } 8560 return nil 8561} 8562 8563// SetAccountId sets the AccountId field's value. 8564func (s *DeleteJobTaggingInput) SetAccountId(v string) *DeleteJobTaggingInput { 8565 s.AccountId = &v 8566 return s 8567} 8568 8569// SetJobId sets the JobId field's value. 8570func (s *DeleteJobTaggingInput) SetJobId(v string) *DeleteJobTaggingInput { 8571 s.JobId = &v 8572 return s 8573} 8574 8575func (s *DeleteJobTaggingInput) hostLabels() map[string]string { 8576 return map[string]string{ 8577 "AccountId": aws.StringValue(s.AccountId), 8578 } 8579} 8580 8581type DeleteJobTaggingOutput struct { 8582 _ struct{} `type:"structure"` 8583} 8584 8585// String returns the string representation. 8586// 8587// API parameter values that are decorated as "sensitive" in the API will not 8588// be included in the string output. The member name will be present, but the 8589// value will be replaced with "sensitive". 8590func (s DeleteJobTaggingOutput) String() string { 8591 return awsutil.Prettify(s) 8592} 8593 8594// GoString returns the string representation. 8595// 8596// API parameter values that are decorated as "sensitive" in the API will not 8597// be included in the string output. The member name will be present, but the 8598// value will be replaced with "sensitive". 8599func (s DeleteJobTaggingOutput) GoString() string { 8600 return s.String() 8601} 8602 8603type DeleteMultiRegionAccessPointInput struct { 8604 _ struct{} `locationName:"DeleteMultiRegionAccessPointRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 8605 8606 // The Amazon Web Services account ID for the owner of the Multi-Region Access 8607 // Point. 8608 // 8609 // AccountId is a required field 8610 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 8611 8612 // An idempotency token used to identify the request and guarantee that requests 8613 // are unique. 8614 ClientToken *string `type:"string" idempotencyToken:"true"` 8615 8616 // A container element containing details about the Multi-Region Access Point. 8617 // 8618 // Details is a required field 8619 Details *DeleteMultiRegionAccessPointInput_ `type:"structure" required:"true"` 8620} 8621 8622// String returns the string representation. 8623// 8624// API parameter values that are decorated as "sensitive" in the API will not 8625// be included in the string output. The member name will be present, but the 8626// value will be replaced with "sensitive". 8627func (s DeleteMultiRegionAccessPointInput) String() string { 8628 return awsutil.Prettify(s) 8629} 8630 8631// GoString returns the string representation. 8632// 8633// API parameter values that are decorated as "sensitive" in the API will not 8634// be included in the string output. The member name will be present, but the 8635// value will be replaced with "sensitive". 8636func (s DeleteMultiRegionAccessPointInput) GoString() string { 8637 return s.String() 8638} 8639 8640// Validate inspects the fields of the type to determine if they are valid. 8641func (s *DeleteMultiRegionAccessPointInput) Validate() error { 8642 invalidParams := request.ErrInvalidParams{Context: "DeleteMultiRegionAccessPointInput"} 8643 if s.AccountId == nil { 8644 invalidParams.Add(request.NewErrParamRequired("AccountId")) 8645 } 8646 if s.AccountId != nil && len(*s.AccountId) < 1 { 8647 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 8648 } 8649 if s.Details == nil { 8650 invalidParams.Add(request.NewErrParamRequired("Details")) 8651 } 8652 if s.Details != nil { 8653 if err := s.Details.Validate(); err != nil { 8654 invalidParams.AddNested("Details", err.(request.ErrInvalidParams)) 8655 } 8656 } 8657 8658 if invalidParams.Len() > 0 { 8659 return invalidParams 8660 } 8661 return nil 8662} 8663 8664// SetAccountId sets the AccountId field's value. 8665func (s *DeleteMultiRegionAccessPointInput) SetAccountId(v string) *DeleteMultiRegionAccessPointInput { 8666 s.AccountId = &v 8667 return s 8668} 8669 8670// SetClientToken sets the ClientToken field's value. 8671func (s *DeleteMultiRegionAccessPointInput) SetClientToken(v string) *DeleteMultiRegionAccessPointInput { 8672 s.ClientToken = &v 8673 return s 8674} 8675 8676// SetDetails sets the Details field's value. 8677func (s *DeleteMultiRegionAccessPointInput) SetDetails(v *DeleteMultiRegionAccessPointInput_) *DeleteMultiRegionAccessPointInput { 8678 s.Details = v 8679 return s 8680} 8681 8682func (s *DeleteMultiRegionAccessPointInput) hostLabels() map[string]string { 8683 return map[string]string{ 8684 "AccountId": aws.StringValue(s.AccountId), 8685 } 8686} 8687 8688// A container for the information associated with a DeleteMultiRegionAccessPoint 8689// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteMultiRegionAccessPoint.html) 8690// request. 8691type DeleteMultiRegionAccessPointInput_ struct { 8692 _ struct{} `type:"structure"` 8693 8694 // The name of the Multi-Region Access Point associated with this request. 8695 // 8696 // Name is a required field 8697 Name *string `type:"string" required:"true"` 8698} 8699 8700// String returns the string representation. 8701// 8702// API parameter values that are decorated as "sensitive" in the API will not 8703// be included in the string output. The member name will be present, but the 8704// value will be replaced with "sensitive". 8705func (s DeleteMultiRegionAccessPointInput_) String() string { 8706 return awsutil.Prettify(s) 8707} 8708 8709// GoString returns the string representation. 8710// 8711// API parameter values that are decorated as "sensitive" in the API will not 8712// be included in the string output. The member name will be present, but the 8713// value will be replaced with "sensitive". 8714func (s DeleteMultiRegionAccessPointInput_) GoString() string { 8715 return s.String() 8716} 8717 8718// Validate inspects the fields of the type to determine if they are valid. 8719func (s *DeleteMultiRegionAccessPointInput_) Validate() error { 8720 invalidParams := request.ErrInvalidParams{Context: "DeleteMultiRegionAccessPointInput_"} 8721 if s.Name == nil { 8722 invalidParams.Add(request.NewErrParamRequired("Name")) 8723 } 8724 8725 if invalidParams.Len() > 0 { 8726 return invalidParams 8727 } 8728 return nil 8729} 8730 8731// SetName sets the Name field's value. 8732func (s *DeleteMultiRegionAccessPointInput_) SetName(v string) *DeleteMultiRegionAccessPointInput_ { 8733 s.Name = &v 8734 return s 8735} 8736 8737type DeleteMultiRegionAccessPointOutput struct { 8738 _ struct{} `type:"structure"` 8739 8740 // The request token associated with the request. You can use this token with 8741 // DescribeMultiRegionAccessPointOperation (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeMultiRegionAccessPointOperation.html) 8742 // to determine the status of asynchronous requests. 8743 RequestTokenARN *string `min:"1" type:"string"` 8744} 8745 8746// String returns the string representation. 8747// 8748// API parameter values that are decorated as "sensitive" in the API will not 8749// be included in the string output. The member name will be present, but the 8750// value will be replaced with "sensitive". 8751func (s DeleteMultiRegionAccessPointOutput) String() string { 8752 return awsutil.Prettify(s) 8753} 8754 8755// GoString returns the string representation. 8756// 8757// API parameter values that are decorated as "sensitive" in the API will not 8758// be included in the string output. The member name will be present, but the 8759// value will be replaced with "sensitive". 8760func (s DeleteMultiRegionAccessPointOutput) GoString() string { 8761 return s.String() 8762} 8763 8764// SetRequestTokenARN sets the RequestTokenARN field's value. 8765func (s *DeleteMultiRegionAccessPointOutput) SetRequestTokenARN(v string) *DeleteMultiRegionAccessPointOutput { 8766 s.RequestTokenARN = &v 8767 return s 8768} 8769 8770type DeletePublicAccessBlockInput struct { 8771 _ struct{} `locationName:"DeletePublicAccessBlockRequest" type:"structure"` 8772 8773 // The account ID for the Amazon Web Services account whose PublicAccessBlock 8774 // configuration you want to remove. 8775 // 8776 // AccountId is a required field 8777 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 8778} 8779 8780// String returns the string representation. 8781// 8782// API parameter values that are decorated as "sensitive" in the API will not 8783// be included in the string output. The member name will be present, but the 8784// value will be replaced with "sensitive". 8785func (s DeletePublicAccessBlockInput) String() string { 8786 return awsutil.Prettify(s) 8787} 8788 8789// GoString returns the string representation. 8790// 8791// API parameter values that are decorated as "sensitive" in the API will not 8792// be included in the string output. The member name will be present, but the 8793// value will be replaced with "sensitive". 8794func (s DeletePublicAccessBlockInput) GoString() string { 8795 return s.String() 8796} 8797 8798// Validate inspects the fields of the type to determine if they are valid. 8799func (s *DeletePublicAccessBlockInput) Validate() error { 8800 invalidParams := request.ErrInvalidParams{Context: "DeletePublicAccessBlockInput"} 8801 if s.AccountId == nil { 8802 invalidParams.Add(request.NewErrParamRequired("AccountId")) 8803 } 8804 if s.AccountId != nil && len(*s.AccountId) < 1 { 8805 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 8806 } 8807 8808 if invalidParams.Len() > 0 { 8809 return invalidParams 8810 } 8811 return nil 8812} 8813 8814// SetAccountId sets the AccountId field's value. 8815func (s *DeletePublicAccessBlockInput) SetAccountId(v string) *DeletePublicAccessBlockInput { 8816 s.AccountId = &v 8817 return s 8818} 8819 8820func (s *DeletePublicAccessBlockInput) hostLabels() map[string]string { 8821 return map[string]string{ 8822 "AccountId": aws.StringValue(s.AccountId), 8823 } 8824} 8825 8826type DeletePublicAccessBlockOutput struct { 8827 _ struct{} `type:"structure"` 8828} 8829 8830// String returns the string representation. 8831// 8832// API parameter values that are decorated as "sensitive" in the API will not 8833// be included in the string output. The member name will be present, but the 8834// value will be replaced with "sensitive". 8835func (s DeletePublicAccessBlockOutput) String() string { 8836 return awsutil.Prettify(s) 8837} 8838 8839// GoString returns the string representation. 8840// 8841// API parameter values that are decorated as "sensitive" in the API will not 8842// be included in the string output. The member name will be present, but the 8843// value will be replaced with "sensitive". 8844func (s DeletePublicAccessBlockOutput) GoString() string { 8845 return s.String() 8846} 8847 8848type DeleteStorageLensConfigurationInput struct { 8849 _ struct{} `locationName:"DeleteStorageLensConfigurationRequest" type:"structure"` 8850 8851 // The account ID of the requester. 8852 // 8853 // AccountId is a required field 8854 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 8855 8856 // The ID of the S3 Storage Lens configuration. 8857 // 8858 // ConfigId is a required field 8859 ConfigId *string `location:"uri" locationName:"storagelensid" min:"1" type:"string" required:"true"` 8860} 8861 8862// String returns the string representation. 8863// 8864// API parameter values that are decorated as "sensitive" in the API will not 8865// be included in the string output. The member name will be present, but the 8866// value will be replaced with "sensitive". 8867func (s DeleteStorageLensConfigurationInput) String() string { 8868 return awsutil.Prettify(s) 8869} 8870 8871// GoString returns the string representation. 8872// 8873// API parameter values that are decorated as "sensitive" in the API will not 8874// be included in the string output. The member name will be present, but the 8875// value will be replaced with "sensitive". 8876func (s DeleteStorageLensConfigurationInput) GoString() string { 8877 return s.String() 8878} 8879 8880// Validate inspects the fields of the type to determine if they are valid. 8881func (s *DeleteStorageLensConfigurationInput) Validate() error { 8882 invalidParams := request.ErrInvalidParams{Context: "DeleteStorageLensConfigurationInput"} 8883 if s.AccountId == nil { 8884 invalidParams.Add(request.NewErrParamRequired("AccountId")) 8885 } 8886 if s.AccountId != nil && len(*s.AccountId) < 1 { 8887 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 8888 } 8889 if s.ConfigId == nil { 8890 invalidParams.Add(request.NewErrParamRequired("ConfigId")) 8891 } 8892 if s.ConfigId != nil && len(*s.ConfigId) < 1 { 8893 invalidParams.Add(request.NewErrParamMinLen("ConfigId", 1)) 8894 } 8895 8896 if invalidParams.Len() > 0 { 8897 return invalidParams 8898 } 8899 return nil 8900} 8901 8902// SetAccountId sets the AccountId field's value. 8903func (s *DeleteStorageLensConfigurationInput) SetAccountId(v string) *DeleteStorageLensConfigurationInput { 8904 s.AccountId = &v 8905 return s 8906} 8907 8908// SetConfigId sets the ConfigId field's value. 8909func (s *DeleteStorageLensConfigurationInput) SetConfigId(v string) *DeleteStorageLensConfigurationInput { 8910 s.ConfigId = &v 8911 return s 8912} 8913 8914func (s *DeleteStorageLensConfigurationInput) hostLabels() map[string]string { 8915 return map[string]string{ 8916 "AccountId": aws.StringValue(s.AccountId), 8917 } 8918} 8919 8920type DeleteStorageLensConfigurationOutput struct { 8921 _ struct{} `type:"structure"` 8922} 8923 8924// String returns the string representation. 8925// 8926// API parameter values that are decorated as "sensitive" in the API will not 8927// be included in the string output. The member name will be present, but the 8928// value will be replaced with "sensitive". 8929func (s DeleteStorageLensConfigurationOutput) String() string { 8930 return awsutil.Prettify(s) 8931} 8932 8933// GoString returns the string representation. 8934// 8935// API parameter values that are decorated as "sensitive" in the API will not 8936// be included in the string output. The member name will be present, but the 8937// value will be replaced with "sensitive". 8938func (s DeleteStorageLensConfigurationOutput) GoString() string { 8939 return s.String() 8940} 8941 8942type DeleteStorageLensConfigurationTaggingInput struct { 8943 _ struct{} `locationName:"DeleteStorageLensConfigurationTaggingRequest" type:"structure"` 8944 8945 // The account ID of the requester. 8946 // 8947 // AccountId is a required field 8948 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 8949 8950 // The ID of the S3 Storage Lens configuration. 8951 // 8952 // ConfigId is a required field 8953 ConfigId *string `location:"uri" locationName:"storagelensid" min:"1" type:"string" required:"true"` 8954} 8955 8956// String returns the string representation. 8957// 8958// API parameter values that are decorated as "sensitive" in the API will not 8959// be included in the string output. The member name will be present, but the 8960// value will be replaced with "sensitive". 8961func (s DeleteStorageLensConfigurationTaggingInput) String() string { 8962 return awsutil.Prettify(s) 8963} 8964 8965// GoString returns the string representation. 8966// 8967// API parameter values that are decorated as "sensitive" in the API will not 8968// be included in the string output. The member name will be present, but the 8969// value will be replaced with "sensitive". 8970func (s DeleteStorageLensConfigurationTaggingInput) GoString() string { 8971 return s.String() 8972} 8973 8974// Validate inspects the fields of the type to determine if they are valid. 8975func (s *DeleteStorageLensConfigurationTaggingInput) Validate() error { 8976 invalidParams := request.ErrInvalidParams{Context: "DeleteStorageLensConfigurationTaggingInput"} 8977 if s.AccountId == nil { 8978 invalidParams.Add(request.NewErrParamRequired("AccountId")) 8979 } 8980 if s.AccountId != nil && len(*s.AccountId) < 1 { 8981 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 8982 } 8983 if s.ConfigId == nil { 8984 invalidParams.Add(request.NewErrParamRequired("ConfigId")) 8985 } 8986 if s.ConfigId != nil && len(*s.ConfigId) < 1 { 8987 invalidParams.Add(request.NewErrParamMinLen("ConfigId", 1)) 8988 } 8989 8990 if invalidParams.Len() > 0 { 8991 return invalidParams 8992 } 8993 return nil 8994} 8995 8996// SetAccountId sets the AccountId field's value. 8997func (s *DeleteStorageLensConfigurationTaggingInput) SetAccountId(v string) *DeleteStorageLensConfigurationTaggingInput { 8998 s.AccountId = &v 8999 return s 9000} 9001 9002// SetConfigId sets the ConfigId field's value. 9003func (s *DeleteStorageLensConfigurationTaggingInput) SetConfigId(v string) *DeleteStorageLensConfigurationTaggingInput { 9004 s.ConfigId = &v 9005 return s 9006} 9007 9008func (s *DeleteStorageLensConfigurationTaggingInput) hostLabels() map[string]string { 9009 return map[string]string{ 9010 "AccountId": aws.StringValue(s.AccountId), 9011 } 9012} 9013 9014type DeleteStorageLensConfigurationTaggingOutput struct { 9015 _ struct{} `type:"structure"` 9016} 9017 9018// String returns the string representation. 9019// 9020// API parameter values that are decorated as "sensitive" in the API will not 9021// be included in the string output. The member name will be present, but the 9022// value will be replaced with "sensitive". 9023func (s DeleteStorageLensConfigurationTaggingOutput) String() string { 9024 return awsutil.Prettify(s) 9025} 9026 9027// GoString returns the string representation. 9028// 9029// API parameter values that are decorated as "sensitive" in the API will not 9030// be included in the string output. The member name will be present, but the 9031// value will be replaced with "sensitive". 9032func (s DeleteStorageLensConfigurationTaggingOutput) GoString() string { 9033 return s.String() 9034} 9035 9036type DescribeJobInput struct { 9037 _ struct{} `locationName:"DescribeJobRequest" type:"structure"` 9038 9039 // The Amazon Web Services account ID associated with the S3 Batch Operations 9040 // job. 9041 // 9042 // AccountId is a required field 9043 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 9044 9045 // The ID for the job whose information you want to retrieve. 9046 // 9047 // JobId is a required field 9048 JobId *string `location:"uri" locationName:"id" min:"5" type:"string" required:"true"` 9049} 9050 9051// String returns the string representation. 9052// 9053// API parameter values that are decorated as "sensitive" in the API will not 9054// be included in the string output. The member name will be present, but the 9055// value will be replaced with "sensitive". 9056func (s DescribeJobInput) String() string { 9057 return awsutil.Prettify(s) 9058} 9059 9060// GoString returns the string representation. 9061// 9062// API parameter values that are decorated as "sensitive" in the API will not 9063// be included in the string output. The member name will be present, but the 9064// value will be replaced with "sensitive". 9065func (s DescribeJobInput) GoString() string { 9066 return s.String() 9067} 9068 9069// Validate inspects the fields of the type to determine if they are valid. 9070func (s *DescribeJobInput) Validate() error { 9071 invalidParams := request.ErrInvalidParams{Context: "DescribeJobInput"} 9072 if s.AccountId == nil { 9073 invalidParams.Add(request.NewErrParamRequired("AccountId")) 9074 } 9075 if s.AccountId != nil && len(*s.AccountId) < 1 { 9076 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 9077 } 9078 if s.JobId == nil { 9079 invalidParams.Add(request.NewErrParamRequired("JobId")) 9080 } 9081 if s.JobId != nil && len(*s.JobId) < 5 { 9082 invalidParams.Add(request.NewErrParamMinLen("JobId", 5)) 9083 } 9084 9085 if invalidParams.Len() > 0 { 9086 return invalidParams 9087 } 9088 return nil 9089} 9090 9091// SetAccountId sets the AccountId field's value. 9092func (s *DescribeJobInput) SetAccountId(v string) *DescribeJobInput { 9093 s.AccountId = &v 9094 return s 9095} 9096 9097// SetJobId sets the JobId field's value. 9098func (s *DescribeJobInput) SetJobId(v string) *DescribeJobInput { 9099 s.JobId = &v 9100 return s 9101} 9102 9103func (s *DescribeJobInput) hostLabels() map[string]string { 9104 return map[string]string{ 9105 "AccountId": aws.StringValue(s.AccountId), 9106 } 9107} 9108 9109type DescribeJobOutput struct { 9110 _ struct{} `type:"structure"` 9111 9112 // Contains the configuration parameters and status for the job specified in 9113 // the Describe Job request. 9114 Job *JobDescriptor `type:"structure"` 9115} 9116 9117// String returns the string representation. 9118// 9119// API parameter values that are decorated as "sensitive" in the API will not 9120// be included in the string output. The member name will be present, but the 9121// value will be replaced with "sensitive". 9122func (s DescribeJobOutput) String() string { 9123 return awsutil.Prettify(s) 9124} 9125 9126// GoString returns the string representation. 9127// 9128// API parameter values that are decorated as "sensitive" in the API will not 9129// be included in the string output. The member name will be present, but the 9130// value will be replaced with "sensitive". 9131func (s DescribeJobOutput) GoString() string { 9132 return s.String() 9133} 9134 9135// SetJob sets the Job field's value. 9136func (s *DescribeJobOutput) SetJob(v *JobDescriptor) *DescribeJobOutput { 9137 s.Job = v 9138 return s 9139} 9140 9141type DescribeMultiRegionAccessPointOperationInput struct { 9142 _ struct{} `locationName:"DescribeMultiRegionAccessPointOperationRequest" type:"structure"` 9143 9144 // The Amazon Web Services account ID for the owner of the Multi-Region Access 9145 // Point. 9146 // 9147 // AccountId is a required field 9148 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 9149 9150 // The request token associated with the request you want to know about. This 9151 // request token is returned as part of the response when you make an asynchronous 9152 // request. You provide this token to query about the status of the asynchronous 9153 // action. 9154 // 9155 // RequestTokenARN is a required field 9156 RequestTokenARN *string `location:"uri" locationName:"request_token" min:"1" type:"string" required:"true"` 9157} 9158 9159// String returns the string representation. 9160// 9161// API parameter values that are decorated as "sensitive" in the API will not 9162// be included in the string output. The member name will be present, but the 9163// value will be replaced with "sensitive". 9164func (s DescribeMultiRegionAccessPointOperationInput) String() string { 9165 return awsutil.Prettify(s) 9166} 9167 9168// GoString returns the string representation. 9169// 9170// API parameter values that are decorated as "sensitive" in the API will not 9171// be included in the string output. The member name will be present, but the 9172// value will be replaced with "sensitive". 9173func (s DescribeMultiRegionAccessPointOperationInput) GoString() string { 9174 return s.String() 9175} 9176 9177// Validate inspects the fields of the type to determine if they are valid. 9178func (s *DescribeMultiRegionAccessPointOperationInput) Validate() error { 9179 invalidParams := request.ErrInvalidParams{Context: "DescribeMultiRegionAccessPointOperationInput"} 9180 if s.AccountId == nil { 9181 invalidParams.Add(request.NewErrParamRequired("AccountId")) 9182 } 9183 if s.AccountId != nil && len(*s.AccountId) < 1 { 9184 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 9185 } 9186 if s.RequestTokenARN == nil { 9187 invalidParams.Add(request.NewErrParamRequired("RequestTokenARN")) 9188 } 9189 if s.RequestTokenARN != nil && len(*s.RequestTokenARN) < 1 { 9190 invalidParams.Add(request.NewErrParamMinLen("RequestTokenARN", 1)) 9191 } 9192 9193 if invalidParams.Len() > 0 { 9194 return invalidParams 9195 } 9196 return nil 9197} 9198 9199// SetAccountId sets the AccountId field's value. 9200func (s *DescribeMultiRegionAccessPointOperationInput) SetAccountId(v string) *DescribeMultiRegionAccessPointOperationInput { 9201 s.AccountId = &v 9202 return s 9203} 9204 9205// SetRequestTokenARN sets the RequestTokenARN field's value. 9206func (s *DescribeMultiRegionAccessPointOperationInput) SetRequestTokenARN(v string) *DescribeMultiRegionAccessPointOperationInput { 9207 s.RequestTokenARN = &v 9208 return s 9209} 9210 9211func (s *DescribeMultiRegionAccessPointOperationInput) hostLabels() map[string]string { 9212 return map[string]string{ 9213 "AccountId": aws.StringValue(s.AccountId), 9214 } 9215} 9216 9217type DescribeMultiRegionAccessPointOperationOutput struct { 9218 _ struct{} `type:"structure"` 9219 9220 // A container element containing the details of the asynchronous operation. 9221 AsyncOperation *AsyncOperation `type:"structure"` 9222} 9223 9224// String returns the string representation. 9225// 9226// API parameter values that are decorated as "sensitive" in the API will not 9227// be included in the string output. The member name will be present, but the 9228// value will be replaced with "sensitive". 9229func (s DescribeMultiRegionAccessPointOperationOutput) String() string { 9230 return awsutil.Prettify(s) 9231} 9232 9233// GoString returns the string representation. 9234// 9235// API parameter values that are decorated as "sensitive" in the API will not 9236// be included in the string output. The member name will be present, but the 9237// value will be replaced with "sensitive". 9238func (s DescribeMultiRegionAccessPointOperationOutput) GoString() string { 9239 return s.String() 9240} 9241 9242// SetAsyncOperation sets the AsyncOperation field's value. 9243func (s *DescribeMultiRegionAccessPointOperationOutput) SetAsyncOperation(v *AsyncOperation) *DescribeMultiRegionAccessPointOperationOutput { 9244 s.AsyncOperation = v 9245 return s 9246} 9247 9248// The last established access control policy for a Multi-Region Access Point. 9249// 9250// When you update the policy, the update is first listed as the proposed policy. 9251// After the update is finished and all Regions have been updated, the proposed 9252// policy is listed as the established policy. If both policies have the same 9253// version number, the proposed policy is the established policy. 9254type EstablishedMultiRegionAccessPointPolicy struct { 9255 _ struct{} `type:"structure"` 9256 9257 // The details of the last established policy. 9258 Policy *string `type:"string"` 9259} 9260 9261// String returns the string representation. 9262// 9263// API parameter values that are decorated as "sensitive" in the API will not 9264// be included in the string output. The member name will be present, but the 9265// value will be replaced with "sensitive". 9266func (s EstablishedMultiRegionAccessPointPolicy) String() string { 9267 return awsutil.Prettify(s) 9268} 9269 9270// GoString returns the string representation. 9271// 9272// API parameter values that are decorated as "sensitive" in the API will not 9273// be included in the string output. The member name will be present, but the 9274// value will be replaced with "sensitive". 9275func (s EstablishedMultiRegionAccessPointPolicy) GoString() string { 9276 return s.String() 9277} 9278 9279// SetPolicy sets the Policy field's value. 9280func (s *EstablishedMultiRegionAccessPointPolicy) SetPolicy(v string) *EstablishedMultiRegionAccessPointPolicy { 9281 s.Policy = &v 9282 return s 9283} 9284 9285// A container for what Amazon S3 Storage Lens will exclude. 9286type Exclude struct { 9287 _ struct{} `type:"structure"` 9288 9289 // A container for the S3 Storage Lens bucket excludes. 9290 Buckets []*string `locationNameList:"Arn" type:"list"` 9291 9292 // A container for the S3 Storage Lens Region excludes. 9293 Regions []*string `locationNameList:"Region" type:"list"` 9294} 9295 9296// String returns the string representation. 9297// 9298// API parameter values that are decorated as "sensitive" in the API will not 9299// be included in the string output. The member name will be present, but the 9300// value will be replaced with "sensitive". 9301func (s Exclude) String() string { 9302 return awsutil.Prettify(s) 9303} 9304 9305// GoString returns the string representation. 9306// 9307// API parameter values that are decorated as "sensitive" in the API will not 9308// be included in the string output. The member name will be present, but the 9309// value will be replaced with "sensitive". 9310func (s Exclude) GoString() string { 9311 return s.String() 9312} 9313 9314// SetBuckets sets the Buckets field's value. 9315func (s *Exclude) SetBuckets(v []*string) *Exclude { 9316 s.Buckets = v 9317 return s 9318} 9319 9320// SetRegions sets the Regions field's value. 9321func (s *Exclude) SetRegions(v []*string) *Exclude { 9322 s.Regions = v 9323 return s 9324} 9325 9326type GetAccessPointConfigurationForObjectLambdaInput struct { 9327 _ struct{} `locationName:"GetAccessPointConfigurationForObjectLambdaRequest" type:"structure"` 9328 9329 // The account ID for the account that owns the specified Object Lambda Access 9330 // Point. 9331 // 9332 // AccountId is a required field 9333 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 9334 9335 // The name of the Object Lambda Access Point you want to return the configuration 9336 // for. 9337 // 9338 // Name is a required field 9339 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 9340} 9341 9342// String returns the string representation. 9343// 9344// API parameter values that are decorated as "sensitive" in the API will not 9345// be included in the string output. The member name will be present, but the 9346// value will be replaced with "sensitive". 9347func (s GetAccessPointConfigurationForObjectLambdaInput) String() string { 9348 return awsutil.Prettify(s) 9349} 9350 9351// GoString returns the string representation. 9352// 9353// API parameter values that are decorated as "sensitive" in the API will not 9354// be included in the string output. The member name will be present, but the 9355// value will be replaced with "sensitive". 9356func (s GetAccessPointConfigurationForObjectLambdaInput) GoString() string { 9357 return s.String() 9358} 9359 9360// Validate inspects the fields of the type to determine if they are valid. 9361func (s *GetAccessPointConfigurationForObjectLambdaInput) Validate() error { 9362 invalidParams := request.ErrInvalidParams{Context: "GetAccessPointConfigurationForObjectLambdaInput"} 9363 if s.AccountId == nil { 9364 invalidParams.Add(request.NewErrParamRequired("AccountId")) 9365 } 9366 if s.AccountId != nil && len(*s.AccountId) < 1 { 9367 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 9368 } 9369 if s.Name == nil { 9370 invalidParams.Add(request.NewErrParamRequired("Name")) 9371 } 9372 if s.Name != nil && len(*s.Name) < 3 { 9373 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 9374 } 9375 9376 if invalidParams.Len() > 0 { 9377 return invalidParams 9378 } 9379 return nil 9380} 9381 9382// SetAccountId sets the AccountId field's value. 9383func (s *GetAccessPointConfigurationForObjectLambdaInput) SetAccountId(v string) *GetAccessPointConfigurationForObjectLambdaInput { 9384 s.AccountId = &v 9385 return s 9386} 9387 9388// SetName sets the Name field's value. 9389func (s *GetAccessPointConfigurationForObjectLambdaInput) SetName(v string) *GetAccessPointConfigurationForObjectLambdaInput { 9390 s.Name = &v 9391 return s 9392} 9393 9394func (s *GetAccessPointConfigurationForObjectLambdaInput) hostLabels() map[string]string { 9395 return map[string]string{ 9396 "AccountId": aws.StringValue(s.AccountId), 9397 } 9398} 9399 9400type GetAccessPointConfigurationForObjectLambdaOutput struct { 9401 _ struct{} `type:"structure"` 9402 9403 // Object Lambda Access Point configuration document. 9404 Configuration *ObjectLambdaConfiguration `type:"structure"` 9405} 9406 9407// String returns the string representation. 9408// 9409// API parameter values that are decorated as "sensitive" in the API will not 9410// be included in the string output. The member name will be present, but the 9411// value will be replaced with "sensitive". 9412func (s GetAccessPointConfigurationForObjectLambdaOutput) String() string { 9413 return awsutil.Prettify(s) 9414} 9415 9416// GoString returns the string representation. 9417// 9418// API parameter values that are decorated as "sensitive" in the API will not 9419// be included in the string output. The member name will be present, but the 9420// value will be replaced with "sensitive". 9421func (s GetAccessPointConfigurationForObjectLambdaOutput) GoString() string { 9422 return s.String() 9423} 9424 9425// SetConfiguration sets the Configuration field's value. 9426func (s *GetAccessPointConfigurationForObjectLambdaOutput) SetConfiguration(v *ObjectLambdaConfiguration) *GetAccessPointConfigurationForObjectLambdaOutput { 9427 s.Configuration = v 9428 return s 9429} 9430 9431type GetAccessPointForObjectLambdaInput struct { 9432 _ struct{} `locationName:"GetAccessPointForObjectLambdaRequest" type:"structure"` 9433 9434 // The account ID for the account that owns the specified Object Lambda Access 9435 // Point. 9436 // 9437 // AccountId is a required field 9438 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 9439 9440 // The name of the Object Lambda Access Point. 9441 // 9442 // Name is a required field 9443 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 9444} 9445 9446// String returns the string representation. 9447// 9448// API parameter values that are decorated as "sensitive" in the API will not 9449// be included in the string output. The member name will be present, but the 9450// value will be replaced with "sensitive". 9451func (s GetAccessPointForObjectLambdaInput) String() string { 9452 return awsutil.Prettify(s) 9453} 9454 9455// GoString returns the string representation. 9456// 9457// API parameter values that are decorated as "sensitive" in the API will not 9458// be included in the string output. The member name will be present, but the 9459// value will be replaced with "sensitive". 9460func (s GetAccessPointForObjectLambdaInput) GoString() string { 9461 return s.String() 9462} 9463 9464// Validate inspects the fields of the type to determine if they are valid. 9465func (s *GetAccessPointForObjectLambdaInput) Validate() error { 9466 invalidParams := request.ErrInvalidParams{Context: "GetAccessPointForObjectLambdaInput"} 9467 if s.AccountId == nil { 9468 invalidParams.Add(request.NewErrParamRequired("AccountId")) 9469 } 9470 if s.AccountId != nil && len(*s.AccountId) < 1 { 9471 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 9472 } 9473 if s.Name == nil { 9474 invalidParams.Add(request.NewErrParamRequired("Name")) 9475 } 9476 if s.Name != nil && len(*s.Name) < 3 { 9477 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 9478 } 9479 9480 if invalidParams.Len() > 0 { 9481 return invalidParams 9482 } 9483 return nil 9484} 9485 9486// SetAccountId sets the AccountId field's value. 9487func (s *GetAccessPointForObjectLambdaInput) SetAccountId(v string) *GetAccessPointForObjectLambdaInput { 9488 s.AccountId = &v 9489 return s 9490} 9491 9492// SetName sets the Name field's value. 9493func (s *GetAccessPointForObjectLambdaInput) SetName(v string) *GetAccessPointForObjectLambdaInput { 9494 s.Name = &v 9495 return s 9496} 9497 9498func (s *GetAccessPointForObjectLambdaInput) hostLabels() map[string]string { 9499 return map[string]string{ 9500 "AccountId": aws.StringValue(s.AccountId), 9501 } 9502} 9503 9504type GetAccessPointForObjectLambdaOutput struct { 9505 _ struct{} `type:"structure"` 9506 9507 // The date and time when the specified Object Lambda Access Point was created. 9508 CreationDate *time.Time `type:"timestamp"` 9509 9510 // The name of the Object Lambda Access Point. 9511 Name *string `min:"3" type:"string"` 9512 9513 // Configuration to block all public access. This setting is turned on and can 9514 // not be edited. 9515 PublicAccessBlockConfiguration *PublicAccessBlockConfiguration `type:"structure"` 9516} 9517 9518// String returns the string representation. 9519// 9520// API parameter values that are decorated as "sensitive" in the API will not 9521// be included in the string output. The member name will be present, but the 9522// value will be replaced with "sensitive". 9523func (s GetAccessPointForObjectLambdaOutput) String() string { 9524 return awsutil.Prettify(s) 9525} 9526 9527// GoString returns the string representation. 9528// 9529// API parameter values that are decorated as "sensitive" in the API will not 9530// be included in the string output. The member name will be present, but the 9531// value will be replaced with "sensitive". 9532func (s GetAccessPointForObjectLambdaOutput) GoString() string { 9533 return s.String() 9534} 9535 9536// SetCreationDate sets the CreationDate field's value. 9537func (s *GetAccessPointForObjectLambdaOutput) SetCreationDate(v time.Time) *GetAccessPointForObjectLambdaOutput { 9538 s.CreationDate = &v 9539 return s 9540} 9541 9542// SetName sets the Name field's value. 9543func (s *GetAccessPointForObjectLambdaOutput) SetName(v string) *GetAccessPointForObjectLambdaOutput { 9544 s.Name = &v 9545 return s 9546} 9547 9548// SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value. 9549func (s *GetAccessPointForObjectLambdaOutput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *GetAccessPointForObjectLambdaOutput { 9550 s.PublicAccessBlockConfiguration = v 9551 return s 9552} 9553 9554type GetAccessPointInput struct { 9555 _ struct{} `locationName:"GetAccessPointRequest" type:"structure"` 9556 9557 // The account ID for the account that owns the specified access point. 9558 // 9559 // AccountId is a required field 9560 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 9561 9562 // The name of the access point whose configuration information you want to 9563 // retrieve. 9564 // 9565 // For using this parameter with Amazon S3 on Outposts with the REST API, you 9566 // must specify the name and the x-amz-outpost-id as well. 9567 // 9568 // For using this parameter with S3 on Outposts with the Amazon Web Services 9569 // SDK and CLI, you must specify the ARN of the access point accessed in the 9570 // format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>. 9571 // For example, to access the access point reports-ap through outpost my-outpost 9572 // owned by account 123456789012 in Region us-west-2, use the URL encoding of 9573 // arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. 9574 // The value must be URL encoded. 9575 // 9576 // Name is a required field 9577 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 9578} 9579 9580// String returns the string representation. 9581// 9582// API parameter values that are decorated as "sensitive" in the API will not 9583// be included in the string output. The member name will be present, but the 9584// value will be replaced with "sensitive". 9585func (s GetAccessPointInput) String() string { 9586 return awsutil.Prettify(s) 9587} 9588 9589// GoString returns the string representation. 9590// 9591// API parameter values that are decorated as "sensitive" in the API will not 9592// be included in the string output. The member name will be present, but the 9593// value will be replaced with "sensitive". 9594func (s GetAccessPointInput) GoString() string { 9595 return s.String() 9596} 9597 9598// Validate inspects the fields of the type to determine if they are valid. 9599func (s *GetAccessPointInput) Validate() error { 9600 invalidParams := request.ErrInvalidParams{Context: "GetAccessPointInput"} 9601 if s.AccountId == nil { 9602 invalidParams.Add(request.NewErrParamRequired("AccountId")) 9603 } 9604 if s.AccountId != nil && len(*s.AccountId) < 1 { 9605 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 9606 } 9607 if s.Name == nil { 9608 invalidParams.Add(request.NewErrParamRequired("Name")) 9609 } 9610 if s.Name != nil && len(*s.Name) < 3 { 9611 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 9612 } 9613 9614 if invalidParams.Len() > 0 { 9615 return invalidParams 9616 } 9617 return nil 9618} 9619 9620// SetAccountId sets the AccountId field's value. 9621func (s *GetAccessPointInput) SetAccountId(v string) *GetAccessPointInput { 9622 s.AccountId = &v 9623 return s 9624} 9625 9626// SetName sets the Name field's value. 9627func (s *GetAccessPointInput) SetName(v string) *GetAccessPointInput { 9628 s.Name = &v 9629 return s 9630} 9631 9632func (s *GetAccessPointInput) hostLabels() map[string]string { 9633 return map[string]string{ 9634 "AccountId": aws.StringValue(s.AccountId), 9635 } 9636} 9637 9638func (s *GetAccessPointInput) getEndpointARN() (arn.Resource, error) { 9639 if s.Name == nil { 9640 return nil, fmt.Errorf("member Name is nil") 9641 } 9642 return parseEndpointARN(*s.Name) 9643} 9644 9645func (s *GetAccessPointInput) hasEndpointARN() bool { 9646 if s.Name == nil { 9647 return false 9648 } 9649 return arn.IsARN(*s.Name) 9650} 9651 9652// updateArnableField updates the value of the input field that 9653// takes an ARN as an input. This method is useful to backfill 9654// the parsed resource name from ARN into the input member. 9655// It returns a pointer to a modified copy of input and an error. 9656// Note that original input is not modified. 9657func (s GetAccessPointInput) updateArnableField(v string) (interface{}, error) { 9658 if s.Name == nil { 9659 return nil, fmt.Errorf("member Name is nil") 9660 } 9661 s.Name = aws.String(v) 9662 return &s, nil 9663} 9664 9665// updateAccountID returns a pointer to a modified copy of input, 9666// if account id is not provided, we update the account id in modified input 9667// if account id is provided, but doesn't match with the one in ARN, we throw an error 9668// if account id is not updated, we return nil. Note that original input is not modified. 9669func (s GetAccessPointInput) updateAccountID(accountId string) (interface{}, error) { 9670 if s.AccountId == nil { 9671 s.AccountId = aws.String(accountId) 9672 return &s, nil 9673 } else if *s.AccountId != accountId { 9674 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 9675 } 9676 return nil, nil 9677} 9678 9679type GetAccessPointOutput struct { 9680 _ struct{} `type:"structure"` 9681 9682 // The ARN of the access point. 9683 AccessPointArn *string `min:"4" type:"string"` 9684 9685 // The name or alias of the access point. 9686 Alias *string `type:"string"` 9687 9688 // The name of the bucket associated with the specified access point. 9689 Bucket *string `min:"3" type:"string"` 9690 9691 // The date and time when the specified access point was created. 9692 CreationDate *time.Time `type:"timestamp"` 9693 9694 // The VPC endpoint for the access point. 9695 Endpoints map[string]*string `type:"map"` 9696 9697 // The name of the specified access point. 9698 Name *string `min:"3" type:"string"` 9699 9700 // Indicates whether this access point allows access from the public internet. 9701 // If VpcConfiguration is specified for this access point, then NetworkOrigin 9702 // is VPC, and the access point doesn't allow access from the public internet. 9703 // Otherwise, NetworkOrigin is Internet, and the access point allows access 9704 // from the public internet, subject to the access point and bucket access policies. 9705 // 9706 // This will always be true for an Amazon S3 on Outposts access point 9707 NetworkOrigin *string `type:"string" enum:"NetworkOrigin"` 9708 9709 // The PublicAccessBlock configuration that you want to apply to this Amazon 9710 // S3 account. You can enable the configuration options in any combination. 9711 // For more information about when Amazon S3 considers a bucket or object public, 9712 // 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) 9713 // in the Amazon S3 User Guide. 9714 // 9715 // This is not supported for Amazon S3 on Outposts. 9716 PublicAccessBlockConfiguration *PublicAccessBlockConfiguration `type:"structure"` 9717 9718 // Contains the virtual private cloud (VPC) configuration for the specified 9719 // access point. 9720 // 9721 // This element is empty if this access point is an Amazon S3 on Outposts access 9722 // point that is used by other Amazon Web Services. 9723 VpcConfiguration *VpcConfiguration `type:"structure"` 9724} 9725 9726// String returns the string representation. 9727// 9728// API parameter values that are decorated as "sensitive" in the API will not 9729// be included in the string output. The member name will be present, but the 9730// value will be replaced with "sensitive". 9731func (s GetAccessPointOutput) String() string { 9732 return awsutil.Prettify(s) 9733} 9734 9735// GoString returns the string representation. 9736// 9737// API parameter values that are decorated as "sensitive" in the API will not 9738// be included in the string output. The member name will be present, but the 9739// value will be replaced with "sensitive". 9740func (s GetAccessPointOutput) GoString() string { 9741 return s.String() 9742} 9743 9744// SetAccessPointArn sets the AccessPointArn field's value. 9745func (s *GetAccessPointOutput) SetAccessPointArn(v string) *GetAccessPointOutput { 9746 s.AccessPointArn = &v 9747 return s 9748} 9749 9750// SetAlias sets the Alias field's value. 9751func (s *GetAccessPointOutput) SetAlias(v string) *GetAccessPointOutput { 9752 s.Alias = &v 9753 return s 9754} 9755 9756// SetBucket sets the Bucket field's value. 9757func (s *GetAccessPointOutput) SetBucket(v string) *GetAccessPointOutput { 9758 s.Bucket = &v 9759 return s 9760} 9761 9762// SetCreationDate sets the CreationDate field's value. 9763func (s *GetAccessPointOutput) SetCreationDate(v time.Time) *GetAccessPointOutput { 9764 s.CreationDate = &v 9765 return s 9766} 9767 9768// SetEndpoints sets the Endpoints field's value. 9769func (s *GetAccessPointOutput) SetEndpoints(v map[string]*string) *GetAccessPointOutput { 9770 s.Endpoints = v 9771 return s 9772} 9773 9774// SetName sets the Name field's value. 9775func (s *GetAccessPointOutput) SetName(v string) *GetAccessPointOutput { 9776 s.Name = &v 9777 return s 9778} 9779 9780// SetNetworkOrigin sets the NetworkOrigin field's value. 9781func (s *GetAccessPointOutput) SetNetworkOrigin(v string) *GetAccessPointOutput { 9782 s.NetworkOrigin = &v 9783 return s 9784} 9785 9786// SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value. 9787func (s *GetAccessPointOutput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *GetAccessPointOutput { 9788 s.PublicAccessBlockConfiguration = v 9789 return s 9790} 9791 9792// SetVpcConfiguration sets the VpcConfiguration field's value. 9793func (s *GetAccessPointOutput) SetVpcConfiguration(v *VpcConfiguration) *GetAccessPointOutput { 9794 s.VpcConfiguration = v 9795 return s 9796} 9797 9798type GetAccessPointPolicyForObjectLambdaInput struct { 9799 _ struct{} `locationName:"GetAccessPointPolicyForObjectLambdaRequest" type:"structure"` 9800 9801 // The account ID for the account that owns the specified Object Lambda Access 9802 // Point. 9803 // 9804 // AccountId is a required field 9805 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 9806 9807 // The name of the Object Lambda Access Point. 9808 // 9809 // Name is a required field 9810 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 9811} 9812 9813// String returns the string representation. 9814// 9815// API parameter values that are decorated as "sensitive" in the API will not 9816// be included in the string output. The member name will be present, but the 9817// value will be replaced with "sensitive". 9818func (s GetAccessPointPolicyForObjectLambdaInput) String() string { 9819 return awsutil.Prettify(s) 9820} 9821 9822// GoString returns the string representation. 9823// 9824// API parameter values that are decorated as "sensitive" in the API will not 9825// be included in the string output. The member name will be present, but the 9826// value will be replaced with "sensitive". 9827func (s GetAccessPointPolicyForObjectLambdaInput) GoString() string { 9828 return s.String() 9829} 9830 9831// Validate inspects the fields of the type to determine if they are valid. 9832func (s *GetAccessPointPolicyForObjectLambdaInput) Validate() error { 9833 invalidParams := request.ErrInvalidParams{Context: "GetAccessPointPolicyForObjectLambdaInput"} 9834 if s.AccountId == nil { 9835 invalidParams.Add(request.NewErrParamRequired("AccountId")) 9836 } 9837 if s.AccountId != nil && len(*s.AccountId) < 1 { 9838 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 9839 } 9840 if s.Name == nil { 9841 invalidParams.Add(request.NewErrParamRequired("Name")) 9842 } 9843 if s.Name != nil && len(*s.Name) < 3 { 9844 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 9845 } 9846 9847 if invalidParams.Len() > 0 { 9848 return invalidParams 9849 } 9850 return nil 9851} 9852 9853// SetAccountId sets the AccountId field's value. 9854func (s *GetAccessPointPolicyForObjectLambdaInput) SetAccountId(v string) *GetAccessPointPolicyForObjectLambdaInput { 9855 s.AccountId = &v 9856 return s 9857} 9858 9859// SetName sets the Name field's value. 9860func (s *GetAccessPointPolicyForObjectLambdaInput) SetName(v string) *GetAccessPointPolicyForObjectLambdaInput { 9861 s.Name = &v 9862 return s 9863} 9864 9865func (s *GetAccessPointPolicyForObjectLambdaInput) hostLabels() map[string]string { 9866 return map[string]string{ 9867 "AccountId": aws.StringValue(s.AccountId), 9868 } 9869} 9870 9871type GetAccessPointPolicyForObjectLambdaOutput struct { 9872 _ struct{} `type:"structure"` 9873 9874 // Object Lambda Access Point resource policy document. 9875 Policy *string `type:"string"` 9876} 9877 9878// String returns the string representation. 9879// 9880// API parameter values that are decorated as "sensitive" in the API will not 9881// be included in the string output. The member name will be present, but the 9882// value will be replaced with "sensitive". 9883func (s GetAccessPointPolicyForObjectLambdaOutput) String() string { 9884 return awsutil.Prettify(s) 9885} 9886 9887// GoString returns the string representation. 9888// 9889// API parameter values that are decorated as "sensitive" in the API will not 9890// be included in the string output. The member name will be present, but the 9891// value will be replaced with "sensitive". 9892func (s GetAccessPointPolicyForObjectLambdaOutput) GoString() string { 9893 return s.String() 9894} 9895 9896// SetPolicy sets the Policy field's value. 9897func (s *GetAccessPointPolicyForObjectLambdaOutput) SetPolicy(v string) *GetAccessPointPolicyForObjectLambdaOutput { 9898 s.Policy = &v 9899 return s 9900} 9901 9902type GetAccessPointPolicyInput struct { 9903 _ struct{} `locationName:"GetAccessPointPolicyRequest" type:"structure"` 9904 9905 // The account ID for the account that owns the specified access point. 9906 // 9907 // AccountId is a required field 9908 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 9909 9910 // The name of the access point whose policy you want to retrieve. 9911 // 9912 // For using this parameter with Amazon S3 on Outposts with the REST API, you 9913 // must specify the name and the x-amz-outpost-id as well. 9914 // 9915 // For using this parameter with S3 on Outposts with the Amazon Web Services 9916 // SDK and CLI, you must specify the ARN of the access point accessed in the 9917 // format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>. 9918 // For example, to access the access point reports-ap through outpost my-outpost 9919 // owned by account 123456789012 in Region us-west-2, use the URL encoding of 9920 // arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. 9921 // The value must be URL encoded. 9922 // 9923 // Name is a required field 9924 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 9925} 9926 9927// String returns the string representation. 9928// 9929// API parameter values that are decorated as "sensitive" in the API will not 9930// be included in the string output. The member name will be present, but the 9931// value will be replaced with "sensitive". 9932func (s GetAccessPointPolicyInput) String() string { 9933 return awsutil.Prettify(s) 9934} 9935 9936// GoString returns the string representation. 9937// 9938// API parameter values that are decorated as "sensitive" in the API will not 9939// be included in the string output. The member name will be present, but the 9940// value will be replaced with "sensitive". 9941func (s GetAccessPointPolicyInput) GoString() string { 9942 return s.String() 9943} 9944 9945// Validate inspects the fields of the type to determine if they are valid. 9946func (s *GetAccessPointPolicyInput) Validate() error { 9947 invalidParams := request.ErrInvalidParams{Context: "GetAccessPointPolicyInput"} 9948 if s.AccountId == nil { 9949 invalidParams.Add(request.NewErrParamRequired("AccountId")) 9950 } 9951 if s.AccountId != nil && len(*s.AccountId) < 1 { 9952 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 9953 } 9954 if s.Name == nil { 9955 invalidParams.Add(request.NewErrParamRequired("Name")) 9956 } 9957 if s.Name != nil && len(*s.Name) < 3 { 9958 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 9959 } 9960 9961 if invalidParams.Len() > 0 { 9962 return invalidParams 9963 } 9964 return nil 9965} 9966 9967// SetAccountId sets the AccountId field's value. 9968func (s *GetAccessPointPolicyInput) SetAccountId(v string) *GetAccessPointPolicyInput { 9969 s.AccountId = &v 9970 return s 9971} 9972 9973// SetName sets the Name field's value. 9974func (s *GetAccessPointPolicyInput) SetName(v string) *GetAccessPointPolicyInput { 9975 s.Name = &v 9976 return s 9977} 9978 9979func (s *GetAccessPointPolicyInput) hostLabels() map[string]string { 9980 return map[string]string{ 9981 "AccountId": aws.StringValue(s.AccountId), 9982 } 9983} 9984 9985func (s *GetAccessPointPolicyInput) getEndpointARN() (arn.Resource, error) { 9986 if s.Name == nil { 9987 return nil, fmt.Errorf("member Name is nil") 9988 } 9989 return parseEndpointARN(*s.Name) 9990} 9991 9992func (s *GetAccessPointPolicyInput) hasEndpointARN() bool { 9993 if s.Name == nil { 9994 return false 9995 } 9996 return arn.IsARN(*s.Name) 9997} 9998 9999// updateArnableField updates the value of the input field that 10000// takes an ARN as an input. This method is useful to backfill 10001// the parsed resource name from ARN into the input member. 10002// It returns a pointer to a modified copy of input and an error. 10003// Note that original input is not modified. 10004func (s GetAccessPointPolicyInput) updateArnableField(v string) (interface{}, error) { 10005 if s.Name == nil { 10006 return nil, fmt.Errorf("member Name is nil") 10007 } 10008 s.Name = aws.String(v) 10009 return &s, nil 10010} 10011 10012// updateAccountID returns a pointer to a modified copy of input, 10013// if account id is not provided, we update the account id in modified input 10014// if account id is provided, but doesn't match with the one in ARN, we throw an error 10015// if account id is not updated, we return nil. Note that original input is not modified. 10016func (s GetAccessPointPolicyInput) updateAccountID(accountId string) (interface{}, error) { 10017 if s.AccountId == nil { 10018 s.AccountId = aws.String(accountId) 10019 return &s, nil 10020 } else if *s.AccountId != accountId { 10021 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 10022 } 10023 return nil, nil 10024} 10025 10026type GetAccessPointPolicyOutput struct { 10027 _ struct{} `type:"structure"` 10028 10029 // The access point policy associated with the specified access point. 10030 Policy *string `type:"string"` 10031} 10032 10033// String returns the string representation. 10034// 10035// API parameter values that are decorated as "sensitive" in the API will not 10036// be included in the string output. The member name will be present, but the 10037// value will be replaced with "sensitive". 10038func (s GetAccessPointPolicyOutput) String() string { 10039 return awsutil.Prettify(s) 10040} 10041 10042// GoString returns the string representation. 10043// 10044// API parameter values that are decorated as "sensitive" in the API will not 10045// be included in the string output. The member name will be present, but the 10046// value will be replaced with "sensitive". 10047func (s GetAccessPointPolicyOutput) GoString() string { 10048 return s.String() 10049} 10050 10051// SetPolicy sets the Policy field's value. 10052func (s *GetAccessPointPolicyOutput) SetPolicy(v string) *GetAccessPointPolicyOutput { 10053 s.Policy = &v 10054 return s 10055} 10056 10057type GetAccessPointPolicyStatusForObjectLambdaInput struct { 10058 _ struct{} `locationName:"GetAccessPointPolicyStatusForObjectLambdaRequest" type:"structure"` 10059 10060 // The account ID for the account that owns the specified Object Lambda Access 10061 // Point. 10062 // 10063 // AccountId is a required field 10064 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 10065 10066 // The name of the Object Lambda Access Point. 10067 // 10068 // Name is a required field 10069 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 10070} 10071 10072// String returns the string representation. 10073// 10074// API parameter values that are decorated as "sensitive" in the API will not 10075// be included in the string output. The member name will be present, but the 10076// value will be replaced with "sensitive". 10077func (s GetAccessPointPolicyStatusForObjectLambdaInput) String() string { 10078 return awsutil.Prettify(s) 10079} 10080 10081// GoString returns the string representation. 10082// 10083// API parameter values that are decorated as "sensitive" in the API will not 10084// be included in the string output. The member name will be present, but the 10085// value will be replaced with "sensitive". 10086func (s GetAccessPointPolicyStatusForObjectLambdaInput) GoString() string { 10087 return s.String() 10088} 10089 10090// Validate inspects the fields of the type to determine if they are valid. 10091func (s *GetAccessPointPolicyStatusForObjectLambdaInput) Validate() error { 10092 invalidParams := request.ErrInvalidParams{Context: "GetAccessPointPolicyStatusForObjectLambdaInput"} 10093 if s.AccountId == nil { 10094 invalidParams.Add(request.NewErrParamRequired("AccountId")) 10095 } 10096 if s.AccountId != nil && len(*s.AccountId) < 1 { 10097 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 10098 } 10099 if s.Name == nil { 10100 invalidParams.Add(request.NewErrParamRequired("Name")) 10101 } 10102 if s.Name != nil && len(*s.Name) < 3 { 10103 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 10104 } 10105 10106 if invalidParams.Len() > 0 { 10107 return invalidParams 10108 } 10109 return nil 10110} 10111 10112// SetAccountId sets the AccountId field's value. 10113func (s *GetAccessPointPolicyStatusForObjectLambdaInput) SetAccountId(v string) *GetAccessPointPolicyStatusForObjectLambdaInput { 10114 s.AccountId = &v 10115 return s 10116} 10117 10118// SetName sets the Name field's value. 10119func (s *GetAccessPointPolicyStatusForObjectLambdaInput) SetName(v string) *GetAccessPointPolicyStatusForObjectLambdaInput { 10120 s.Name = &v 10121 return s 10122} 10123 10124func (s *GetAccessPointPolicyStatusForObjectLambdaInput) hostLabels() map[string]string { 10125 return map[string]string{ 10126 "AccountId": aws.StringValue(s.AccountId), 10127 } 10128} 10129 10130type GetAccessPointPolicyStatusForObjectLambdaOutput struct { 10131 _ struct{} `type:"structure"` 10132 10133 // Indicates whether this access point policy is public. For more information 10134 // about how Amazon S3 evaluates policies to determine whether they are public, 10135 // 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) 10136 // in the Amazon S3 User Guide. 10137 PolicyStatus *PolicyStatus `type:"structure"` 10138} 10139 10140// String returns the string representation. 10141// 10142// API parameter values that are decorated as "sensitive" in the API will not 10143// be included in the string output. The member name will be present, but the 10144// value will be replaced with "sensitive". 10145func (s GetAccessPointPolicyStatusForObjectLambdaOutput) String() string { 10146 return awsutil.Prettify(s) 10147} 10148 10149// GoString returns the string representation. 10150// 10151// API parameter values that are decorated as "sensitive" in the API will not 10152// be included in the string output. The member name will be present, but the 10153// value will be replaced with "sensitive". 10154func (s GetAccessPointPolicyStatusForObjectLambdaOutput) GoString() string { 10155 return s.String() 10156} 10157 10158// SetPolicyStatus sets the PolicyStatus field's value. 10159func (s *GetAccessPointPolicyStatusForObjectLambdaOutput) SetPolicyStatus(v *PolicyStatus) *GetAccessPointPolicyStatusForObjectLambdaOutput { 10160 s.PolicyStatus = v 10161 return s 10162} 10163 10164type GetAccessPointPolicyStatusInput struct { 10165 _ struct{} `locationName:"GetAccessPointPolicyStatusRequest" type:"structure"` 10166 10167 // The account ID for the account that owns the specified access point. 10168 // 10169 // AccountId is a required field 10170 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 10171 10172 // The name of the access point whose policy status you want to retrieve. 10173 // 10174 // Name is a required field 10175 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 10176} 10177 10178// String returns the string representation. 10179// 10180// API parameter values that are decorated as "sensitive" in the API will not 10181// be included in the string output. The member name will be present, but the 10182// value will be replaced with "sensitive". 10183func (s GetAccessPointPolicyStatusInput) String() string { 10184 return awsutil.Prettify(s) 10185} 10186 10187// GoString returns the string representation. 10188// 10189// API parameter values that are decorated as "sensitive" in the API will not 10190// be included in the string output. The member name will be present, but the 10191// value will be replaced with "sensitive". 10192func (s GetAccessPointPolicyStatusInput) GoString() string { 10193 return s.String() 10194} 10195 10196// Validate inspects the fields of the type to determine if they are valid. 10197func (s *GetAccessPointPolicyStatusInput) Validate() error { 10198 invalidParams := request.ErrInvalidParams{Context: "GetAccessPointPolicyStatusInput"} 10199 if s.AccountId == nil { 10200 invalidParams.Add(request.NewErrParamRequired("AccountId")) 10201 } 10202 if s.AccountId != nil && len(*s.AccountId) < 1 { 10203 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 10204 } 10205 if s.Name == nil { 10206 invalidParams.Add(request.NewErrParamRequired("Name")) 10207 } 10208 if s.Name != nil && len(*s.Name) < 3 { 10209 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 10210 } 10211 10212 if invalidParams.Len() > 0 { 10213 return invalidParams 10214 } 10215 return nil 10216} 10217 10218// SetAccountId sets the AccountId field's value. 10219func (s *GetAccessPointPolicyStatusInput) SetAccountId(v string) *GetAccessPointPolicyStatusInput { 10220 s.AccountId = &v 10221 return s 10222} 10223 10224// SetName sets the Name field's value. 10225func (s *GetAccessPointPolicyStatusInput) SetName(v string) *GetAccessPointPolicyStatusInput { 10226 s.Name = &v 10227 return s 10228} 10229 10230func (s *GetAccessPointPolicyStatusInput) hostLabels() map[string]string { 10231 return map[string]string{ 10232 "AccountId": aws.StringValue(s.AccountId), 10233 } 10234} 10235 10236type GetAccessPointPolicyStatusOutput struct { 10237 _ struct{} `type:"structure"` 10238 10239 // Indicates the current policy status of the specified access point. 10240 PolicyStatus *PolicyStatus `type:"structure"` 10241} 10242 10243// String returns the string representation. 10244// 10245// API parameter values that are decorated as "sensitive" in the API will not 10246// be included in the string output. The member name will be present, but the 10247// value will be replaced with "sensitive". 10248func (s GetAccessPointPolicyStatusOutput) String() string { 10249 return awsutil.Prettify(s) 10250} 10251 10252// GoString returns the string representation. 10253// 10254// API parameter values that are decorated as "sensitive" in the API will not 10255// be included in the string output. The member name will be present, but the 10256// value will be replaced with "sensitive". 10257func (s GetAccessPointPolicyStatusOutput) GoString() string { 10258 return s.String() 10259} 10260 10261// SetPolicyStatus sets the PolicyStatus field's value. 10262func (s *GetAccessPointPolicyStatusOutput) SetPolicyStatus(v *PolicyStatus) *GetAccessPointPolicyStatusOutput { 10263 s.PolicyStatus = v 10264 return s 10265} 10266 10267type GetBucketInput struct { 10268 _ struct{} `locationName:"GetBucketRequest" type:"structure"` 10269 10270 // The Amazon Web Services account ID of the Outposts bucket. 10271 // 10272 // AccountId is a required field 10273 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 10274 10275 // Specifies the bucket. 10276 // 10277 // For using this parameter with Amazon S3 on Outposts with the REST API, you 10278 // must specify the name and the x-amz-outpost-id as well. 10279 // 10280 // For using this parameter with S3 on Outposts with the Amazon Web Services 10281 // SDK and CLI, you must specify the ARN of the bucket accessed in the format 10282 // arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 10283 // For example, to access the bucket reports through outpost my-outpost owned 10284 // 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. 10285 // The value must be URL encoded. 10286 // 10287 // Bucket is a required field 10288 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 10289} 10290 10291// String returns the string representation. 10292// 10293// API parameter values that are decorated as "sensitive" in the API will not 10294// be included in the string output. The member name will be present, but the 10295// value will be replaced with "sensitive". 10296func (s GetBucketInput) String() string { 10297 return awsutil.Prettify(s) 10298} 10299 10300// GoString returns the string representation. 10301// 10302// API parameter values that are decorated as "sensitive" in the API will not 10303// be included in the string output. The member name will be present, but the 10304// value will be replaced with "sensitive". 10305func (s GetBucketInput) GoString() string { 10306 return s.String() 10307} 10308 10309// Validate inspects the fields of the type to determine if they are valid. 10310func (s *GetBucketInput) Validate() error { 10311 invalidParams := request.ErrInvalidParams{Context: "GetBucketInput"} 10312 if s.AccountId == nil { 10313 invalidParams.Add(request.NewErrParamRequired("AccountId")) 10314 } 10315 if s.AccountId != nil && len(*s.AccountId) < 1 { 10316 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 10317 } 10318 if s.Bucket == nil { 10319 invalidParams.Add(request.NewErrParamRequired("Bucket")) 10320 } 10321 if s.Bucket != nil && len(*s.Bucket) < 3 { 10322 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 10323 } 10324 10325 if invalidParams.Len() > 0 { 10326 return invalidParams 10327 } 10328 return nil 10329} 10330 10331// SetAccountId sets the AccountId field's value. 10332func (s *GetBucketInput) SetAccountId(v string) *GetBucketInput { 10333 s.AccountId = &v 10334 return s 10335} 10336 10337// SetBucket sets the Bucket field's value. 10338func (s *GetBucketInput) SetBucket(v string) *GetBucketInput { 10339 s.Bucket = &v 10340 return s 10341} 10342 10343func (s *GetBucketInput) hostLabels() map[string]string { 10344 return map[string]string{ 10345 "AccountId": aws.StringValue(s.AccountId), 10346 } 10347} 10348 10349func (s *GetBucketInput) getEndpointARN() (arn.Resource, error) { 10350 if s.Bucket == nil { 10351 return nil, fmt.Errorf("member Bucket is nil") 10352 } 10353 return parseEndpointARN(*s.Bucket) 10354} 10355 10356func (s *GetBucketInput) hasEndpointARN() bool { 10357 if s.Bucket == nil { 10358 return false 10359 } 10360 return arn.IsARN(*s.Bucket) 10361} 10362 10363// updateArnableField updates the value of the input field that 10364// takes an ARN as an input. This method is useful to backfill 10365// the parsed resource name from ARN into the input member. 10366// It returns a pointer to a modified copy of input and an error. 10367// Note that original input is not modified. 10368func (s GetBucketInput) updateArnableField(v string) (interface{}, error) { 10369 if s.Bucket == nil { 10370 return nil, fmt.Errorf("member Bucket is nil") 10371 } 10372 s.Bucket = aws.String(v) 10373 return &s, nil 10374} 10375 10376// updateAccountID returns a pointer to a modified copy of input, 10377// if account id is not provided, we update the account id in modified input 10378// if account id is provided, but doesn't match with the one in ARN, we throw an error 10379// if account id is not updated, we return nil. Note that original input is not modified. 10380func (s GetBucketInput) updateAccountID(accountId string) (interface{}, error) { 10381 if s.AccountId == nil { 10382 s.AccountId = aws.String(accountId) 10383 return &s, nil 10384 } else if *s.AccountId != accountId { 10385 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 10386 } 10387 return nil, nil 10388} 10389 10390type GetBucketLifecycleConfigurationInput struct { 10391 _ struct{} `locationName:"GetBucketLifecycleConfigurationRequest" type:"structure"` 10392 10393 // The Amazon Web Services account ID of the Outposts bucket. 10394 // 10395 // AccountId is a required field 10396 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 10397 10398 // The Amazon Resource Name (ARN) of the bucket. 10399 // 10400 // For using this parameter with Amazon S3 on Outposts with the REST API, you 10401 // must specify the name and the x-amz-outpost-id as well. 10402 // 10403 // For using this parameter with S3 on Outposts with the Amazon Web Services 10404 // SDK and CLI, you must specify the ARN of the bucket accessed in the format 10405 // arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 10406 // For example, to access the bucket reports through outpost my-outpost owned 10407 // 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. 10408 // The value must be URL encoded. 10409 // 10410 // Bucket is a required field 10411 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 10412} 10413 10414// String returns the string representation. 10415// 10416// API parameter values that are decorated as "sensitive" in the API will not 10417// be included in the string output. The member name will be present, but the 10418// value will be replaced with "sensitive". 10419func (s GetBucketLifecycleConfigurationInput) String() string { 10420 return awsutil.Prettify(s) 10421} 10422 10423// GoString returns the string representation. 10424// 10425// API parameter values that are decorated as "sensitive" in the API will not 10426// be included in the string output. The member name will be present, but the 10427// value will be replaced with "sensitive". 10428func (s GetBucketLifecycleConfigurationInput) GoString() string { 10429 return s.String() 10430} 10431 10432// Validate inspects the fields of the type to determine if they are valid. 10433func (s *GetBucketLifecycleConfigurationInput) Validate() error { 10434 invalidParams := request.ErrInvalidParams{Context: "GetBucketLifecycleConfigurationInput"} 10435 if s.AccountId == nil { 10436 invalidParams.Add(request.NewErrParamRequired("AccountId")) 10437 } 10438 if s.AccountId != nil && len(*s.AccountId) < 1 { 10439 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 10440 } 10441 if s.Bucket == nil { 10442 invalidParams.Add(request.NewErrParamRequired("Bucket")) 10443 } 10444 if s.Bucket != nil && len(*s.Bucket) < 3 { 10445 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 10446 } 10447 10448 if invalidParams.Len() > 0 { 10449 return invalidParams 10450 } 10451 return nil 10452} 10453 10454// SetAccountId sets the AccountId field's value. 10455func (s *GetBucketLifecycleConfigurationInput) SetAccountId(v string) *GetBucketLifecycleConfigurationInput { 10456 s.AccountId = &v 10457 return s 10458} 10459 10460// SetBucket sets the Bucket field's value. 10461func (s *GetBucketLifecycleConfigurationInput) SetBucket(v string) *GetBucketLifecycleConfigurationInput { 10462 s.Bucket = &v 10463 return s 10464} 10465 10466func (s *GetBucketLifecycleConfigurationInput) hostLabels() map[string]string { 10467 return map[string]string{ 10468 "AccountId": aws.StringValue(s.AccountId), 10469 } 10470} 10471 10472func (s *GetBucketLifecycleConfigurationInput) getEndpointARN() (arn.Resource, error) { 10473 if s.Bucket == nil { 10474 return nil, fmt.Errorf("member Bucket is nil") 10475 } 10476 return parseEndpointARN(*s.Bucket) 10477} 10478 10479func (s *GetBucketLifecycleConfigurationInput) hasEndpointARN() bool { 10480 if s.Bucket == nil { 10481 return false 10482 } 10483 return arn.IsARN(*s.Bucket) 10484} 10485 10486// updateArnableField updates the value of the input field that 10487// takes an ARN as an input. This method is useful to backfill 10488// the parsed resource name from ARN into the input member. 10489// It returns a pointer to a modified copy of input and an error. 10490// Note that original input is not modified. 10491func (s GetBucketLifecycleConfigurationInput) updateArnableField(v string) (interface{}, error) { 10492 if s.Bucket == nil { 10493 return nil, fmt.Errorf("member Bucket is nil") 10494 } 10495 s.Bucket = aws.String(v) 10496 return &s, nil 10497} 10498 10499// updateAccountID returns a pointer to a modified copy of input, 10500// if account id is not provided, we update the account id in modified input 10501// if account id is provided, but doesn't match with the one in ARN, we throw an error 10502// if account id is not updated, we return nil. Note that original input is not modified. 10503func (s GetBucketLifecycleConfigurationInput) updateAccountID(accountId string) (interface{}, error) { 10504 if s.AccountId == nil { 10505 s.AccountId = aws.String(accountId) 10506 return &s, nil 10507 } else if *s.AccountId != accountId { 10508 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 10509 } 10510 return nil, nil 10511} 10512 10513type GetBucketLifecycleConfigurationOutput struct { 10514 _ struct{} `type:"structure"` 10515 10516 // Container for the lifecycle rule of the Outposts bucket. 10517 Rules []*LifecycleRule `locationNameList:"Rule" type:"list"` 10518} 10519 10520// String returns the string representation. 10521// 10522// API parameter values that are decorated as "sensitive" in the API will not 10523// be included in the string output. The member name will be present, but the 10524// value will be replaced with "sensitive". 10525func (s GetBucketLifecycleConfigurationOutput) String() string { 10526 return awsutil.Prettify(s) 10527} 10528 10529// GoString returns the string representation. 10530// 10531// API parameter values that are decorated as "sensitive" in the API will not 10532// be included in the string output. The member name will be present, but the 10533// value will be replaced with "sensitive". 10534func (s GetBucketLifecycleConfigurationOutput) GoString() string { 10535 return s.String() 10536} 10537 10538// SetRules sets the Rules field's value. 10539func (s *GetBucketLifecycleConfigurationOutput) SetRules(v []*LifecycleRule) *GetBucketLifecycleConfigurationOutput { 10540 s.Rules = v 10541 return s 10542} 10543 10544type GetBucketOutput struct { 10545 _ struct{} `type:"structure"` 10546 10547 // The Outposts bucket requested. 10548 Bucket *string `min:"3" type:"string"` 10549 10550 // The creation date of the Outposts bucket. 10551 CreationDate *time.Time `type:"timestamp"` 10552 10553 PublicAccessBlockEnabled *bool `type:"boolean"` 10554} 10555 10556// String returns the string representation. 10557// 10558// API parameter values that are decorated as "sensitive" in the API will not 10559// be included in the string output. The member name will be present, but the 10560// value will be replaced with "sensitive". 10561func (s GetBucketOutput) String() string { 10562 return awsutil.Prettify(s) 10563} 10564 10565// GoString returns the string representation. 10566// 10567// API parameter values that are decorated as "sensitive" in the API will not 10568// be included in the string output. The member name will be present, but the 10569// value will be replaced with "sensitive". 10570func (s GetBucketOutput) GoString() string { 10571 return s.String() 10572} 10573 10574// SetBucket sets the Bucket field's value. 10575func (s *GetBucketOutput) SetBucket(v string) *GetBucketOutput { 10576 s.Bucket = &v 10577 return s 10578} 10579 10580// SetCreationDate sets the CreationDate field's value. 10581func (s *GetBucketOutput) SetCreationDate(v time.Time) *GetBucketOutput { 10582 s.CreationDate = &v 10583 return s 10584} 10585 10586// SetPublicAccessBlockEnabled sets the PublicAccessBlockEnabled field's value. 10587func (s *GetBucketOutput) SetPublicAccessBlockEnabled(v bool) *GetBucketOutput { 10588 s.PublicAccessBlockEnabled = &v 10589 return s 10590} 10591 10592type GetBucketPolicyInput struct { 10593 _ struct{} `locationName:"GetBucketPolicyRequest" type:"structure"` 10594 10595 // The Amazon Web Services account ID of the Outposts bucket. 10596 // 10597 // AccountId is a required field 10598 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 10599 10600 // Specifies the bucket. 10601 // 10602 // For using this parameter with Amazon S3 on Outposts with the REST API, you 10603 // must specify the name and the x-amz-outpost-id as well. 10604 // 10605 // For using this parameter with S3 on Outposts with the Amazon Web Services 10606 // SDK and CLI, you must specify the ARN of the bucket accessed in the format 10607 // arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 10608 // For example, to access the bucket reports through outpost my-outpost owned 10609 // 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. 10610 // The value must be URL encoded. 10611 // 10612 // Bucket is a required field 10613 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 10614} 10615 10616// String returns the string representation. 10617// 10618// API parameter values that are decorated as "sensitive" in the API will not 10619// be included in the string output. The member name will be present, but the 10620// value will be replaced with "sensitive". 10621func (s GetBucketPolicyInput) String() string { 10622 return awsutil.Prettify(s) 10623} 10624 10625// GoString returns the string representation. 10626// 10627// API parameter values that are decorated as "sensitive" in the API will not 10628// be included in the string output. The member name will be present, but the 10629// value will be replaced with "sensitive". 10630func (s GetBucketPolicyInput) GoString() string { 10631 return s.String() 10632} 10633 10634// Validate inspects the fields of the type to determine if they are valid. 10635func (s *GetBucketPolicyInput) Validate() error { 10636 invalidParams := request.ErrInvalidParams{Context: "GetBucketPolicyInput"} 10637 if s.AccountId == nil { 10638 invalidParams.Add(request.NewErrParamRequired("AccountId")) 10639 } 10640 if s.AccountId != nil && len(*s.AccountId) < 1 { 10641 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 10642 } 10643 if s.Bucket == nil { 10644 invalidParams.Add(request.NewErrParamRequired("Bucket")) 10645 } 10646 if s.Bucket != nil && len(*s.Bucket) < 3 { 10647 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 10648 } 10649 10650 if invalidParams.Len() > 0 { 10651 return invalidParams 10652 } 10653 return nil 10654} 10655 10656// SetAccountId sets the AccountId field's value. 10657func (s *GetBucketPolicyInput) SetAccountId(v string) *GetBucketPolicyInput { 10658 s.AccountId = &v 10659 return s 10660} 10661 10662// SetBucket sets the Bucket field's value. 10663func (s *GetBucketPolicyInput) SetBucket(v string) *GetBucketPolicyInput { 10664 s.Bucket = &v 10665 return s 10666} 10667 10668func (s *GetBucketPolicyInput) hostLabels() map[string]string { 10669 return map[string]string{ 10670 "AccountId": aws.StringValue(s.AccountId), 10671 } 10672} 10673 10674func (s *GetBucketPolicyInput) getEndpointARN() (arn.Resource, error) { 10675 if s.Bucket == nil { 10676 return nil, fmt.Errorf("member Bucket is nil") 10677 } 10678 return parseEndpointARN(*s.Bucket) 10679} 10680 10681func (s *GetBucketPolicyInput) hasEndpointARN() bool { 10682 if s.Bucket == nil { 10683 return false 10684 } 10685 return arn.IsARN(*s.Bucket) 10686} 10687 10688// updateArnableField updates the value of the input field that 10689// takes an ARN as an input. This method is useful to backfill 10690// the parsed resource name from ARN into the input member. 10691// It returns a pointer to a modified copy of input and an error. 10692// Note that original input is not modified. 10693func (s GetBucketPolicyInput) updateArnableField(v string) (interface{}, error) { 10694 if s.Bucket == nil { 10695 return nil, fmt.Errorf("member Bucket is nil") 10696 } 10697 s.Bucket = aws.String(v) 10698 return &s, nil 10699} 10700 10701// updateAccountID returns a pointer to a modified copy of input, 10702// if account id is not provided, we update the account id in modified input 10703// if account id is provided, but doesn't match with the one in ARN, we throw an error 10704// if account id is not updated, we return nil. Note that original input is not modified. 10705func (s GetBucketPolicyInput) updateAccountID(accountId string) (interface{}, error) { 10706 if s.AccountId == nil { 10707 s.AccountId = aws.String(accountId) 10708 return &s, nil 10709 } else if *s.AccountId != accountId { 10710 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 10711 } 10712 return nil, nil 10713} 10714 10715type GetBucketPolicyOutput struct { 10716 _ struct{} `type:"structure"` 10717 10718 // The policy of the Outposts bucket. 10719 Policy *string `type:"string"` 10720} 10721 10722// String returns the string representation. 10723// 10724// API parameter values that are decorated as "sensitive" in the API will not 10725// be included in the string output. The member name will be present, but the 10726// value will be replaced with "sensitive". 10727func (s GetBucketPolicyOutput) String() string { 10728 return awsutil.Prettify(s) 10729} 10730 10731// GoString returns the string representation. 10732// 10733// API parameter values that are decorated as "sensitive" in the API will not 10734// be included in the string output. The member name will be present, but the 10735// value will be replaced with "sensitive". 10736func (s GetBucketPolicyOutput) GoString() string { 10737 return s.String() 10738} 10739 10740// SetPolicy sets the Policy field's value. 10741func (s *GetBucketPolicyOutput) SetPolicy(v string) *GetBucketPolicyOutput { 10742 s.Policy = &v 10743 return s 10744} 10745 10746type GetBucketTaggingInput struct { 10747 _ struct{} `locationName:"GetBucketTaggingRequest" type:"structure"` 10748 10749 // The Amazon Web Services account ID of the Outposts bucket. 10750 // 10751 // AccountId is a required field 10752 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 10753 10754 // Specifies the bucket. 10755 // 10756 // For using this parameter with Amazon S3 on Outposts with the REST API, you 10757 // must specify the name and the x-amz-outpost-id as well. 10758 // 10759 // For using this parameter with S3 on Outposts with the Amazon Web Services 10760 // SDK and CLI, you must specify the ARN of the bucket accessed in the format 10761 // arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 10762 // For example, to access the bucket reports through outpost my-outpost owned 10763 // 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. 10764 // The value must be URL encoded. 10765 // 10766 // Bucket is a required field 10767 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 10768} 10769 10770// String returns the string representation. 10771// 10772// API parameter values that are decorated as "sensitive" in the API will not 10773// be included in the string output. The member name will be present, but the 10774// value will be replaced with "sensitive". 10775func (s GetBucketTaggingInput) String() string { 10776 return awsutil.Prettify(s) 10777} 10778 10779// GoString returns the string representation. 10780// 10781// API parameter values that are decorated as "sensitive" in the API will not 10782// be included in the string output. The member name will be present, but the 10783// value will be replaced with "sensitive". 10784func (s GetBucketTaggingInput) GoString() string { 10785 return s.String() 10786} 10787 10788// Validate inspects the fields of the type to determine if they are valid. 10789func (s *GetBucketTaggingInput) Validate() error { 10790 invalidParams := request.ErrInvalidParams{Context: "GetBucketTaggingInput"} 10791 if s.AccountId == nil { 10792 invalidParams.Add(request.NewErrParamRequired("AccountId")) 10793 } 10794 if s.AccountId != nil && len(*s.AccountId) < 1 { 10795 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 10796 } 10797 if s.Bucket == nil { 10798 invalidParams.Add(request.NewErrParamRequired("Bucket")) 10799 } 10800 if s.Bucket != nil && len(*s.Bucket) < 3 { 10801 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 10802 } 10803 10804 if invalidParams.Len() > 0 { 10805 return invalidParams 10806 } 10807 return nil 10808} 10809 10810// SetAccountId sets the AccountId field's value. 10811func (s *GetBucketTaggingInput) SetAccountId(v string) *GetBucketTaggingInput { 10812 s.AccountId = &v 10813 return s 10814} 10815 10816// SetBucket sets the Bucket field's value. 10817func (s *GetBucketTaggingInput) SetBucket(v string) *GetBucketTaggingInput { 10818 s.Bucket = &v 10819 return s 10820} 10821 10822func (s *GetBucketTaggingInput) hostLabels() map[string]string { 10823 return map[string]string{ 10824 "AccountId": aws.StringValue(s.AccountId), 10825 } 10826} 10827 10828func (s *GetBucketTaggingInput) getEndpointARN() (arn.Resource, error) { 10829 if s.Bucket == nil { 10830 return nil, fmt.Errorf("member Bucket is nil") 10831 } 10832 return parseEndpointARN(*s.Bucket) 10833} 10834 10835func (s *GetBucketTaggingInput) hasEndpointARN() bool { 10836 if s.Bucket == nil { 10837 return false 10838 } 10839 return arn.IsARN(*s.Bucket) 10840} 10841 10842// updateArnableField updates the value of the input field that 10843// takes an ARN as an input. This method is useful to backfill 10844// the parsed resource name from ARN into the input member. 10845// It returns a pointer to a modified copy of input and an error. 10846// Note that original input is not modified. 10847func (s GetBucketTaggingInput) updateArnableField(v string) (interface{}, error) { 10848 if s.Bucket == nil { 10849 return nil, fmt.Errorf("member Bucket is nil") 10850 } 10851 s.Bucket = aws.String(v) 10852 return &s, nil 10853} 10854 10855// updateAccountID returns a pointer to a modified copy of input, 10856// if account id is not provided, we update the account id in modified input 10857// if account id is provided, but doesn't match with the one in ARN, we throw an error 10858// if account id is not updated, we return nil. Note that original input is not modified. 10859func (s GetBucketTaggingInput) updateAccountID(accountId string) (interface{}, error) { 10860 if s.AccountId == nil { 10861 s.AccountId = aws.String(accountId) 10862 return &s, nil 10863 } else if *s.AccountId != accountId { 10864 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 10865 } 10866 return nil, nil 10867} 10868 10869type GetBucketTaggingOutput struct { 10870 _ struct{} `type:"structure"` 10871 10872 // The tags set of the Outposts bucket. 10873 // 10874 // TagSet is a required field 10875 TagSet []*S3Tag `type:"list" required:"true"` 10876} 10877 10878// String returns the string representation. 10879// 10880// API parameter values that are decorated as "sensitive" in the API will not 10881// be included in the string output. The member name will be present, but the 10882// value will be replaced with "sensitive". 10883func (s GetBucketTaggingOutput) String() string { 10884 return awsutil.Prettify(s) 10885} 10886 10887// GoString returns the string representation. 10888// 10889// API parameter values that are decorated as "sensitive" in the API will not 10890// be included in the string output. The member name will be present, but the 10891// value will be replaced with "sensitive". 10892func (s GetBucketTaggingOutput) GoString() string { 10893 return s.String() 10894} 10895 10896// SetTagSet sets the TagSet field's value. 10897func (s *GetBucketTaggingOutput) SetTagSet(v []*S3Tag) *GetBucketTaggingOutput { 10898 s.TagSet = v 10899 return s 10900} 10901 10902type GetJobTaggingInput struct { 10903 _ struct{} `locationName:"GetJobTaggingRequest" type:"structure"` 10904 10905 // The Amazon Web Services account ID associated with the S3 Batch Operations 10906 // job. 10907 // 10908 // AccountId is a required field 10909 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 10910 10911 // The ID for the S3 Batch Operations job whose tags you want to retrieve. 10912 // 10913 // JobId is a required field 10914 JobId *string `location:"uri" locationName:"id" min:"5" type:"string" required:"true"` 10915} 10916 10917// String returns the string representation. 10918// 10919// API parameter values that are decorated as "sensitive" in the API will not 10920// be included in the string output. The member name will be present, but the 10921// value will be replaced with "sensitive". 10922func (s GetJobTaggingInput) String() string { 10923 return awsutil.Prettify(s) 10924} 10925 10926// GoString returns the string representation. 10927// 10928// API parameter values that are decorated as "sensitive" in the API will not 10929// be included in the string output. The member name will be present, but the 10930// value will be replaced with "sensitive". 10931func (s GetJobTaggingInput) GoString() string { 10932 return s.String() 10933} 10934 10935// Validate inspects the fields of the type to determine if they are valid. 10936func (s *GetJobTaggingInput) Validate() error { 10937 invalidParams := request.ErrInvalidParams{Context: "GetJobTaggingInput"} 10938 if s.AccountId == nil { 10939 invalidParams.Add(request.NewErrParamRequired("AccountId")) 10940 } 10941 if s.AccountId != nil && len(*s.AccountId) < 1 { 10942 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 10943 } 10944 if s.JobId == nil { 10945 invalidParams.Add(request.NewErrParamRequired("JobId")) 10946 } 10947 if s.JobId != nil && len(*s.JobId) < 5 { 10948 invalidParams.Add(request.NewErrParamMinLen("JobId", 5)) 10949 } 10950 10951 if invalidParams.Len() > 0 { 10952 return invalidParams 10953 } 10954 return nil 10955} 10956 10957// SetAccountId sets the AccountId field's value. 10958func (s *GetJobTaggingInput) SetAccountId(v string) *GetJobTaggingInput { 10959 s.AccountId = &v 10960 return s 10961} 10962 10963// SetJobId sets the JobId field's value. 10964func (s *GetJobTaggingInput) SetJobId(v string) *GetJobTaggingInput { 10965 s.JobId = &v 10966 return s 10967} 10968 10969func (s *GetJobTaggingInput) hostLabels() map[string]string { 10970 return map[string]string{ 10971 "AccountId": aws.StringValue(s.AccountId), 10972 } 10973} 10974 10975type GetJobTaggingOutput struct { 10976 _ struct{} `type:"structure"` 10977 10978 // The set of tags associated with the S3 Batch Operations job. 10979 Tags []*S3Tag `type:"list"` 10980} 10981 10982// String returns the string representation. 10983// 10984// API parameter values that are decorated as "sensitive" in the API will not 10985// be included in the string output. The member name will be present, but the 10986// value will be replaced with "sensitive". 10987func (s GetJobTaggingOutput) String() string { 10988 return awsutil.Prettify(s) 10989} 10990 10991// GoString returns the string representation. 10992// 10993// API parameter values that are decorated as "sensitive" in the API will not 10994// be included in the string output. The member name will be present, but the 10995// value will be replaced with "sensitive". 10996func (s GetJobTaggingOutput) GoString() string { 10997 return s.String() 10998} 10999 11000// SetTags sets the Tags field's value. 11001func (s *GetJobTaggingOutput) SetTags(v []*S3Tag) *GetJobTaggingOutput { 11002 s.Tags = v 11003 return s 11004} 11005 11006type GetMultiRegionAccessPointInput struct { 11007 _ struct{} `locationName:"GetMultiRegionAccessPointRequest" type:"structure"` 11008 11009 // The Amazon Web Services account ID for the owner of the Multi-Region Access 11010 // Point. 11011 // 11012 // AccountId is a required field 11013 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 11014 11015 // The name of the Multi-Region Access Point whose configuration information 11016 // you want to receive. The name of the Multi-Region Access Point is different 11017 // from the alias. For more information about the distinction between the name 11018 // and the alias of an Multi-Region Access Point, see Managing Multi-Region 11019 // Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/CreatingMultiRegionAccessPoints.html#multi-region-access-point-naming) 11020 // in the Amazon S3 User Guide. 11021 // 11022 // Name is a required field 11023 Name *string `location:"uri" locationName:"name" type:"string" required:"true"` 11024} 11025 11026// String returns the string representation. 11027// 11028// API parameter values that are decorated as "sensitive" in the API will not 11029// be included in the string output. The member name will be present, but the 11030// value will be replaced with "sensitive". 11031func (s GetMultiRegionAccessPointInput) String() string { 11032 return awsutil.Prettify(s) 11033} 11034 11035// GoString returns the string representation. 11036// 11037// API parameter values that are decorated as "sensitive" in the API will not 11038// be included in the string output. The member name will be present, but the 11039// value will be replaced with "sensitive". 11040func (s GetMultiRegionAccessPointInput) GoString() string { 11041 return s.String() 11042} 11043 11044// Validate inspects the fields of the type to determine if they are valid. 11045func (s *GetMultiRegionAccessPointInput) Validate() error { 11046 invalidParams := request.ErrInvalidParams{Context: "GetMultiRegionAccessPointInput"} 11047 if s.AccountId == nil { 11048 invalidParams.Add(request.NewErrParamRequired("AccountId")) 11049 } 11050 if s.AccountId != nil && len(*s.AccountId) < 1 { 11051 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 11052 } 11053 if s.Name == nil { 11054 invalidParams.Add(request.NewErrParamRequired("Name")) 11055 } 11056 if s.Name != nil && len(*s.Name) < 1 { 11057 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 11058 } 11059 11060 if invalidParams.Len() > 0 { 11061 return invalidParams 11062 } 11063 return nil 11064} 11065 11066// SetAccountId sets the AccountId field's value. 11067func (s *GetMultiRegionAccessPointInput) SetAccountId(v string) *GetMultiRegionAccessPointInput { 11068 s.AccountId = &v 11069 return s 11070} 11071 11072// SetName sets the Name field's value. 11073func (s *GetMultiRegionAccessPointInput) SetName(v string) *GetMultiRegionAccessPointInput { 11074 s.Name = &v 11075 return s 11076} 11077 11078func (s *GetMultiRegionAccessPointInput) hostLabels() map[string]string { 11079 return map[string]string{ 11080 "AccountId": aws.StringValue(s.AccountId), 11081 } 11082} 11083 11084type GetMultiRegionAccessPointOutput struct { 11085 _ struct{} `type:"structure"` 11086 11087 // A container element containing the details of the requested Multi-Region 11088 // Access Point. 11089 AccessPoint *MultiRegionAccessPointReport `type:"structure"` 11090} 11091 11092// String returns the string representation. 11093// 11094// API parameter values that are decorated as "sensitive" in the API will not 11095// be included in the string output. The member name will be present, but the 11096// value will be replaced with "sensitive". 11097func (s GetMultiRegionAccessPointOutput) String() string { 11098 return awsutil.Prettify(s) 11099} 11100 11101// GoString returns the string representation. 11102// 11103// API parameter values that are decorated as "sensitive" in the API will not 11104// be included in the string output. The member name will be present, but the 11105// value will be replaced with "sensitive". 11106func (s GetMultiRegionAccessPointOutput) GoString() string { 11107 return s.String() 11108} 11109 11110// SetAccessPoint sets the AccessPoint field's value. 11111func (s *GetMultiRegionAccessPointOutput) SetAccessPoint(v *MultiRegionAccessPointReport) *GetMultiRegionAccessPointOutput { 11112 s.AccessPoint = v 11113 return s 11114} 11115 11116type GetMultiRegionAccessPointPolicyInput struct { 11117 _ struct{} `locationName:"GetMultiRegionAccessPointPolicyRequest" type:"structure"` 11118 11119 // The Amazon Web Services account ID for the owner of the Multi-Region Access 11120 // Point. 11121 // 11122 // AccountId is a required field 11123 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 11124 11125 // Specifies the Multi-Region Access Point. The name of the Multi-Region Access 11126 // Point is different from the alias. For more information about the distinction 11127 // between the name and the alias of an Multi-Region Access Point, see Managing 11128 // Multi-Region Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/CreatingMultiRegionAccessPoints.html#multi-region-access-point-naming) 11129 // in the Amazon S3 User Guide. 11130 // 11131 // Name is a required field 11132 Name *string `location:"uri" locationName:"name" type:"string" required:"true"` 11133} 11134 11135// String returns the string representation. 11136// 11137// API parameter values that are decorated as "sensitive" in the API will not 11138// be included in the string output. The member name will be present, but the 11139// value will be replaced with "sensitive". 11140func (s GetMultiRegionAccessPointPolicyInput) String() string { 11141 return awsutil.Prettify(s) 11142} 11143 11144// GoString returns the string representation. 11145// 11146// API parameter values that are decorated as "sensitive" in the API will not 11147// be included in the string output. The member name will be present, but the 11148// value will be replaced with "sensitive". 11149func (s GetMultiRegionAccessPointPolicyInput) GoString() string { 11150 return s.String() 11151} 11152 11153// Validate inspects the fields of the type to determine if they are valid. 11154func (s *GetMultiRegionAccessPointPolicyInput) Validate() error { 11155 invalidParams := request.ErrInvalidParams{Context: "GetMultiRegionAccessPointPolicyInput"} 11156 if s.AccountId == nil { 11157 invalidParams.Add(request.NewErrParamRequired("AccountId")) 11158 } 11159 if s.AccountId != nil && len(*s.AccountId) < 1 { 11160 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 11161 } 11162 if s.Name == nil { 11163 invalidParams.Add(request.NewErrParamRequired("Name")) 11164 } 11165 if s.Name != nil && len(*s.Name) < 1 { 11166 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 11167 } 11168 11169 if invalidParams.Len() > 0 { 11170 return invalidParams 11171 } 11172 return nil 11173} 11174 11175// SetAccountId sets the AccountId field's value. 11176func (s *GetMultiRegionAccessPointPolicyInput) SetAccountId(v string) *GetMultiRegionAccessPointPolicyInput { 11177 s.AccountId = &v 11178 return s 11179} 11180 11181// SetName sets the Name field's value. 11182func (s *GetMultiRegionAccessPointPolicyInput) SetName(v string) *GetMultiRegionAccessPointPolicyInput { 11183 s.Name = &v 11184 return s 11185} 11186 11187func (s *GetMultiRegionAccessPointPolicyInput) hostLabels() map[string]string { 11188 return map[string]string{ 11189 "AccountId": aws.StringValue(s.AccountId), 11190 } 11191} 11192 11193type GetMultiRegionAccessPointPolicyOutput struct { 11194 _ struct{} `type:"structure"` 11195 11196 // The policy associated with the specified Multi-Region Access Point. 11197 Policy *MultiRegionAccessPointPolicyDocument `type:"structure"` 11198} 11199 11200// String returns the string representation. 11201// 11202// API parameter values that are decorated as "sensitive" in the API will not 11203// be included in the string output. The member name will be present, but the 11204// value will be replaced with "sensitive". 11205func (s GetMultiRegionAccessPointPolicyOutput) String() string { 11206 return awsutil.Prettify(s) 11207} 11208 11209// GoString returns the string representation. 11210// 11211// API parameter values that are decorated as "sensitive" in the API will not 11212// be included in the string output. The member name will be present, but the 11213// value will be replaced with "sensitive". 11214func (s GetMultiRegionAccessPointPolicyOutput) GoString() string { 11215 return s.String() 11216} 11217 11218// SetPolicy sets the Policy field's value. 11219func (s *GetMultiRegionAccessPointPolicyOutput) SetPolicy(v *MultiRegionAccessPointPolicyDocument) *GetMultiRegionAccessPointPolicyOutput { 11220 s.Policy = v 11221 return s 11222} 11223 11224type GetMultiRegionAccessPointPolicyStatusInput struct { 11225 _ struct{} `locationName:"GetMultiRegionAccessPointPolicyStatusRequest" type:"structure"` 11226 11227 // The Amazon Web Services account ID for the owner of the Multi-Region Access 11228 // Point. 11229 // 11230 // AccountId is a required field 11231 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 11232 11233 // Specifies the Multi-Region Access Point. The name of the Multi-Region Access 11234 // Point is different from the alias. For more information about the distinction 11235 // between the name and the alias of an Multi-Region Access Point, see Managing 11236 // Multi-Region Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/CreatingMultiRegionAccessPoints.html#multi-region-access-point-naming) 11237 // in the Amazon S3 User Guide. 11238 // 11239 // Name is a required field 11240 Name *string `location:"uri" locationName:"name" type:"string" required:"true"` 11241} 11242 11243// String returns the string representation. 11244// 11245// API parameter values that are decorated as "sensitive" in the API will not 11246// be included in the string output. The member name will be present, but the 11247// value will be replaced with "sensitive". 11248func (s GetMultiRegionAccessPointPolicyStatusInput) String() string { 11249 return awsutil.Prettify(s) 11250} 11251 11252// GoString returns the string representation. 11253// 11254// API parameter values that are decorated as "sensitive" in the API will not 11255// be included in the string output. The member name will be present, but the 11256// value will be replaced with "sensitive". 11257func (s GetMultiRegionAccessPointPolicyStatusInput) GoString() string { 11258 return s.String() 11259} 11260 11261// Validate inspects the fields of the type to determine if they are valid. 11262func (s *GetMultiRegionAccessPointPolicyStatusInput) Validate() error { 11263 invalidParams := request.ErrInvalidParams{Context: "GetMultiRegionAccessPointPolicyStatusInput"} 11264 if s.AccountId == nil { 11265 invalidParams.Add(request.NewErrParamRequired("AccountId")) 11266 } 11267 if s.AccountId != nil && len(*s.AccountId) < 1 { 11268 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 11269 } 11270 if s.Name == nil { 11271 invalidParams.Add(request.NewErrParamRequired("Name")) 11272 } 11273 if s.Name != nil && len(*s.Name) < 1 { 11274 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 11275 } 11276 11277 if invalidParams.Len() > 0 { 11278 return invalidParams 11279 } 11280 return nil 11281} 11282 11283// SetAccountId sets the AccountId field's value. 11284func (s *GetMultiRegionAccessPointPolicyStatusInput) SetAccountId(v string) *GetMultiRegionAccessPointPolicyStatusInput { 11285 s.AccountId = &v 11286 return s 11287} 11288 11289// SetName sets the Name field's value. 11290func (s *GetMultiRegionAccessPointPolicyStatusInput) SetName(v string) *GetMultiRegionAccessPointPolicyStatusInput { 11291 s.Name = &v 11292 return s 11293} 11294 11295func (s *GetMultiRegionAccessPointPolicyStatusInput) hostLabels() map[string]string { 11296 return map[string]string{ 11297 "AccountId": aws.StringValue(s.AccountId), 11298 } 11299} 11300 11301type GetMultiRegionAccessPointPolicyStatusOutput struct { 11302 _ struct{} `type:"structure"` 11303 11304 // Indicates whether this access point policy is public. For more information 11305 // about how Amazon S3 evaluates policies to determine whether they are public, 11306 // 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) 11307 // in the Amazon S3 User Guide. 11308 Established *PolicyStatus `type:"structure"` 11309} 11310 11311// String returns the string representation. 11312// 11313// API parameter values that are decorated as "sensitive" in the API will not 11314// be included in the string output. The member name will be present, but the 11315// value will be replaced with "sensitive". 11316func (s GetMultiRegionAccessPointPolicyStatusOutput) String() string { 11317 return awsutil.Prettify(s) 11318} 11319 11320// GoString returns the string representation. 11321// 11322// API parameter values that are decorated as "sensitive" in the API will not 11323// be included in the string output. The member name will be present, but the 11324// value will be replaced with "sensitive". 11325func (s GetMultiRegionAccessPointPolicyStatusOutput) GoString() string { 11326 return s.String() 11327} 11328 11329// SetEstablished sets the Established field's value. 11330func (s *GetMultiRegionAccessPointPolicyStatusOutput) SetEstablished(v *PolicyStatus) *GetMultiRegionAccessPointPolicyStatusOutput { 11331 s.Established = v 11332 return s 11333} 11334 11335type GetPublicAccessBlockInput struct { 11336 _ struct{} `locationName:"GetPublicAccessBlockRequest" type:"structure"` 11337 11338 // The account ID for the Amazon Web Services account whose PublicAccessBlock 11339 // configuration you want to retrieve. 11340 // 11341 // AccountId is a required field 11342 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 11343} 11344 11345// String returns the string representation. 11346// 11347// API parameter values that are decorated as "sensitive" in the API will not 11348// be included in the string output. The member name will be present, but the 11349// value will be replaced with "sensitive". 11350func (s GetPublicAccessBlockInput) String() string { 11351 return awsutil.Prettify(s) 11352} 11353 11354// GoString returns the string representation. 11355// 11356// API parameter values that are decorated as "sensitive" in the API will not 11357// be included in the string output. The member name will be present, but the 11358// value will be replaced with "sensitive". 11359func (s GetPublicAccessBlockInput) GoString() string { 11360 return s.String() 11361} 11362 11363// Validate inspects the fields of the type to determine if they are valid. 11364func (s *GetPublicAccessBlockInput) Validate() error { 11365 invalidParams := request.ErrInvalidParams{Context: "GetPublicAccessBlockInput"} 11366 if s.AccountId == nil { 11367 invalidParams.Add(request.NewErrParamRequired("AccountId")) 11368 } 11369 if s.AccountId != nil && len(*s.AccountId) < 1 { 11370 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 11371 } 11372 11373 if invalidParams.Len() > 0 { 11374 return invalidParams 11375 } 11376 return nil 11377} 11378 11379// SetAccountId sets the AccountId field's value. 11380func (s *GetPublicAccessBlockInput) SetAccountId(v string) *GetPublicAccessBlockInput { 11381 s.AccountId = &v 11382 return s 11383} 11384 11385func (s *GetPublicAccessBlockInput) hostLabels() map[string]string { 11386 return map[string]string{ 11387 "AccountId": aws.StringValue(s.AccountId), 11388 } 11389} 11390 11391type GetPublicAccessBlockOutput struct { 11392 _ struct{} `type:"structure" payload:"PublicAccessBlockConfiguration"` 11393 11394 // The PublicAccessBlock configuration currently in effect for this Amazon Web 11395 // Services account. 11396 PublicAccessBlockConfiguration *PublicAccessBlockConfiguration `type:"structure"` 11397} 11398 11399// String returns the string representation. 11400// 11401// API parameter values that are decorated as "sensitive" in the API will not 11402// be included in the string output. The member name will be present, but the 11403// value will be replaced with "sensitive". 11404func (s GetPublicAccessBlockOutput) String() string { 11405 return awsutil.Prettify(s) 11406} 11407 11408// GoString returns the string representation. 11409// 11410// API parameter values that are decorated as "sensitive" in the API will not 11411// be included in the string output. The member name will be present, but the 11412// value will be replaced with "sensitive". 11413func (s GetPublicAccessBlockOutput) GoString() string { 11414 return s.String() 11415} 11416 11417// SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value. 11418func (s *GetPublicAccessBlockOutput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *GetPublicAccessBlockOutput { 11419 s.PublicAccessBlockConfiguration = v 11420 return s 11421} 11422 11423type GetStorageLensConfigurationInput struct { 11424 _ struct{} `locationName:"GetStorageLensConfigurationRequest" type:"structure"` 11425 11426 // The account ID of the requester. 11427 // 11428 // AccountId is a required field 11429 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 11430 11431 // The ID of the Amazon S3 Storage Lens configuration. 11432 // 11433 // ConfigId is a required field 11434 ConfigId *string `location:"uri" locationName:"storagelensid" min:"1" type:"string" required:"true"` 11435} 11436 11437// String returns the string representation. 11438// 11439// API parameter values that are decorated as "sensitive" in the API will not 11440// be included in the string output. The member name will be present, but the 11441// value will be replaced with "sensitive". 11442func (s GetStorageLensConfigurationInput) String() string { 11443 return awsutil.Prettify(s) 11444} 11445 11446// GoString returns the string representation. 11447// 11448// API parameter values that are decorated as "sensitive" in the API will not 11449// be included in the string output. The member name will be present, but the 11450// value will be replaced with "sensitive". 11451func (s GetStorageLensConfigurationInput) GoString() string { 11452 return s.String() 11453} 11454 11455// Validate inspects the fields of the type to determine if they are valid. 11456func (s *GetStorageLensConfigurationInput) Validate() error { 11457 invalidParams := request.ErrInvalidParams{Context: "GetStorageLensConfigurationInput"} 11458 if s.AccountId == nil { 11459 invalidParams.Add(request.NewErrParamRequired("AccountId")) 11460 } 11461 if s.AccountId != nil && len(*s.AccountId) < 1 { 11462 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 11463 } 11464 if s.ConfigId == nil { 11465 invalidParams.Add(request.NewErrParamRequired("ConfigId")) 11466 } 11467 if s.ConfigId != nil && len(*s.ConfigId) < 1 { 11468 invalidParams.Add(request.NewErrParamMinLen("ConfigId", 1)) 11469 } 11470 11471 if invalidParams.Len() > 0 { 11472 return invalidParams 11473 } 11474 return nil 11475} 11476 11477// SetAccountId sets the AccountId field's value. 11478func (s *GetStorageLensConfigurationInput) SetAccountId(v string) *GetStorageLensConfigurationInput { 11479 s.AccountId = &v 11480 return s 11481} 11482 11483// SetConfigId sets the ConfigId field's value. 11484func (s *GetStorageLensConfigurationInput) SetConfigId(v string) *GetStorageLensConfigurationInput { 11485 s.ConfigId = &v 11486 return s 11487} 11488 11489func (s *GetStorageLensConfigurationInput) hostLabels() map[string]string { 11490 return map[string]string{ 11491 "AccountId": aws.StringValue(s.AccountId), 11492 } 11493} 11494 11495type GetStorageLensConfigurationOutput struct { 11496 _ struct{} `type:"structure" payload:"StorageLensConfiguration"` 11497 11498 // The S3 Storage Lens configuration requested. 11499 StorageLensConfiguration *StorageLensConfiguration `type:"structure"` 11500} 11501 11502// String returns the string representation. 11503// 11504// API parameter values that are decorated as "sensitive" in the API will not 11505// be included in the string output. The member name will be present, but the 11506// value will be replaced with "sensitive". 11507func (s GetStorageLensConfigurationOutput) String() string { 11508 return awsutil.Prettify(s) 11509} 11510 11511// GoString returns the string representation. 11512// 11513// API parameter values that are decorated as "sensitive" in the API will not 11514// be included in the string output. The member name will be present, but the 11515// value will be replaced with "sensitive". 11516func (s GetStorageLensConfigurationOutput) GoString() string { 11517 return s.String() 11518} 11519 11520// SetStorageLensConfiguration sets the StorageLensConfiguration field's value. 11521func (s *GetStorageLensConfigurationOutput) SetStorageLensConfiguration(v *StorageLensConfiguration) *GetStorageLensConfigurationOutput { 11522 s.StorageLensConfiguration = v 11523 return s 11524} 11525 11526type GetStorageLensConfigurationTaggingInput struct { 11527 _ struct{} `locationName:"GetStorageLensConfigurationTaggingRequest" type:"structure"` 11528 11529 // The account ID of the requester. 11530 // 11531 // AccountId is a required field 11532 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 11533 11534 // The ID of the Amazon S3 Storage Lens configuration. 11535 // 11536 // ConfigId is a required field 11537 ConfigId *string `location:"uri" locationName:"storagelensid" min:"1" type:"string" required:"true"` 11538} 11539 11540// String returns the string representation. 11541// 11542// API parameter values that are decorated as "sensitive" in the API will not 11543// be included in the string output. The member name will be present, but the 11544// value will be replaced with "sensitive". 11545func (s GetStorageLensConfigurationTaggingInput) String() string { 11546 return awsutil.Prettify(s) 11547} 11548 11549// GoString returns the string representation. 11550// 11551// API parameter values that are decorated as "sensitive" in the API will not 11552// be included in the string output. The member name will be present, but the 11553// value will be replaced with "sensitive". 11554func (s GetStorageLensConfigurationTaggingInput) GoString() string { 11555 return s.String() 11556} 11557 11558// Validate inspects the fields of the type to determine if they are valid. 11559func (s *GetStorageLensConfigurationTaggingInput) Validate() error { 11560 invalidParams := request.ErrInvalidParams{Context: "GetStorageLensConfigurationTaggingInput"} 11561 if s.AccountId == nil { 11562 invalidParams.Add(request.NewErrParamRequired("AccountId")) 11563 } 11564 if s.AccountId != nil && len(*s.AccountId) < 1 { 11565 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 11566 } 11567 if s.ConfigId == nil { 11568 invalidParams.Add(request.NewErrParamRequired("ConfigId")) 11569 } 11570 if s.ConfigId != nil && len(*s.ConfigId) < 1 { 11571 invalidParams.Add(request.NewErrParamMinLen("ConfigId", 1)) 11572 } 11573 11574 if invalidParams.Len() > 0 { 11575 return invalidParams 11576 } 11577 return nil 11578} 11579 11580// SetAccountId sets the AccountId field's value. 11581func (s *GetStorageLensConfigurationTaggingInput) SetAccountId(v string) *GetStorageLensConfigurationTaggingInput { 11582 s.AccountId = &v 11583 return s 11584} 11585 11586// SetConfigId sets the ConfigId field's value. 11587func (s *GetStorageLensConfigurationTaggingInput) SetConfigId(v string) *GetStorageLensConfigurationTaggingInput { 11588 s.ConfigId = &v 11589 return s 11590} 11591 11592func (s *GetStorageLensConfigurationTaggingInput) hostLabels() map[string]string { 11593 return map[string]string{ 11594 "AccountId": aws.StringValue(s.AccountId), 11595 } 11596} 11597 11598type GetStorageLensConfigurationTaggingOutput struct { 11599 _ struct{} `type:"structure"` 11600 11601 // The tags of S3 Storage Lens configuration requested. 11602 Tags []*StorageLensTag `locationNameList:"Tag" type:"list"` 11603} 11604 11605// String returns the string representation. 11606// 11607// API parameter values that are decorated as "sensitive" in the API will not 11608// be included in the string output. The member name will be present, but the 11609// value will be replaced with "sensitive". 11610func (s GetStorageLensConfigurationTaggingOutput) String() string { 11611 return awsutil.Prettify(s) 11612} 11613 11614// GoString returns the string representation. 11615// 11616// API parameter values that are decorated as "sensitive" in the API will not 11617// be included in the string output. The member name will be present, but the 11618// value will be replaced with "sensitive". 11619func (s GetStorageLensConfigurationTaggingOutput) GoString() string { 11620 return s.String() 11621} 11622 11623// SetTags sets the Tags field's value. 11624func (s *GetStorageLensConfigurationTaggingOutput) SetTags(v []*StorageLensTag) *GetStorageLensConfigurationTaggingOutput { 11625 s.Tags = v 11626 return s 11627} 11628 11629// A container for what Amazon S3 Storage Lens configuration includes. 11630type Include struct { 11631 _ struct{} `type:"structure"` 11632 11633 // A container for the S3 Storage Lens bucket includes. 11634 Buckets []*string `locationNameList:"Arn" type:"list"` 11635 11636 // A container for the S3 Storage Lens Region includes. 11637 Regions []*string `locationNameList:"Region" type:"list"` 11638} 11639 11640// String returns the string representation. 11641// 11642// API parameter values that are decorated as "sensitive" in the API will not 11643// be included in the string output. The member name will be present, but the 11644// value will be replaced with "sensitive". 11645func (s Include) String() string { 11646 return awsutil.Prettify(s) 11647} 11648 11649// GoString returns the string representation. 11650// 11651// API parameter values that are decorated as "sensitive" in the API will not 11652// be included in the string output. The member name will be present, but the 11653// value will be replaced with "sensitive". 11654func (s Include) GoString() string { 11655 return s.String() 11656} 11657 11658// SetBuckets sets the Buckets field's value. 11659func (s *Include) SetBuckets(v []*string) *Include { 11660 s.Buckets = v 11661 return s 11662} 11663 11664// SetRegions sets the Regions field's value. 11665func (s *Include) SetRegions(v []*string) *Include { 11666 s.Regions = v 11667 return s 11668} 11669 11670// A container element for the job configuration and status information returned 11671// by a Describe Job request. 11672type JobDescriptor struct { 11673 _ struct{} `type:"structure"` 11674 11675 // Indicates whether confirmation is required before Amazon S3 begins running 11676 // the specified job. Confirmation is required only for jobs created through 11677 // the Amazon S3 console. 11678 ConfirmationRequired *bool `type:"boolean"` 11679 11680 // A timestamp indicating when this job was created. 11681 CreationTime *time.Time `type:"timestamp"` 11682 11683 // The description for this job, if one was provided in this job's Create Job 11684 // request. 11685 Description *string `min:"1" type:"string"` 11686 11687 // If the specified job failed, this field contains information describing the 11688 // failure. 11689 FailureReasons []*JobFailure `type:"list"` 11690 11691 // The Amazon Resource Name (ARN) for this job. 11692 JobArn *string `min:"1" type:"string"` 11693 11694 // The ID for the specified job. 11695 JobId *string `min:"5" type:"string"` 11696 11697 // The configuration information for the specified job's manifest object. 11698 Manifest *JobManifest `type:"structure"` 11699 11700 // The operation that the specified job is configured to run on the objects 11701 // listed in the manifest. 11702 Operation *JobOperation `type:"structure"` 11703 11704 // The priority of the specified job. 11705 Priority *int64 `type:"integer"` 11706 11707 // Describes the total number of tasks that the specified job has run, the number 11708 // of tasks that succeeded, and the number of tasks that failed. 11709 ProgressSummary *JobProgressSummary `type:"structure"` 11710 11711 // Contains the configuration information for the job-completion report if you 11712 // requested one in the Create Job request. 11713 Report *JobReport `type:"structure"` 11714 11715 // The Amazon Resource Name (ARN) for the Identity and Access Management (IAM) 11716 // role assigned to run the tasks for this job. 11717 RoleArn *string `min:"1" type:"string"` 11718 11719 // The current status of the specified job. 11720 Status *string `type:"string" enum:"JobStatus"` 11721 11722 // The reason for updating the job. 11723 StatusUpdateReason *string `min:"1" type:"string"` 11724 11725 // The reason why the specified job was suspended. A job is only suspended if 11726 // you create it through the Amazon S3 console. When you create the job, it 11727 // enters the Suspended state to await confirmation before running. After you 11728 // confirm the job, it automatically exits the Suspended state. 11729 SuspendedCause *string `min:"1" type:"string"` 11730 11731 // The timestamp when this job was suspended, if it has been suspended. 11732 SuspendedDate *time.Time `type:"timestamp"` 11733 11734 // A timestamp indicating when this job terminated. A job's termination date 11735 // is the date and time when it succeeded, failed, or was canceled. 11736 TerminationDate *time.Time `type:"timestamp"` 11737} 11738 11739// String returns the string representation. 11740// 11741// API parameter values that are decorated as "sensitive" in the API will not 11742// be included in the string output. The member name will be present, but the 11743// value will be replaced with "sensitive". 11744func (s JobDescriptor) String() string { 11745 return awsutil.Prettify(s) 11746} 11747 11748// GoString returns the string representation. 11749// 11750// API parameter values that are decorated as "sensitive" in the API will not 11751// be included in the string output. The member name will be present, but the 11752// value will be replaced with "sensitive". 11753func (s JobDescriptor) GoString() string { 11754 return s.String() 11755} 11756 11757// SetConfirmationRequired sets the ConfirmationRequired field's value. 11758func (s *JobDescriptor) SetConfirmationRequired(v bool) *JobDescriptor { 11759 s.ConfirmationRequired = &v 11760 return s 11761} 11762 11763// SetCreationTime sets the CreationTime field's value. 11764func (s *JobDescriptor) SetCreationTime(v time.Time) *JobDescriptor { 11765 s.CreationTime = &v 11766 return s 11767} 11768 11769// SetDescription sets the Description field's value. 11770func (s *JobDescriptor) SetDescription(v string) *JobDescriptor { 11771 s.Description = &v 11772 return s 11773} 11774 11775// SetFailureReasons sets the FailureReasons field's value. 11776func (s *JobDescriptor) SetFailureReasons(v []*JobFailure) *JobDescriptor { 11777 s.FailureReasons = v 11778 return s 11779} 11780 11781// SetJobArn sets the JobArn field's value. 11782func (s *JobDescriptor) SetJobArn(v string) *JobDescriptor { 11783 s.JobArn = &v 11784 return s 11785} 11786 11787// SetJobId sets the JobId field's value. 11788func (s *JobDescriptor) SetJobId(v string) *JobDescriptor { 11789 s.JobId = &v 11790 return s 11791} 11792 11793// SetManifest sets the Manifest field's value. 11794func (s *JobDescriptor) SetManifest(v *JobManifest) *JobDescriptor { 11795 s.Manifest = v 11796 return s 11797} 11798 11799// SetOperation sets the Operation field's value. 11800func (s *JobDescriptor) SetOperation(v *JobOperation) *JobDescriptor { 11801 s.Operation = v 11802 return s 11803} 11804 11805// SetPriority sets the Priority field's value. 11806func (s *JobDescriptor) SetPriority(v int64) *JobDescriptor { 11807 s.Priority = &v 11808 return s 11809} 11810 11811// SetProgressSummary sets the ProgressSummary field's value. 11812func (s *JobDescriptor) SetProgressSummary(v *JobProgressSummary) *JobDescriptor { 11813 s.ProgressSummary = v 11814 return s 11815} 11816 11817// SetReport sets the Report field's value. 11818func (s *JobDescriptor) SetReport(v *JobReport) *JobDescriptor { 11819 s.Report = v 11820 return s 11821} 11822 11823// SetRoleArn sets the RoleArn field's value. 11824func (s *JobDescriptor) SetRoleArn(v string) *JobDescriptor { 11825 s.RoleArn = &v 11826 return s 11827} 11828 11829// SetStatus sets the Status field's value. 11830func (s *JobDescriptor) SetStatus(v string) *JobDescriptor { 11831 s.Status = &v 11832 return s 11833} 11834 11835// SetStatusUpdateReason sets the StatusUpdateReason field's value. 11836func (s *JobDescriptor) SetStatusUpdateReason(v string) *JobDescriptor { 11837 s.StatusUpdateReason = &v 11838 return s 11839} 11840 11841// SetSuspendedCause sets the SuspendedCause field's value. 11842func (s *JobDescriptor) SetSuspendedCause(v string) *JobDescriptor { 11843 s.SuspendedCause = &v 11844 return s 11845} 11846 11847// SetSuspendedDate sets the SuspendedDate field's value. 11848func (s *JobDescriptor) SetSuspendedDate(v time.Time) *JobDescriptor { 11849 s.SuspendedDate = &v 11850 return s 11851} 11852 11853// SetTerminationDate sets the TerminationDate field's value. 11854func (s *JobDescriptor) SetTerminationDate(v time.Time) *JobDescriptor { 11855 s.TerminationDate = &v 11856 return s 11857} 11858 11859// If this job failed, this element indicates why the job failed. 11860type JobFailure struct { 11861 _ struct{} `type:"structure"` 11862 11863 // The failure code, if any, for the specified job. 11864 FailureCode *string `min:"1" type:"string"` 11865 11866 // The failure reason, if any, for the specified job. 11867 FailureReason *string `min:"1" type:"string"` 11868} 11869 11870// String returns the string representation. 11871// 11872// API parameter values that are decorated as "sensitive" in the API will not 11873// be included in the string output. The member name will be present, but the 11874// value will be replaced with "sensitive". 11875func (s JobFailure) String() string { 11876 return awsutil.Prettify(s) 11877} 11878 11879// GoString returns the string representation. 11880// 11881// API parameter values that are decorated as "sensitive" in the API will not 11882// be included in the string output. The member name will be present, but the 11883// value will be replaced with "sensitive". 11884func (s JobFailure) GoString() string { 11885 return s.String() 11886} 11887 11888// SetFailureCode sets the FailureCode field's value. 11889func (s *JobFailure) SetFailureCode(v string) *JobFailure { 11890 s.FailureCode = &v 11891 return s 11892} 11893 11894// SetFailureReason sets the FailureReason field's value. 11895func (s *JobFailure) SetFailureReason(v string) *JobFailure { 11896 s.FailureReason = &v 11897 return s 11898} 11899 11900// Contains the configuration and status information for a single job retrieved 11901// as part of a job list. 11902type JobListDescriptor struct { 11903 _ struct{} `type:"structure"` 11904 11905 // A timestamp indicating when the specified job was created. 11906 CreationTime *time.Time `type:"timestamp"` 11907 11908 // The user-specified description that was included in the specified job's Create 11909 // Job request. 11910 Description *string `min:"1" type:"string"` 11911 11912 // The ID for the specified job. 11913 JobId *string `min:"5" type:"string"` 11914 11915 // The operation that the specified job is configured to run on every object 11916 // listed in the manifest. 11917 Operation *string `type:"string" enum:"OperationName"` 11918 11919 // The current priority for the specified job. 11920 Priority *int64 `type:"integer"` 11921 11922 // Describes the total number of tasks that the specified job has run, the number 11923 // of tasks that succeeded, and the number of tasks that failed. 11924 ProgressSummary *JobProgressSummary `type:"structure"` 11925 11926 // The specified job's current status. 11927 Status *string `type:"string" enum:"JobStatus"` 11928 11929 // A timestamp indicating when the specified job terminated. A job's termination 11930 // date is the date and time when it succeeded, failed, or was canceled. 11931 TerminationDate *time.Time `type:"timestamp"` 11932} 11933 11934// String returns the string representation. 11935// 11936// API parameter values that are decorated as "sensitive" in the API will not 11937// be included in the string output. The member name will be present, but the 11938// value will be replaced with "sensitive". 11939func (s JobListDescriptor) String() string { 11940 return awsutil.Prettify(s) 11941} 11942 11943// GoString returns the string representation. 11944// 11945// API parameter values that are decorated as "sensitive" in the API will not 11946// be included in the string output. The member name will be present, but the 11947// value will be replaced with "sensitive". 11948func (s JobListDescriptor) GoString() string { 11949 return s.String() 11950} 11951 11952// SetCreationTime sets the CreationTime field's value. 11953func (s *JobListDescriptor) SetCreationTime(v time.Time) *JobListDescriptor { 11954 s.CreationTime = &v 11955 return s 11956} 11957 11958// SetDescription sets the Description field's value. 11959func (s *JobListDescriptor) SetDescription(v string) *JobListDescriptor { 11960 s.Description = &v 11961 return s 11962} 11963 11964// SetJobId sets the JobId field's value. 11965func (s *JobListDescriptor) SetJobId(v string) *JobListDescriptor { 11966 s.JobId = &v 11967 return s 11968} 11969 11970// SetOperation sets the Operation field's value. 11971func (s *JobListDescriptor) SetOperation(v string) *JobListDescriptor { 11972 s.Operation = &v 11973 return s 11974} 11975 11976// SetPriority sets the Priority field's value. 11977func (s *JobListDescriptor) SetPriority(v int64) *JobListDescriptor { 11978 s.Priority = &v 11979 return s 11980} 11981 11982// SetProgressSummary sets the ProgressSummary field's value. 11983func (s *JobListDescriptor) SetProgressSummary(v *JobProgressSummary) *JobListDescriptor { 11984 s.ProgressSummary = v 11985 return s 11986} 11987 11988// SetStatus sets the Status field's value. 11989func (s *JobListDescriptor) SetStatus(v string) *JobListDescriptor { 11990 s.Status = &v 11991 return s 11992} 11993 11994// SetTerminationDate sets the TerminationDate field's value. 11995func (s *JobListDescriptor) SetTerminationDate(v time.Time) *JobListDescriptor { 11996 s.TerminationDate = &v 11997 return s 11998} 11999 12000// Contains the configuration information for a job's manifest. 12001type JobManifest struct { 12002 _ struct{} `type:"structure"` 12003 12004 // Contains the information required to locate the specified job's manifest. 12005 // 12006 // Location is a required field 12007 Location *JobManifestLocation `type:"structure" required:"true"` 12008 12009 // Describes the format of the specified job's manifest. If the manifest is 12010 // in CSV format, also describes the columns contained within the manifest. 12011 // 12012 // Spec is a required field 12013 Spec *JobManifestSpec `type:"structure" required:"true"` 12014} 12015 12016// String returns the string representation. 12017// 12018// API parameter values that are decorated as "sensitive" in the API will not 12019// be included in the string output. The member name will be present, but the 12020// value will be replaced with "sensitive". 12021func (s JobManifest) String() string { 12022 return awsutil.Prettify(s) 12023} 12024 12025// GoString returns the string representation. 12026// 12027// API parameter values that are decorated as "sensitive" in the API will not 12028// be included in the string output. The member name will be present, but the 12029// value will be replaced with "sensitive". 12030func (s JobManifest) GoString() string { 12031 return s.String() 12032} 12033 12034// Validate inspects the fields of the type to determine if they are valid. 12035func (s *JobManifest) Validate() error { 12036 invalidParams := request.ErrInvalidParams{Context: "JobManifest"} 12037 if s.Location == nil { 12038 invalidParams.Add(request.NewErrParamRequired("Location")) 12039 } 12040 if s.Spec == nil { 12041 invalidParams.Add(request.NewErrParamRequired("Spec")) 12042 } 12043 if s.Location != nil { 12044 if err := s.Location.Validate(); err != nil { 12045 invalidParams.AddNested("Location", err.(request.ErrInvalidParams)) 12046 } 12047 } 12048 if s.Spec != nil { 12049 if err := s.Spec.Validate(); err != nil { 12050 invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) 12051 } 12052 } 12053 12054 if invalidParams.Len() > 0 { 12055 return invalidParams 12056 } 12057 return nil 12058} 12059 12060// SetLocation sets the Location field's value. 12061func (s *JobManifest) SetLocation(v *JobManifestLocation) *JobManifest { 12062 s.Location = v 12063 return s 12064} 12065 12066// SetSpec sets the Spec field's value. 12067func (s *JobManifest) SetSpec(v *JobManifestSpec) *JobManifest { 12068 s.Spec = v 12069 return s 12070} 12071 12072// Contains the information required to locate a manifest object. 12073type JobManifestLocation struct { 12074 _ struct{} `type:"structure"` 12075 12076 // The ETag for the specified manifest object. 12077 // 12078 // ETag is a required field 12079 ETag *string `min:"1" type:"string" required:"true"` 12080 12081 // The Amazon Resource Name (ARN) for a manifest object. 12082 // 12083 // Replacement must be made for object keys containing special characters (such 12084 // as carriage returns) when using XML requests. For more information, see XML 12085 // related object key constraints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints). 12086 // 12087 // ObjectArn is a required field 12088 ObjectArn *string `min:"1" type:"string" required:"true"` 12089 12090 // The optional version ID to identify a specific version of the manifest object. 12091 ObjectVersionId *string `min:"1" type:"string"` 12092} 12093 12094// String returns the string representation. 12095// 12096// API parameter values that are decorated as "sensitive" in the API will not 12097// be included in the string output. The member name will be present, but the 12098// value will be replaced with "sensitive". 12099func (s JobManifestLocation) String() string { 12100 return awsutil.Prettify(s) 12101} 12102 12103// GoString returns the string representation. 12104// 12105// API parameter values that are decorated as "sensitive" in the API will not 12106// be included in the string output. The member name will be present, but the 12107// value will be replaced with "sensitive". 12108func (s JobManifestLocation) GoString() string { 12109 return s.String() 12110} 12111 12112// Validate inspects the fields of the type to determine if they are valid. 12113func (s *JobManifestLocation) Validate() error { 12114 invalidParams := request.ErrInvalidParams{Context: "JobManifestLocation"} 12115 if s.ETag == nil { 12116 invalidParams.Add(request.NewErrParamRequired("ETag")) 12117 } 12118 if s.ETag != nil && len(*s.ETag) < 1 { 12119 invalidParams.Add(request.NewErrParamMinLen("ETag", 1)) 12120 } 12121 if s.ObjectArn == nil { 12122 invalidParams.Add(request.NewErrParamRequired("ObjectArn")) 12123 } 12124 if s.ObjectArn != nil && len(*s.ObjectArn) < 1 { 12125 invalidParams.Add(request.NewErrParamMinLen("ObjectArn", 1)) 12126 } 12127 if s.ObjectVersionId != nil && len(*s.ObjectVersionId) < 1 { 12128 invalidParams.Add(request.NewErrParamMinLen("ObjectVersionId", 1)) 12129 } 12130 12131 if invalidParams.Len() > 0 { 12132 return invalidParams 12133 } 12134 return nil 12135} 12136 12137// SetETag sets the ETag field's value. 12138func (s *JobManifestLocation) SetETag(v string) *JobManifestLocation { 12139 s.ETag = &v 12140 return s 12141} 12142 12143// SetObjectArn sets the ObjectArn field's value. 12144func (s *JobManifestLocation) SetObjectArn(v string) *JobManifestLocation { 12145 s.ObjectArn = &v 12146 return s 12147} 12148 12149// SetObjectVersionId sets the ObjectVersionId field's value. 12150func (s *JobManifestLocation) SetObjectVersionId(v string) *JobManifestLocation { 12151 s.ObjectVersionId = &v 12152 return s 12153} 12154 12155// Describes the format of a manifest. If the manifest is in CSV format, also 12156// describes the columns contained within the manifest. 12157type JobManifestSpec struct { 12158 _ struct{} `type:"structure"` 12159 12160 // If the specified manifest object is in the S3BatchOperations_CSV_20180820 12161 // format, this element describes which columns contain the required data. 12162 Fields []*string `type:"list"` 12163 12164 // Indicates which of the available formats the specified manifest uses. 12165 // 12166 // Format is a required field 12167 Format *string `type:"string" required:"true" enum:"JobManifestFormat"` 12168} 12169 12170// String returns the string representation. 12171// 12172// API parameter values that are decorated as "sensitive" in the API will not 12173// be included in the string output. The member name will be present, but the 12174// value will be replaced with "sensitive". 12175func (s JobManifestSpec) String() string { 12176 return awsutil.Prettify(s) 12177} 12178 12179// GoString returns the string representation. 12180// 12181// API parameter values that are decorated as "sensitive" in the API will not 12182// be included in the string output. The member name will be present, but the 12183// value will be replaced with "sensitive". 12184func (s JobManifestSpec) GoString() string { 12185 return s.String() 12186} 12187 12188// Validate inspects the fields of the type to determine if they are valid. 12189func (s *JobManifestSpec) Validate() error { 12190 invalidParams := request.ErrInvalidParams{Context: "JobManifestSpec"} 12191 if s.Format == nil { 12192 invalidParams.Add(request.NewErrParamRequired("Format")) 12193 } 12194 12195 if invalidParams.Len() > 0 { 12196 return invalidParams 12197 } 12198 return nil 12199} 12200 12201// SetFields sets the Fields field's value. 12202func (s *JobManifestSpec) SetFields(v []*string) *JobManifestSpec { 12203 s.Fields = v 12204 return s 12205} 12206 12207// SetFormat sets the Format field's value. 12208func (s *JobManifestSpec) SetFormat(v string) *JobManifestSpec { 12209 s.Format = &v 12210 return s 12211} 12212 12213// The operation that you want this job to perform on every object listed in 12214// the manifest. For more information about the available operations, see Operations 12215// (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-operations.html) 12216// in the Amazon S3 User Guide. 12217type JobOperation struct { 12218 _ struct{} `type:"structure"` 12219 12220 // Directs the specified job to invoke an Lambda function on every object in 12221 // the manifest. 12222 LambdaInvoke *LambdaInvokeOperation `type:"structure"` 12223 12224 // Directs the specified job to execute a DELETE Object tagging call on every 12225 // object in the manifest. 12226 S3DeleteObjectTagging *S3DeleteObjectTaggingOperation `type:"structure"` 12227 12228 // Directs the specified job to initiate restore requests for every archived 12229 // object in the manifest. 12230 S3InitiateRestoreObject *S3InitiateRestoreObjectOperation `type:"structure"` 12231 12232 // Directs the specified job to run a PUT Object acl call on every object in 12233 // the manifest. 12234 S3PutObjectAcl *S3SetObjectAclOperation `type:"structure"` 12235 12236 // Directs the specified job to run a PUT Copy object call on every object in 12237 // the manifest. 12238 S3PutObjectCopy *S3CopyObjectOperation `type:"structure"` 12239 12240 // Contains the configuration for an S3 Object Lock legal hold operation that 12241 // an S3 Batch Operations job passes every object to the underlying PutObjectLegalHold 12242 // API. For more information, see Using S3 Object Lock legal hold with S3 Batch 12243 // Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-legal-hold.html) 12244 // in the Amazon S3 User Guide. 12245 S3PutObjectLegalHold *S3SetObjectLegalHoldOperation `type:"structure"` 12246 12247 // Contains the configuration parameters for the Object Lock retention action 12248 // for an S3 Batch Operations job. Batch Operations passes every object to the 12249 // underlying PutObjectRetention API. For more information, see Using S3 Object 12250 // Lock retention with S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html) 12251 // in the Amazon S3 User Guide. 12252 S3PutObjectRetention *S3SetObjectRetentionOperation `type:"structure"` 12253 12254 // Directs the specified job to run a PUT Object tagging call on every object 12255 // in the manifest. 12256 S3PutObjectTagging *S3SetObjectTaggingOperation `type:"structure"` 12257} 12258 12259// String returns the string representation. 12260// 12261// API parameter values that are decorated as "sensitive" in the API will not 12262// be included in the string output. The member name will be present, but the 12263// value will be replaced with "sensitive". 12264func (s JobOperation) String() string { 12265 return awsutil.Prettify(s) 12266} 12267 12268// GoString returns the string representation. 12269// 12270// API parameter values that are decorated as "sensitive" in the API will not 12271// be included in the string output. The member name will be present, but the 12272// value will be replaced with "sensitive". 12273func (s JobOperation) GoString() string { 12274 return s.String() 12275} 12276 12277// Validate inspects the fields of the type to determine if they are valid. 12278func (s *JobOperation) Validate() error { 12279 invalidParams := request.ErrInvalidParams{Context: "JobOperation"} 12280 if s.LambdaInvoke != nil { 12281 if err := s.LambdaInvoke.Validate(); err != nil { 12282 invalidParams.AddNested("LambdaInvoke", err.(request.ErrInvalidParams)) 12283 } 12284 } 12285 if s.S3PutObjectAcl != nil { 12286 if err := s.S3PutObjectAcl.Validate(); err != nil { 12287 invalidParams.AddNested("S3PutObjectAcl", err.(request.ErrInvalidParams)) 12288 } 12289 } 12290 if s.S3PutObjectCopy != nil { 12291 if err := s.S3PutObjectCopy.Validate(); err != nil { 12292 invalidParams.AddNested("S3PutObjectCopy", err.(request.ErrInvalidParams)) 12293 } 12294 } 12295 if s.S3PutObjectLegalHold != nil { 12296 if err := s.S3PutObjectLegalHold.Validate(); err != nil { 12297 invalidParams.AddNested("S3PutObjectLegalHold", err.(request.ErrInvalidParams)) 12298 } 12299 } 12300 if s.S3PutObjectRetention != nil { 12301 if err := s.S3PutObjectRetention.Validate(); err != nil { 12302 invalidParams.AddNested("S3PutObjectRetention", err.(request.ErrInvalidParams)) 12303 } 12304 } 12305 if s.S3PutObjectTagging != nil { 12306 if err := s.S3PutObjectTagging.Validate(); err != nil { 12307 invalidParams.AddNested("S3PutObjectTagging", err.(request.ErrInvalidParams)) 12308 } 12309 } 12310 12311 if invalidParams.Len() > 0 { 12312 return invalidParams 12313 } 12314 return nil 12315} 12316 12317// SetLambdaInvoke sets the LambdaInvoke field's value. 12318func (s *JobOperation) SetLambdaInvoke(v *LambdaInvokeOperation) *JobOperation { 12319 s.LambdaInvoke = v 12320 return s 12321} 12322 12323// SetS3DeleteObjectTagging sets the S3DeleteObjectTagging field's value. 12324func (s *JobOperation) SetS3DeleteObjectTagging(v *S3DeleteObjectTaggingOperation) *JobOperation { 12325 s.S3DeleteObjectTagging = v 12326 return s 12327} 12328 12329// SetS3InitiateRestoreObject sets the S3InitiateRestoreObject field's value. 12330func (s *JobOperation) SetS3InitiateRestoreObject(v *S3InitiateRestoreObjectOperation) *JobOperation { 12331 s.S3InitiateRestoreObject = v 12332 return s 12333} 12334 12335// SetS3PutObjectAcl sets the S3PutObjectAcl field's value. 12336func (s *JobOperation) SetS3PutObjectAcl(v *S3SetObjectAclOperation) *JobOperation { 12337 s.S3PutObjectAcl = v 12338 return s 12339} 12340 12341// SetS3PutObjectCopy sets the S3PutObjectCopy field's value. 12342func (s *JobOperation) SetS3PutObjectCopy(v *S3CopyObjectOperation) *JobOperation { 12343 s.S3PutObjectCopy = v 12344 return s 12345} 12346 12347// SetS3PutObjectLegalHold sets the S3PutObjectLegalHold field's value. 12348func (s *JobOperation) SetS3PutObjectLegalHold(v *S3SetObjectLegalHoldOperation) *JobOperation { 12349 s.S3PutObjectLegalHold = v 12350 return s 12351} 12352 12353// SetS3PutObjectRetention sets the S3PutObjectRetention field's value. 12354func (s *JobOperation) SetS3PutObjectRetention(v *S3SetObjectRetentionOperation) *JobOperation { 12355 s.S3PutObjectRetention = v 12356 return s 12357} 12358 12359// SetS3PutObjectTagging sets the S3PutObjectTagging field's value. 12360func (s *JobOperation) SetS3PutObjectTagging(v *S3SetObjectTaggingOperation) *JobOperation { 12361 s.S3PutObjectTagging = v 12362 return s 12363} 12364 12365// Describes the total number of tasks that the specified job has started, the 12366// number of tasks that succeeded, and the number of tasks that failed. 12367type JobProgressSummary struct { 12368 _ struct{} `type:"structure"` 12369 12370 NumberOfTasksFailed *int64 `type:"long"` 12371 12372 NumberOfTasksSucceeded *int64 `type:"long"` 12373 12374 TotalNumberOfTasks *int64 `type:"long"` 12375} 12376 12377// String returns the string representation. 12378// 12379// API parameter values that are decorated as "sensitive" in the API will not 12380// be included in the string output. The member name will be present, but the 12381// value will be replaced with "sensitive". 12382func (s JobProgressSummary) String() string { 12383 return awsutil.Prettify(s) 12384} 12385 12386// GoString returns the string representation. 12387// 12388// API parameter values that are decorated as "sensitive" in the API will not 12389// be included in the string output. The member name will be present, but the 12390// value will be replaced with "sensitive". 12391func (s JobProgressSummary) GoString() string { 12392 return s.String() 12393} 12394 12395// SetNumberOfTasksFailed sets the NumberOfTasksFailed field's value. 12396func (s *JobProgressSummary) SetNumberOfTasksFailed(v int64) *JobProgressSummary { 12397 s.NumberOfTasksFailed = &v 12398 return s 12399} 12400 12401// SetNumberOfTasksSucceeded sets the NumberOfTasksSucceeded field's value. 12402func (s *JobProgressSummary) SetNumberOfTasksSucceeded(v int64) *JobProgressSummary { 12403 s.NumberOfTasksSucceeded = &v 12404 return s 12405} 12406 12407// SetTotalNumberOfTasks sets the TotalNumberOfTasks field's value. 12408func (s *JobProgressSummary) SetTotalNumberOfTasks(v int64) *JobProgressSummary { 12409 s.TotalNumberOfTasks = &v 12410 return s 12411} 12412 12413// Contains the configuration parameters for a job-completion report. 12414type JobReport struct { 12415 _ struct{} `type:"structure"` 12416 12417 // The Amazon Resource Name (ARN) for the bucket where specified job-completion 12418 // report will be stored. 12419 Bucket *string `min:"1" type:"string"` 12420 12421 // Indicates whether the specified job will generate a job-completion report. 12422 // 12423 // Enabled is a required field 12424 Enabled *bool `type:"boolean" required:"true"` 12425 12426 // The format of the specified job-completion report. 12427 Format *string `type:"string" enum:"JobReportFormat"` 12428 12429 // An optional prefix to describe where in the specified bucket the job-completion 12430 // report will be stored. Amazon S3 stores the job-completion report at <prefix>/job-<job-id>/report.json. 12431 Prefix *string `min:"1" type:"string"` 12432 12433 // Indicates whether the job-completion report will include details of all tasks 12434 // or only failed tasks. 12435 ReportScope *string `type:"string" enum:"JobReportScope"` 12436} 12437 12438// String returns the string representation. 12439// 12440// API parameter values that are decorated as "sensitive" in the API will not 12441// be included in the string output. The member name will be present, but the 12442// value will be replaced with "sensitive". 12443func (s JobReport) String() string { 12444 return awsutil.Prettify(s) 12445} 12446 12447// GoString returns the string representation. 12448// 12449// API parameter values that are decorated as "sensitive" in the API will not 12450// be included in the string output. The member name will be present, but the 12451// value will be replaced with "sensitive". 12452func (s JobReport) GoString() string { 12453 return s.String() 12454} 12455 12456// Validate inspects the fields of the type to determine if they are valid. 12457func (s *JobReport) Validate() error { 12458 invalidParams := request.ErrInvalidParams{Context: "JobReport"} 12459 if s.Bucket != nil && len(*s.Bucket) < 1 { 12460 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 12461 } 12462 if s.Enabled == nil { 12463 invalidParams.Add(request.NewErrParamRequired("Enabled")) 12464 } 12465 if s.Prefix != nil && len(*s.Prefix) < 1 { 12466 invalidParams.Add(request.NewErrParamMinLen("Prefix", 1)) 12467 } 12468 12469 if invalidParams.Len() > 0 { 12470 return invalidParams 12471 } 12472 return nil 12473} 12474 12475// SetBucket sets the Bucket field's value. 12476func (s *JobReport) SetBucket(v string) *JobReport { 12477 s.Bucket = &v 12478 return s 12479} 12480 12481// SetEnabled sets the Enabled field's value. 12482func (s *JobReport) SetEnabled(v bool) *JobReport { 12483 s.Enabled = &v 12484 return s 12485} 12486 12487// SetFormat sets the Format field's value. 12488func (s *JobReport) SetFormat(v string) *JobReport { 12489 s.Format = &v 12490 return s 12491} 12492 12493// SetPrefix sets the Prefix field's value. 12494func (s *JobReport) SetPrefix(v string) *JobReport { 12495 s.Prefix = &v 12496 return s 12497} 12498 12499// SetReportScope sets the ReportScope field's value. 12500func (s *JobReport) SetReportScope(v string) *JobReport { 12501 s.ReportScope = &v 12502 return s 12503} 12504 12505// Contains the configuration parameters for a Lambda Invoke operation. 12506type LambdaInvokeOperation struct { 12507 _ struct{} `type:"structure"` 12508 12509 // The Amazon Resource Name (ARN) for the Lambda function that the specified 12510 // job will invoke on every object in the manifest. 12511 FunctionArn *string `min:"1" type:"string"` 12512} 12513 12514// String returns the string representation. 12515// 12516// API parameter values that are decorated as "sensitive" in the API will not 12517// be included in the string output. The member name will be present, but the 12518// value will be replaced with "sensitive". 12519func (s LambdaInvokeOperation) String() string { 12520 return awsutil.Prettify(s) 12521} 12522 12523// GoString returns the string representation. 12524// 12525// API parameter values that are decorated as "sensitive" in the API will not 12526// be included in the string output. The member name will be present, but the 12527// value will be replaced with "sensitive". 12528func (s LambdaInvokeOperation) GoString() string { 12529 return s.String() 12530} 12531 12532// Validate inspects the fields of the type to determine if they are valid. 12533func (s *LambdaInvokeOperation) Validate() error { 12534 invalidParams := request.ErrInvalidParams{Context: "LambdaInvokeOperation"} 12535 if s.FunctionArn != nil && len(*s.FunctionArn) < 1 { 12536 invalidParams.Add(request.NewErrParamMinLen("FunctionArn", 1)) 12537 } 12538 12539 if invalidParams.Len() > 0 { 12540 return invalidParams 12541 } 12542 return nil 12543} 12544 12545// SetFunctionArn sets the FunctionArn field's value. 12546func (s *LambdaInvokeOperation) SetFunctionArn(v string) *LambdaInvokeOperation { 12547 s.FunctionArn = &v 12548 return s 12549} 12550 12551// The container for the Outposts bucket lifecycle configuration. 12552type LifecycleConfiguration struct { 12553 _ struct{} `type:"structure"` 12554 12555 // A lifecycle rule for individual objects in an Outposts bucket. 12556 Rules []*LifecycleRule `locationNameList:"Rule" type:"list"` 12557} 12558 12559// String returns the string representation. 12560// 12561// API parameter values that are decorated as "sensitive" in the API will not 12562// be included in the string output. The member name will be present, but the 12563// value will be replaced with "sensitive". 12564func (s LifecycleConfiguration) String() string { 12565 return awsutil.Prettify(s) 12566} 12567 12568// GoString returns the string representation. 12569// 12570// API parameter values that are decorated as "sensitive" in the API will not 12571// be included in the string output. The member name will be present, but the 12572// value will be replaced with "sensitive". 12573func (s LifecycleConfiguration) GoString() string { 12574 return s.String() 12575} 12576 12577// Validate inspects the fields of the type to determine if they are valid. 12578func (s *LifecycleConfiguration) Validate() error { 12579 invalidParams := request.ErrInvalidParams{Context: "LifecycleConfiguration"} 12580 if s.Rules != nil { 12581 for i, v := range s.Rules { 12582 if v == nil { 12583 continue 12584 } 12585 if err := v.Validate(); err != nil { 12586 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams)) 12587 } 12588 } 12589 } 12590 12591 if invalidParams.Len() > 0 { 12592 return invalidParams 12593 } 12594 return nil 12595} 12596 12597// SetRules sets the Rules field's value. 12598func (s *LifecycleConfiguration) SetRules(v []*LifecycleRule) *LifecycleConfiguration { 12599 s.Rules = v 12600 return s 12601} 12602 12603// The container of the Outposts bucket lifecycle expiration. 12604type LifecycleExpiration struct { 12605 _ struct{} `type:"structure"` 12606 12607 // Indicates at what date the object is to be deleted. Should be in GMT ISO 12608 // 8601 format. 12609 Date *time.Time `type:"timestamp"` 12610 12611 // Indicates the lifetime, in days, of the objects that are subject to the rule. 12612 // The value must be a non-zero positive integer. 12613 Days *int64 `type:"integer"` 12614 12615 // Indicates whether Amazon S3 will remove a delete marker with no noncurrent 12616 // versions. If set to true, the delete marker will be expired. If set to false, 12617 // the policy takes no action. This cannot be specified with Days or Date in 12618 // a Lifecycle Expiration Policy. 12619 ExpiredObjectDeleteMarker *bool `type:"boolean"` 12620} 12621 12622// String returns the string representation. 12623// 12624// API parameter values that are decorated as "sensitive" in the API will not 12625// be included in the string output. The member name will be present, but the 12626// value will be replaced with "sensitive". 12627func (s LifecycleExpiration) String() string { 12628 return awsutil.Prettify(s) 12629} 12630 12631// GoString returns the string representation. 12632// 12633// API parameter values that are decorated as "sensitive" in the API will not 12634// be included in the string output. The member name will be present, but the 12635// value will be replaced with "sensitive". 12636func (s LifecycleExpiration) GoString() string { 12637 return s.String() 12638} 12639 12640// SetDate sets the Date field's value. 12641func (s *LifecycleExpiration) SetDate(v time.Time) *LifecycleExpiration { 12642 s.Date = &v 12643 return s 12644} 12645 12646// SetDays sets the Days field's value. 12647func (s *LifecycleExpiration) SetDays(v int64) *LifecycleExpiration { 12648 s.Days = &v 12649 return s 12650} 12651 12652// SetExpiredObjectDeleteMarker sets the ExpiredObjectDeleteMarker field's value. 12653func (s *LifecycleExpiration) SetExpiredObjectDeleteMarker(v bool) *LifecycleExpiration { 12654 s.ExpiredObjectDeleteMarker = &v 12655 return s 12656} 12657 12658// The container for the Outposts bucket lifecycle rule. 12659type LifecycleRule struct { 12660 _ struct{} `type:"structure"` 12661 12662 // Specifies the days since the initiation of an incomplete multipart upload 12663 // that Amazon S3 waits before permanently removing all parts of the upload. 12664 // For more information, see Aborting Incomplete Multipart Uploads Using a Bucket 12665 // Lifecycle Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config) 12666 // in the Amazon S3 User Guide. 12667 AbortIncompleteMultipartUpload *AbortIncompleteMultipartUpload `type:"structure"` 12668 12669 // Specifies the expiration for the lifecycle of the object in the form of date, 12670 // days and, whether the object has a delete marker. 12671 Expiration *LifecycleExpiration `type:"structure"` 12672 12673 // The container for the filter of lifecycle rule. 12674 Filter *LifecycleRuleFilter `type:"structure"` 12675 12676 // Unique identifier for the rule. The value cannot be longer than 255 characters. 12677 ID *string `type:"string"` 12678 12679 // The noncurrent version expiration of the lifecycle rule. 12680 // 12681 // This is not supported by Amazon S3 on Outposts buckets. 12682 NoncurrentVersionExpiration *NoncurrentVersionExpiration `type:"structure"` 12683 12684 // Specifies the transition rule for the lifecycle rule that describes when 12685 // noncurrent objects transition to a specific storage class. If your bucket 12686 // is versioning-enabled (or versioning is suspended), you can set this action 12687 // to request that Amazon S3 transition noncurrent object versions to a specific 12688 // storage class at a set period in the object's lifetime. 12689 // 12690 // This is not supported by Amazon S3 on Outposts buckets. 12691 NoncurrentVersionTransitions []*NoncurrentVersionTransition `locationNameList:"NoncurrentVersionTransition" type:"list"` 12692 12693 // If 'Enabled', the rule is currently being applied. If 'Disabled', the rule 12694 // is not currently being applied. 12695 // 12696 // Status is a required field 12697 Status *string `type:"string" required:"true" enum:"ExpirationStatus"` 12698 12699 // Specifies when an Amazon S3 object transitions to a specified storage class. 12700 // 12701 // This is not supported by Amazon S3 on Outposts buckets. 12702 Transitions []*Transition `locationNameList:"Transition" type:"list"` 12703} 12704 12705// String returns the string representation. 12706// 12707// API parameter values that are decorated as "sensitive" in the API will not 12708// be included in the string output. The member name will be present, but the 12709// value will be replaced with "sensitive". 12710func (s LifecycleRule) String() string { 12711 return awsutil.Prettify(s) 12712} 12713 12714// GoString returns the string representation. 12715// 12716// API parameter values that are decorated as "sensitive" in the API will not 12717// be included in the string output. The member name will be present, but the 12718// value will be replaced with "sensitive". 12719func (s LifecycleRule) GoString() string { 12720 return s.String() 12721} 12722 12723// Validate inspects the fields of the type to determine if they are valid. 12724func (s *LifecycleRule) Validate() error { 12725 invalidParams := request.ErrInvalidParams{Context: "LifecycleRule"} 12726 if s.Status == nil { 12727 invalidParams.Add(request.NewErrParamRequired("Status")) 12728 } 12729 if s.Filter != nil { 12730 if err := s.Filter.Validate(); err != nil { 12731 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 12732 } 12733 } 12734 12735 if invalidParams.Len() > 0 { 12736 return invalidParams 12737 } 12738 return nil 12739} 12740 12741// SetAbortIncompleteMultipartUpload sets the AbortIncompleteMultipartUpload field's value. 12742func (s *LifecycleRule) SetAbortIncompleteMultipartUpload(v *AbortIncompleteMultipartUpload) *LifecycleRule { 12743 s.AbortIncompleteMultipartUpload = v 12744 return s 12745} 12746 12747// SetExpiration sets the Expiration field's value. 12748func (s *LifecycleRule) SetExpiration(v *LifecycleExpiration) *LifecycleRule { 12749 s.Expiration = v 12750 return s 12751} 12752 12753// SetFilter sets the Filter field's value. 12754func (s *LifecycleRule) SetFilter(v *LifecycleRuleFilter) *LifecycleRule { 12755 s.Filter = v 12756 return s 12757} 12758 12759// SetID sets the ID field's value. 12760func (s *LifecycleRule) SetID(v string) *LifecycleRule { 12761 s.ID = &v 12762 return s 12763} 12764 12765// SetNoncurrentVersionExpiration sets the NoncurrentVersionExpiration field's value. 12766func (s *LifecycleRule) SetNoncurrentVersionExpiration(v *NoncurrentVersionExpiration) *LifecycleRule { 12767 s.NoncurrentVersionExpiration = v 12768 return s 12769} 12770 12771// SetNoncurrentVersionTransitions sets the NoncurrentVersionTransitions field's value. 12772func (s *LifecycleRule) SetNoncurrentVersionTransitions(v []*NoncurrentVersionTransition) *LifecycleRule { 12773 s.NoncurrentVersionTransitions = v 12774 return s 12775} 12776 12777// SetStatus sets the Status field's value. 12778func (s *LifecycleRule) SetStatus(v string) *LifecycleRule { 12779 s.Status = &v 12780 return s 12781} 12782 12783// SetTransitions sets the Transitions field's value. 12784func (s *LifecycleRule) SetTransitions(v []*Transition) *LifecycleRule { 12785 s.Transitions = v 12786 return s 12787} 12788 12789// The container for the Outposts bucket lifecycle rule and operator. 12790type LifecycleRuleAndOperator struct { 12791 _ struct{} `type:"structure"` 12792 12793 // Prefix identifying one or more objects to which the rule applies. 12794 Prefix *string `type:"string"` 12795 12796 // All of these tags must exist in the object's tag set in order for the rule 12797 // to apply. 12798 Tags []*S3Tag `type:"list"` 12799} 12800 12801// String returns the string representation. 12802// 12803// API parameter values that are decorated as "sensitive" in the API will not 12804// be included in the string output. The member name will be present, but the 12805// value will be replaced with "sensitive". 12806func (s LifecycleRuleAndOperator) String() string { 12807 return awsutil.Prettify(s) 12808} 12809 12810// GoString returns the string representation. 12811// 12812// API parameter values that are decorated as "sensitive" in the API will not 12813// be included in the string output. The member name will be present, but the 12814// value will be replaced with "sensitive". 12815func (s LifecycleRuleAndOperator) GoString() string { 12816 return s.String() 12817} 12818 12819// Validate inspects the fields of the type to determine if they are valid. 12820func (s *LifecycleRuleAndOperator) Validate() error { 12821 invalidParams := request.ErrInvalidParams{Context: "LifecycleRuleAndOperator"} 12822 if s.Tags != nil { 12823 for i, v := range s.Tags { 12824 if v == nil { 12825 continue 12826 } 12827 if err := v.Validate(); err != nil { 12828 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 12829 } 12830 } 12831 } 12832 12833 if invalidParams.Len() > 0 { 12834 return invalidParams 12835 } 12836 return nil 12837} 12838 12839// SetPrefix sets the Prefix field's value. 12840func (s *LifecycleRuleAndOperator) SetPrefix(v string) *LifecycleRuleAndOperator { 12841 s.Prefix = &v 12842 return s 12843} 12844 12845// SetTags sets the Tags field's value. 12846func (s *LifecycleRuleAndOperator) SetTags(v []*S3Tag) *LifecycleRuleAndOperator { 12847 s.Tags = v 12848 return s 12849} 12850 12851// The container for the filter of the lifecycle rule. 12852type LifecycleRuleFilter struct { 12853 _ struct{} `type:"structure"` 12854 12855 // The container for the AND condition for the lifecycle rule. 12856 And *LifecycleRuleAndOperator `type:"structure"` 12857 12858 // Prefix identifying one or more objects to which the rule applies. 12859 // 12860 // Replacement must be made for object keys containing special characters (such 12861 // as carriage returns) when using XML requests. For more information, see XML 12862 // related object key constraints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints). 12863 Prefix *string `type:"string"` 12864 12865 Tag *S3Tag `type:"structure"` 12866} 12867 12868// String returns the string representation. 12869// 12870// API parameter values that are decorated as "sensitive" in the API will not 12871// be included in the string output. The member name will be present, but the 12872// value will be replaced with "sensitive". 12873func (s LifecycleRuleFilter) String() string { 12874 return awsutil.Prettify(s) 12875} 12876 12877// GoString returns the string representation. 12878// 12879// API parameter values that are decorated as "sensitive" in the API will not 12880// be included in the string output. The member name will be present, but the 12881// value will be replaced with "sensitive". 12882func (s LifecycleRuleFilter) GoString() string { 12883 return s.String() 12884} 12885 12886// Validate inspects the fields of the type to determine if they are valid. 12887func (s *LifecycleRuleFilter) Validate() error { 12888 invalidParams := request.ErrInvalidParams{Context: "LifecycleRuleFilter"} 12889 if s.And != nil { 12890 if err := s.And.Validate(); err != nil { 12891 invalidParams.AddNested("And", err.(request.ErrInvalidParams)) 12892 } 12893 } 12894 if s.Tag != nil { 12895 if err := s.Tag.Validate(); err != nil { 12896 invalidParams.AddNested("Tag", err.(request.ErrInvalidParams)) 12897 } 12898 } 12899 12900 if invalidParams.Len() > 0 { 12901 return invalidParams 12902 } 12903 return nil 12904} 12905 12906// SetAnd sets the And field's value. 12907func (s *LifecycleRuleFilter) SetAnd(v *LifecycleRuleAndOperator) *LifecycleRuleFilter { 12908 s.And = v 12909 return s 12910} 12911 12912// SetPrefix sets the Prefix field's value. 12913func (s *LifecycleRuleFilter) SetPrefix(v string) *LifecycleRuleFilter { 12914 s.Prefix = &v 12915 return s 12916} 12917 12918// SetTag sets the Tag field's value. 12919func (s *LifecycleRuleFilter) SetTag(v *S3Tag) *LifecycleRuleFilter { 12920 s.Tag = v 12921 return s 12922} 12923 12924type ListAccessPointsForObjectLambdaInput struct { 12925 _ struct{} `locationName:"ListAccessPointsForObjectLambdaRequest" type:"structure"` 12926 12927 // The account ID for the account that owns the specified Object Lambda Access 12928 // Point. 12929 // 12930 // AccountId is a required field 12931 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 12932 12933 // The maximum number of access points that you want to include in the list. 12934 // If there are more than this number of access points, then the response will 12935 // include a continuation token in the NextToken field that you can use to retrieve 12936 // the next page of access points. 12937 MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` 12938 12939 // If the list has more access points than can be returned in one call to this 12940 // API, this field contains a continuation token that you can provide in subsequent 12941 // calls to this API to retrieve additional access points. 12942 NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` 12943} 12944 12945// String returns the string representation. 12946// 12947// API parameter values that are decorated as "sensitive" in the API will not 12948// be included in the string output. The member name will be present, but the 12949// value will be replaced with "sensitive". 12950func (s ListAccessPointsForObjectLambdaInput) String() string { 12951 return awsutil.Prettify(s) 12952} 12953 12954// GoString returns the string representation. 12955// 12956// API parameter values that are decorated as "sensitive" in the API will not 12957// be included in the string output. The member name will be present, but the 12958// value will be replaced with "sensitive". 12959func (s ListAccessPointsForObjectLambdaInput) GoString() string { 12960 return s.String() 12961} 12962 12963// Validate inspects the fields of the type to determine if they are valid. 12964func (s *ListAccessPointsForObjectLambdaInput) Validate() error { 12965 invalidParams := request.ErrInvalidParams{Context: "ListAccessPointsForObjectLambdaInput"} 12966 if s.AccountId == nil { 12967 invalidParams.Add(request.NewErrParamRequired("AccountId")) 12968 } 12969 if s.AccountId != nil && len(*s.AccountId) < 1 { 12970 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 12971 } 12972 if s.NextToken != nil && len(*s.NextToken) < 1 { 12973 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 12974 } 12975 12976 if invalidParams.Len() > 0 { 12977 return invalidParams 12978 } 12979 return nil 12980} 12981 12982// SetAccountId sets the AccountId field's value. 12983func (s *ListAccessPointsForObjectLambdaInput) SetAccountId(v string) *ListAccessPointsForObjectLambdaInput { 12984 s.AccountId = &v 12985 return s 12986} 12987 12988// SetMaxResults sets the MaxResults field's value. 12989func (s *ListAccessPointsForObjectLambdaInput) SetMaxResults(v int64) *ListAccessPointsForObjectLambdaInput { 12990 s.MaxResults = &v 12991 return s 12992} 12993 12994// SetNextToken sets the NextToken field's value. 12995func (s *ListAccessPointsForObjectLambdaInput) SetNextToken(v string) *ListAccessPointsForObjectLambdaInput { 12996 s.NextToken = &v 12997 return s 12998} 12999 13000func (s *ListAccessPointsForObjectLambdaInput) hostLabels() map[string]string { 13001 return map[string]string{ 13002 "AccountId": aws.StringValue(s.AccountId), 13003 } 13004} 13005 13006type ListAccessPointsForObjectLambdaOutput struct { 13007 _ struct{} `type:"structure"` 13008 13009 // If the list has more access points than can be returned in one call to this 13010 // API, this field contains a continuation token that you can provide in subsequent 13011 // calls to this API to retrieve additional access points. 13012 NextToken *string `min:"1" type:"string"` 13013 13014 // Returns list of Object Lambda Access Points. 13015 ObjectLambdaAccessPointList []*ObjectLambdaAccessPoint `locationNameList:"ObjectLambdaAccessPoint" type:"list"` 13016} 13017 13018// String returns the string representation. 13019// 13020// API parameter values that are decorated as "sensitive" in the API will not 13021// be included in the string output. The member name will be present, but the 13022// value will be replaced with "sensitive". 13023func (s ListAccessPointsForObjectLambdaOutput) String() string { 13024 return awsutil.Prettify(s) 13025} 13026 13027// GoString returns the string representation. 13028// 13029// API parameter values that are decorated as "sensitive" in the API will not 13030// be included in the string output. The member name will be present, but the 13031// value will be replaced with "sensitive". 13032func (s ListAccessPointsForObjectLambdaOutput) GoString() string { 13033 return s.String() 13034} 13035 13036// SetNextToken sets the NextToken field's value. 13037func (s *ListAccessPointsForObjectLambdaOutput) SetNextToken(v string) *ListAccessPointsForObjectLambdaOutput { 13038 s.NextToken = &v 13039 return s 13040} 13041 13042// SetObjectLambdaAccessPointList sets the ObjectLambdaAccessPointList field's value. 13043func (s *ListAccessPointsForObjectLambdaOutput) SetObjectLambdaAccessPointList(v []*ObjectLambdaAccessPoint) *ListAccessPointsForObjectLambdaOutput { 13044 s.ObjectLambdaAccessPointList = v 13045 return s 13046} 13047 13048type ListAccessPointsInput struct { 13049 _ struct{} `locationName:"ListAccessPointsRequest" type:"structure"` 13050 13051 // The Amazon Web Services account ID for owner of the bucket whose access points 13052 // you want to list. 13053 // 13054 // AccountId is a required field 13055 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 13056 13057 // The name of the bucket whose associated access points you want to list. 13058 // 13059 // For using this parameter with Amazon S3 on Outposts with the REST API, you 13060 // must specify the name and the x-amz-outpost-id as well. 13061 // 13062 // For using this parameter with S3 on Outposts with the Amazon Web Services 13063 // SDK and CLI, you must specify the ARN of the bucket accessed in the format 13064 // arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 13065 // For example, to access the bucket reports through outpost my-outpost owned 13066 // 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. 13067 // The value must be URL encoded. 13068 Bucket *string `location:"querystring" locationName:"bucket" min:"3" type:"string"` 13069 13070 // The maximum number of access points that you want to include in the list. 13071 // If the specified bucket has more than this number of access points, then 13072 // the response will include a continuation token in the NextToken field that 13073 // you can use to retrieve the next page of access points. 13074 MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` 13075 13076 // A continuation token. If a previous call to ListAccessPoints returned a continuation 13077 // token in the NextToken field, then providing that value here causes Amazon 13078 // S3 to retrieve the next page of results. 13079 NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` 13080} 13081 13082// String returns the string representation. 13083// 13084// API parameter values that are decorated as "sensitive" in the API will not 13085// be included in the string output. The member name will be present, but the 13086// value will be replaced with "sensitive". 13087func (s ListAccessPointsInput) String() string { 13088 return awsutil.Prettify(s) 13089} 13090 13091// GoString returns the string representation. 13092// 13093// API parameter values that are decorated as "sensitive" in the API will not 13094// be included in the string output. The member name will be present, but the 13095// value will be replaced with "sensitive". 13096func (s ListAccessPointsInput) GoString() string { 13097 return s.String() 13098} 13099 13100// Validate inspects the fields of the type to determine if they are valid. 13101func (s *ListAccessPointsInput) Validate() error { 13102 invalidParams := request.ErrInvalidParams{Context: "ListAccessPointsInput"} 13103 if s.AccountId == nil { 13104 invalidParams.Add(request.NewErrParamRequired("AccountId")) 13105 } 13106 if s.AccountId != nil && len(*s.AccountId) < 1 { 13107 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 13108 } 13109 if s.Bucket != nil && len(*s.Bucket) < 3 { 13110 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 13111 } 13112 if s.NextToken != nil && len(*s.NextToken) < 1 { 13113 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 13114 } 13115 13116 if invalidParams.Len() > 0 { 13117 return invalidParams 13118 } 13119 return nil 13120} 13121 13122// SetAccountId sets the AccountId field's value. 13123func (s *ListAccessPointsInput) SetAccountId(v string) *ListAccessPointsInput { 13124 s.AccountId = &v 13125 return s 13126} 13127 13128// SetBucket sets the Bucket field's value. 13129func (s *ListAccessPointsInput) SetBucket(v string) *ListAccessPointsInput { 13130 s.Bucket = &v 13131 return s 13132} 13133 13134// SetMaxResults sets the MaxResults field's value. 13135func (s *ListAccessPointsInput) SetMaxResults(v int64) *ListAccessPointsInput { 13136 s.MaxResults = &v 13137 return s 13138} 13139 13140// SetNextToken sets the NextToken field's value. 13141func (s *ListAccessPointsInput) SetNextToken(v string) *ListAccessPointsInput { 13142 s.NextToken = &v 13143 return s 13144} 13145 13146func (s *ListAccessPointsInput) hostLabels() map[string]string { 13147 return map[string]string{ 13148 "AccountId": aws.StringValue(s.AccountId), 13149 } 13150} 13151 13152func (s *ListAccessPointsInput) getEndpointARN() (arn.Resource, error) { 13153 if s.Bucket == nil { 13154 return nil, fmt.Errorf("member Bucket is nil") 13155 } 13156 return parseEndpointARN(*s.Bucket) 13157} 13158 13159func (s *ListAccessPointsInput) hasEndpointARN() bool { 13160 if s.Bucket == nil { 13161 return false 13162 } 13163 return arn.IsARN(*s.Bucket) 13164} 13165 13166// updateArnableField updates the value of the input field that 13167// takes an ARN as an input. This method is useful to backfill 13168// the parsed resource name from ARN into the input member. 13169// It returns a pointer to a modified copy of input and an error. 13170// Note that original input is not modified. 13171func (s ListAccessPointsInput) updateArnableField(v string) (interface{}, error) { 13172 if s.Bucket == nil { 13173 return nil, fmt.Errorf("member Bucket is nil") 13174 } 13175 s.Bucket = aws.String(v) 13176 return &s, nil 13177} 13178 13179// updateAccountID returns a pointer to a modified copy of input, 13180// if account id is not provided, we update the account id in modified input 13181// if account id is provided, but doesn't match with the one in ARN, we throw an error 13182// if account id is not updated, we return nil. Note that original input is not modified. 13183func (s ListAccessPointsInput) updateAccountID(accountId string) (interface{}, error) { 13184 if s.AccountId == nil { 13185 s.AccountId = aws.String(accountId) 13186 return &s, nil 13187 } else if *s.AccountId != accountId { 13188 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 13189 } 13190 return nil, nil 13191} 13192 13193type ListAccessPointsOutput struct { 13194 _ struct{} `type:"structure"` 13195 13196 // Contains identification and configuration information for one or more access 13197 // points associated with the specified bucket. 13198 AccessPointList []*AccessPoint `locationNameList:"AccessPoint" type:"list"` 13199 13200 // If the specified bucket has more access points than can be returned in one 13201 // call to this API, this field contains a continuation token that you can provide 13202 // in subsequent calls to this API to retrieve additional access points. 13203 NextToken *string `min:"1" type:"string"` 13204} 13205 13206// String returns the string representation. 13207// 13208// API parameter values that are decorated as "sensitive" in the API will not 13209// be included in the string output. The member name will be present, but the 13210// value will be replaced with "sensitive". 13211func (s ListAccessPointsOutput) String() string { 13212 return awsutil.Prettify(s) 13213} 13214 13215// GoString returns the string representation. 13216// 13217// API parameter values that are decorated as "sensitive" in the API will not 13218// be included in the string output. The member name will be present, but the 13219// value will be replaced with "sensitive". 13220func (s ListAccessPointsOutput) GoString() string { 13221 return s.String() 13222} 13223 13224// SetAccessPointList sets the AccessPointList field's value. 13225func (s *ListAccessPointsOutput) SetAccessPointList(v []*AccessPoint) *ListAccessPointsOutput { 13226 s.AccessPointList = v 13227 return s 13228} 13229 13230// SetNextToken sets the NextToken field's value. 13231func (s *ListAccessPointsOutput) SetNextToken(v string) *ListAccessPointsOutput { 13232 s.NextToken = &v 13233 return s 13234} 13235 13236type ListJobsInput struct { 13237 _ struct{} `locationName:"ListJobsRequest" type:"structure"` 13238 13239 // The Amazon Web Services account ID associated with the S3 Batch Operations 13240 // job. 13241 // 13242 // AccountId is a required field 13243 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 13244 13245 // The List Jobs request returns jobs that match the statuses listed in this 13246 // element. 13247 JobStatuses []*string `location:"querystring" locationName:"jobStatuses" type:"list"` 13248 13249 // The maximum number of jobs that Amazon S3 will include in the List Jobs response. 13250 // If there are more jobs than this number, the response will include a pagination 13251 // token in the NextToken field to enable you to retrieve the next page of results. 13252 MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` 13253 13254 // A pagination token to request the next page of results. Use the token that 13255 // Amazon S3 returned in the NextToken element of the ListJobsResult from the 13256 // previous List Jobs request. 13257 NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` 13258} 13259 13260// String returns the string representation. 13261// 13262// API parameter values that are decorated as "sensitive" in the API will not 13263// be included in the string output. The member name will be present, but the 13264// value will be replaced with "sensitive". 13265func (s ListJobsInput) String() string { 13266 return awsutil.Prettify(s) 13267} 13268 13269// GoString returns the string representation. 13270// 13271// API parameter values that are decorated as "sensitive" in the API will not 13272// be included in the string output. The member name will be present, but the 13273// value will be replaced with "sensitive". 13274func (s ListJobsInput) GoString() string { 13275 return s.String() 13276} 13277 13278// Validate inspects the fields of the type to determine if they are valid. 13279func (s *ListJobsInput) Validate() error { 13280 invalidParams := request.ErrInvalidParams{Context: "ListJobsInput"} 13281 if s.AccountId == nil { 13282 invalidParams.Add(request.NewErrParamRequired("AccountId")) 13283 } 13284 if s.AccountId != nil && len(*s.AccountId) < 1 { 13285 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 13286 } 13287 if s.NextToken != nil && len(*s.NextToken) < 1 { 13288 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 13289 } 13290 13291 if invalidParams.Len() > 0 { 13292 return invalidParams 13293 } 13294 return nil 13295} 13296 13297// SetAccountId sets the AccountId field's value. 13298func (s *ListJobsInput) SetAccountId(v string) *ListJobsInput { 13299 s.AccountId = &v 13300 return s 13301} 13302 13303// SetJobStatuses sets the JobStatuses field's value. 13304func (s *ListJobsInput) SetJobStatuses(v []*string) *ListJobsInput { 13305 s.JobStatuses = v 13306 return s 13307} 13308 13309// SetMaxResults sets the MaxResults field's value. 13310func (s *ListJobsInput) SetMaxResults(v int64) *ListJobsInput { 13311 s.MaxResults = &v 13312 return s 13313} 13314 13315// SetNextToken sets the NextToken field's value. 13316func (s *ListJobsInput) SetNextToken(v string) *ListJobsInput { 13317 s.NextToken = &v 13318 return s 13319} 13320 13321func (s *ListJobsInput) hostLabels() map[string]string { 13322 return map[string]string{ 13323 "AccountId": aws.StringValue(s.AccountId), 13324 } 13325} 13326 13327type ListJobsOutput struct { 13328 _ struct{} `type:"structure"` 13329 13330 // The list of current jobs and jobs that have ended within the last 30 days. 13331 Jobs []*JobListDescriptor `type:"list"` 13332 13333 // If the List Jobs request produced more than the maximum number of results, 13334 // you can pass this value into a subsequent List Jobs request in order to retrieve 13335 // the next page of results. 13336 NextToken *string `min:"1" type:"string"` 13337} 13338 13339// String returns the string representation. 13340// 13341// API parameter values that are decorated as "sensitive" in the API will not 13342// be included in the string output. The member name will be present, but the 13343// value will be replaced with "sensitive". 13344func (s ListJobsOutput) String() string { 13345 return awsutil.Prettify(s) 13346} 13347 13348// GoString returns the string representation. 13349// 13350// API parameter values that are decorated as "sensitive" in the API will not 13351// be included in the string output. The member name will be present, but the 13352// value will be replaced with "sensitive". 13353func (s ListJobsOutput) GoString() string { 13354 return s.String() 13355} 13356 13357// SetJobs sets the Jobs field's value. 13358func (s *ListJobsOutput) SetJobs(v []*JobListDescriptor) *ListJobsOutput { 13359 s.Jobs = v 13360 return s 13361} 13362 13363// SetNextToken sets the NextToken field's value. 13364func (s *ListJobsOutput) SetNextToken(v string) *ListJobsOutput { 13365 s.NextToken = &v 13366 return s 13367} 13368 13369type ListMultiRegionAccessPointsInput struct { 13370 _ struct{} `locationName:"ListMultiRegionAccessPointsRequest" type:"structure"` 13371 13372 // The Amazon Web Services account ID for the owner of the Multi-Region Access 13373 // Point. 13374 // 13375 // AccountId is a required field 13376 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 13377 13378 // Not currently used. Do not use this parameter. 13379 MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` 13380 13381 // Not currently used. Do not use this parameter. 13382 NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` 13383} 13384 13385// String returns the string representation. 13386// 13387// API parameter values that are decorated as "sensitive" in the API will not 13388// be included in the string output. The member name will be present, but the 13389// value will be replaced with "sensitive". 13390func (s ListMultiRegionAccessPointsInput) String() string { 13391 return awsutil.Prettify(s) 13392} 13393 13394// GoString returns the string representation. 13395// 13396// API parameter values that are decorated as "sensitive" in the API will not 13397// be included in the string output. The member name will be present, but the 13398// value will be replaced with "sensitive". 13399func (s ListMultiRegionAccessPointsInput) GoString() string { 13400 return s.String() 13401} 13402 13403// Validate inspects the fields of the type to determine if they are valid. 13404func (s *ListMultiRegionAccessPointsInput) Validate() error { 13405 invalidParams := request.ErrInvalidParams{Context: "ListMultiRegionAccessPointsInput"} 13406 if s.AccountId == nil { 13407 invalidParams.Add(request.NewErrParamRequired("AccountId")) 13408 } 13409 if s.AccountId != nil && len(*s.AccountId) < 1 { 13410 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 13411 } 13412 if s.NextToken != nil && len(*s.NextToken) < 1 { 13413 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 13414 } 13415 13416 if invalidParams.Len() > 0 { 13417 return invalidParams 13418 } 13419 return nil 13420} 13421 13422// SetAccountId sets the AccountId field's value. 13423func (s *ListMultiRegionAccessPointsInput) SetAccountId(v string) *ListMultiRegionAccessPointsInput { 13424 s.AccountId = &v 13425 return s 13426} 13427 13428// SetMaxResults sets the MaxResults field's value. 13429func (s *ListMultiRegionAccessPointsInput) SetMaxResults(v int64) *ListMultiRegionAccessPointsInput { 13430 s.MaxResults = &v 13431 return s 13432} 13433 13434// SetNextToken sets the NextToken field's value. 13435func (s *ListMultiRegionAccessPointsInput) SetNextToken(v string) *ListMultiRegionAccessPointsInput { 13436 s.NextToken = &v 13437 return s 13438} 13439 13440func (s *ListMultiRegionAccessPointsInput) hostLabels() map[string]string { 13441 return map[string]string{ 13442 "AccountId": aws.StringValue(s.AccountId), 13443 } 13444} 13445 13446type ListMultiRegionAccessPointsOutput struct { 13447 _ struct{} `type:"structure"` 13448 13449 // The list of Multi-Region Access Points associated with the user. 13450 AccessPoints []*MultiRegionAccessPointReport `locationNameList:"AccessPoint" type:"list"` 13451 13452 // If the specified bucket has more Multi-Region Access Points than can be returned 13453 // in one call to this action, this field contains a continuation token. You 13454 // can use this token tin subsequent calls to this action to retrieve additional 13455 // Multi-Region Access Points. 13456 NextToken *string `min:"1" type:"string"` 13457} 13458 13459// String returns the string representation. 13460// 13461// API parameter values that are decorated as "sensitive" in the API will not 13462// be included in the string output. The member name will be present, but the 13463// value will be replaced with "sensitive". 13464func (s ListMultiRegionAccessPointsOutput) String() string { 13465 return awsutil.Prettify(s) 13466} 13467 13468// GoString returns the string representation. 13469// 13470// API parameter values that are decorated as "sensitive" in the API will not 13471// be included in the string output. The member name will be present, but the 13472// value will be replaced with "sensitive". 13473func (s ListMultiRegionAccessPointsOutput) GoString() string { 13474 return s.String() 13475} 13476 13477// SetAccessPoints sets the AccessPoints field's value. 13478func (s *ListMultiRegionAccessPointsOutput) SetAccessPoints(v []*MultiRegionAccessPointReport) *ListMultiRegionAccessPointsOutput { 13479 s.AccessPoints = v 13480 return s 13481} 13482 13483// SetNextToken sets the NextToken field's value. 13484func (s *ListMultiRegionAccessPointsOutput) SetNextToken(v string) *ListMultiRegionAccessPointsOutput { 13485 s.NextToken = &v 13486 return s 13487} 13488 13489type ListRegionalBucketsInput struct { 13490 _ struct{} `locationName:"ListRegionalBucketsRequest" type:"structure"` 13491 13492 // The Amazon Web Services account ID of the Outposts bucket. 13493 // 13494 // AccountId is a required field 13495 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 13496 13497 MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` 13498 13499 NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` 13500 13501 // The ID of the Outposts. 13502 // 13503 // This is required by Amazon S3 on Outposts buckets. 13504 OutpostId *string `location:"header" locationName:"x-amz-outpost-id" min:"1" type:"string"` 13505} 13506 13507// String returns the string representation. 13508// 13509// API parameter values that are decorated as "sensitive" in the API will not 13510// be included in the string output. The member name will be present, but the 13511// value will be replaced with "sensitive". 13512func (s ListRegionalBucketsInput) String() string { 13513 return awsutil.Prettify(s) 13514} 13515 13516// GoString returns the string representation. 13517// 13518// API parameter values that are decorated as "sensitive" in the API will not 13519// be included in the string output. The member name will be present, but the 13520// value will be replaced with "sensitive". 13521func (s ListRegionalBucketsInput) GoString() string { 13522 return s.String() 13523} 13524 13525// Validate inspects the fields of the type to determine if they are valid. 13526func (s *ListRegionalBucketsInput) Validate() error { 13527 invalidParams := request.ErrInvalidParams{Context: "ListRegionalBucketsInput"} 13528 if s.AccountId == nil { 13529 invalidParams.Add(request.NewErrParamRequired("AccountId")) 13530 } 13531 if s.AccountId != nil && len(*s.AccountId) < 1 { 13532 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 13533 } 13534 if s.NextToken != nil && len(*s.NextToken) < 1 { 13535 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 13536 } 13537 if s.OutpostId != nil && len(*s.OutpostId) < 1 { 13538 invalidParams.Add(request.NewErrParamMinLen("OutpostId", 1)) 13539 } 13540 13541 if invalidParams.Len() > 0 { 13542 return invalidParams 13543 } 13544 return nil 13545} 13546 13547// SetAccountId sets the AccountId field's value. 13548func (s *ListRegionalBucketsInput) SetAccountId(v string) *ListRegionalBucketsInput { 13549 s.AccountId = &v 13550 return s 13551} 13552 13553// SetMaxResults sets the MaxResults field's value. 13554func (s *ListRegionalBucketsInput) SetMaxResults(v int64) *ListRegionalBucketsInput { 13555 s.MaxResults = &v 13556 return s 13557} 13558 13559// SetNextToken sets the NextToken field's value. 13560func (s *ListRegionalBucketsInput) SetNextToken(v string) *ListRegionalBucketsInput { 13561 s.NextToken = &v 13562 return s 13563} 13564 13565// SetOutpostId sets the OutpostId field's value. 13566func (s *ListRegionalBucketsInput) SetOutpostId(v string) *ListRegionalBucketsInput { 13567 s.OutpostId = &v 13568 return s 13569} 13570 13571func (s *ListRegionalBucketsInput) hostLabels() map[string]string { 13572 return map[string]string{ 13573 "AccountId": aws.StringValue(s.AccountId), 13574 } 13575} 13576 13577func (s *ListRegionalBucketsInput) getOutpostID() (string, error) { 13578 if s.OutpostId == nil { 13579 return "", fmt.Errorf("member OutpostId is nil") 13580 } 13581 return *s.OutpostId, nil 13582} 13583 13584func (s *ListRegionalBucketsInput) hasOutpostID() bool { 13585 if s.OutpostId == nil { 13586 return false 13587 } 13588 return true 13589} 13590 13591type ListRegionalBucketsOutput struct { 13592 _ struct{} `type:"structure"` 13593 13594 // NextToken is sent when isTruncated is true, which means there are more buckets 13595 // that can be listed. The next list requests to Amazon S3 can be continued 13596 // with this NextToken. NextToken is obfuscated and is not a real key. 13597 NextToken *string `min:"1" type:"string"` 13598 13599 RegionalBucketList []*RegionalBucket `locationNameList:"RegionalBucket" type:"list"` 13600} 13601 13602// String returns the string representation. 13603// 13604// API parameter values that are decorated as "sensitive" in the API will not 13605// be included in the string output. The member name will be present, but the 13606// value will be replaced with "sensitive". 13607func (s ListRegionalBucketsOutput) String() string { 13608 return awsutil.Prettify(s) 13609} 13610 13611// GoString returns the string representation. 13612// 13613// API parameter values that are decorated as "sensitive" in the API will not 13614// be included in the string output. The member name will be present, but the 13615// value will be replaced with "sensitive". 13616func (s ListRegionalBucketsOutput) GoString() string { 13617 return s.String() 13618} 13619 13620// SetNextToken sets the NextToken field's value. 13621func (s *ListRegionalBucketsOutput) SetNextToken(v string) *ListRegionalBucketsOutput { 13622 s.NextToken = &v 13623 return s 13624} 13625 13626// SetRegionalBucketList sets the RegionalBucketList field's value. 13627func (s *ListRegionalBucketsOutput) SetRegionalBucketList(v []*RegionalBucket) *ListRegionalBucketsOutput { 13628 s.RegionalBucketList = v 13629 return s 13630} 13631 13632// Part of ListStorageLensConfigurationResult. Each entry includes the description 13633// of the S3 Storage Lens configuration, its home Region, whether it is enabled, 13634// its Amazon Resource Name (ARN), and config ID. 13635type ListStorageLensConfigurationEntry struct { 13636 _ struct{} `type:"structure"` 13637 13638 // A container for the S3 Storage Lens home Region. Your metrics data is stored 13639 // and retained in your designated S3 Storage Lens home Region. 13640 // 13641 // HomeRegion is a required field 13642 HomeRegion *string `min:"5" type:"string" required:"true"` 13643 13644 // A container for the S3 Storage Lens configuration ID. 13645 // 13646 // Id is a required field 13647 Id *string `min:"1" type:"string" required:"true"` 13648 13649 // A container for whether the S3 Storage Lens configuration is enabled. This 13650 // property is required. 13651 IsEnabled *bool `type:"boolean"` 13652 13653 // The ARN of the S3 Storage Lens configuration. This property is read-only. 13654 // 13655 // StorageLensArn is a required field 13656 StorageLensArn *string `min:"1" type:"string" required:"true"` 13657} 13658 13659// String returns the string representation. 13660// 13661// API parameter values that are decorated as "sensitive" in the API will not 13662// be included in the string output. The member name will be present, but the 13663// value will be replaced with "sensitive". 13664func (s ListStorageLensConfigurationEntry) String() string { 13665 return awsutil.Prettify(s) 13666} 13667 13668// GoString returns the string representation. 13669// 13670// API parameter values that are decorated as "sensitive" in the API will not 13671// be included in the string output. The member name will be present, but the 13672// value will be replaced with "sensitive". 13673func (s ListStorageLensConfigurationEntry) GoString() string { 13674 return s.String() 13675} 13676 13677// SetHomeRegion sets the HomeRegion field's value. 13678func (s *ListStorageLensConfigurationEntry) SetHomeRegion(v string) *ListStorageLensConfigurationEntry { 13679 s.HomeRegion = &v 13680 return s 13681} 13682 13683// SetId sets the Id field's value. 13684func (s *ListStorageLensConfigurationEntry) SetId(v string) *ListStorageLensConfigurationEntry { 13685 s.Id = &v 13686 return s 13687} 13688 13689// SetIsEnabled sets the IsEnabled field's value. 13690func (s *ListStorageLensConfigurationEntry) SetIsEnabled(v bool) *ListStorageLensConfigurationEntry { 13691 s.IsEnabled = &v 13692 return s 13693} 13694 13695// SetStorageLensArn sets the StorageLensArn field's value. 13696func (s *ListStorageLensConfigurationEntry) SetStorageLensArn(v string) *ListStorageLensConfigurationEntry { 13697 s.StorageLensArn = &v 13698 return s 13699} 13700 13701type ListStorageLensConfigurationsInput struct { 13702 _ struct{} `locationName:"ListStorageLensConfigurationsRequest" type:"structure"` 13703 13704 // The account ID of the requester. 13705 // 13706 // AccountId is a required field 13707 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 13708 13709 // A pagination token to request the next page of results. 13710 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 13711} 13712 13713// String returns the string representation. 13714// 13715// API parameter values that are decorated as "sensitive" in the API will not 13716// be included in the string output. The member name will be present, but the 13717// value will be replaced with "sensitive". 13718func (s ListStorageLensConfigurationsInput) String() string { 13719 return awsutil.Prettify(s) 13720} 13721 13722// GoString returns the string representation. 13723// 13724// API parameter values that are decorated as "sensitive" in the API will not 13725// be included in the string output. The member name will be present, but the 13726// value will be replaced with "sensitive". 13727func (s ListStorageLensConfigurationsInput) GoString() string { 13728 return s.String() 13729} 13730 13731// Validate inspects the fields of the type to determine if they are valid. 13732func (s *ListStorageLensConfigurationsInput) Validate() error { 13733 invalidParams := request.ErrInvalidParams{Context: "ListStorageLensConfigurationsInput"} 13734 if s.AccountId == nil { 13735 invalidParams.Add(request.NewErrParamRequired("AccountId")) 13736 } 13737 if s.AccountId != nil && len(*s.AccountId) < 1 { 13738 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 13739 } 13740 13741 if invalidParams.Len() > 0 { 13742 return invalidParams 13743 } 13744 return nil 13745} 13746 13747// SetAccountId sets the AccountId field's value. 13748func (s *ListStorageLensConfigurationsInput) SetAccountId(v string) *ListStorageLensConfigurationsInput { 13749 s.AccountId = &v 13750 return s 13751} 13752 13753// SetNextToken sets the NextToken field's value. 13754func (s *ListStorageLensConfigurationsInput) SetNextToken(v string) *ListStorageLensConfigurationsInput { 13755 s.NextToken = &v 13756 return s 13757} 13758 13759func (s *ListStorageLensConfigurationsInput) hostLabels() map[string]string { 13760 return map[string]string{ 13761 "AccountId": aws.StringValue(s.AccountId), 13762 } 13763} 13764 13765type ListStorageLensConfigurationsOutput struct { 13766 _ struct{} `type:"structure"` 13767 13768 // If the request produced more than the maximum number of S3 Storage Lens configuration 13769 // results, you can pass this value into a subsequent request to retrieve the 13770 // next page of results. 13771 NextToken *string `type:"string"` 13772 13773 // A list of S3 Storage Lens configurations. 13774 StorageLensConfigurationList []*ListStorageLensConfigurationEntry `locationNameList:"StorageLensConfiguration" type:"list" flattened:"true"` 13775} 13776 13777// String returns the string representation. 13778// 13779// API parameter values that are decorated as "sensitive" in the API will not 13780// be included in the string output. The member name will be present, but the 13781// value will be replaced with "sensitive". 13782func (s ListStorageLensConfigurationsOutput) String() string { 13783 return awsutil.Prettify(s) 13784} 13785 13786// GoString returns the string representation. 13787// 13788// API parameter values that are decorated as "sensitive" in the API will not 13789// be included in the string output. The member name will be present, but the 13790// value will be replaced with "sensitive". 13791func (s ListStorageLensConfigurationsOutput) GoString() string { 13792 return s.String() 13793} 13794 13795// SetNextToken sets the NextToken field's value. 13796func (s *ListStorageLensConfigurationsOutput) SetNextToken(v string) *ListStorageLensConfigurationsOutput { 13797 s.NextToken = &v 13798 return s 13799} 13800 13801// SetStorageLensConfigurationList sets the StorageLensConfigurationList field's value. 13802func (s *ListStorageLensConfigurationsOutput) SetStorageLensConfigurationList(v []*ListStorageLensConfigurationEntry) *ListStorageLensConfigurationsOutput { 13803 s.StorageLensConfigurationList = v 13804 return s 13805} 13806 13807// The Multi-Region Access Point access control policy. 13808// 13809// When you update the policy, the update is first listed as the proposed policy. 13810// After the update is finished and all Regions have been updated, the proposed 13811// policy is listed as the established policy. If both policies have the same 13812// version number, the proposed policy is the established policy. 13813type MultiRegionAccessPointPolicyDocument struct { 13814 _ struct{} `type:"structure"` 13815 13816 // The last established policy for the Multi-Region Access Point. 13817 Established *EstablishedMultiRegionAccessPointPolicy `type:"structure"` 13818 13819 // The proposed policy for the Multi-Region Access Point. 13820 Proposed *ProposedMultiRegionAccessPointPolicy `type:"structure"` 13821} 13822 13823// String returns the string representation. 13824// 13825// API parameter values that are decorated as "sensitive" in the API will not 13826// be included in the string output. The member name will be present, but the 13827// value will be replaced with "sensitive". 13828func (s MultiRegionAccessPointPolicyDocument) String() string { 13829 return awsutil.Prettify(s) 13830} 13831 13832// GoString returns the string representation. 13833// 13834// API parameter values that are decorated as "sensitive" in the API will not 13835// be included in the string output. The member name will be present, but the 13836// value will be replaced with "sensitive". 13837func (s MultiRegionAccessPointPolicyDocument) GoString() string { 13838 return s.String() 13839} 13840 13841// SetEstablished sets the Established field's value. 13842func (s *MultiRegionAccessPointPolicyDocument) SetEstablished(v *EstablishedMultiRegionAccessPointPolicy) *MultiRegionAccessPointPolicyDocument { 13843 s.Established = v 13844 return s 13845} 13846 13847// SetProposed sets the Proposed field's value. 13848func (s *MultiRegionAccessPointPolicyDocument) SetProposed(v *ProposedMultiRegionAccessPointPolicy) *MultiRegionAccessPointPolicyDocument { 13849 s.Proposed = v 13850 return s 13851} 13852 13853// Status information for a single Multi-Region Access Point Region. 13854type MultiRegionAccessPointRegionalResponse struct { 13855 _ struct{} `type:"structure"` 13856 13857 // The name of the Region in the Multi-Region Access Point. 13858 Name *string `min:"1" type:"string"` 13859 13860 // The current status of the Multi-Region Access Point in this Region. 13861 RequestStatus *string `type:"string"` 13862} 13863 13864// String returns the string representation. 13865// 13866// API parameter values that are decorated as "sensitive" in the API will not 13867// be included in the string output. The member name will be present, but the 13868// value will be replaced with "sensitive". 13869func (s MultiRegionAccessPointRegionalResponse) String() string { 13870 return awsutil.Prettify(s) 13871} 13872 13873// GoString returns the string representation. 13874// 13875// API parameter values that are decorated as "sensitive" in the API will not 13876// be included in the string output. The member name will be present, but the 13877// value will be replaced with "sensitive". 13878func (s MultiRegionAccessPointRegionalResponse) GoString() string { 13879 return s.String() 13880} 13881 13882// SetName sets the Name field's value. 13883func (s *MultiRegionAccessPointRegionalResponse) SetName(v string) *MultiRegionAccessPointRegionalResponse { 13884 s.Name = &v 13885 return s 13886} 13887 13888// SetRequestStatus sets the RequestStatus field's value. 13889func (s *MultiRegionAccessPointRegionalResponse) SetRequestStatus(v string) *MultiRegionAccessPointRegionalResponse { 13890 s.RequestStatus = &v 13891 return s 13892} 13893 13894// A collection of statuses for a Multi-Region Access Point in the various Regions 13895// it supports. 13896type MultiRegionAccessPointReport struct { 13897 _ struct{} `type:"structure"` 13898 13899 // The alias for the Multi-Region Access Point. For more information about the 13900 // distinction between the name and the alias of an Multi-Region Access Point, 13901 // see Managing Multi-Region Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/CreatingMultiRegionAccessPoints.html#multi-region-access-point-naming). 13902 Alias *string `type:"string"` 13903 13904 // When the Multi-Region Access Point create request was received. 13905 CreatedAt *time.Time `type:"timestamp"` 13906 13907 // The name of the Multi-Region Access Point. 13908 Name *string `type:"string"` 13909 13910 // The PublicAccessBlock configuration that you want to apply to this Amazon 13911 // S3 account. You can enable the configuration options in any combination. 13912 // For more information about when Amazon S3 considers a bucket or object public, 13913 // 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) 13914 // in the Amazon S3 User Guide. 13915 // 13916 // This is not supported for Amazon S3 on Outposts. 13917 PublicAccessBlock *PublicAccessBlockConfiguration `type:"structure"` 13918 13919 // A collection of the Regions and buckets associated with the Multi-Region 13920 // Access Point. 13921 Regions []*RegionReport `locationNameList:"Region" type:"list"` 13922 13923 // The current status of the Multi-Region Access Point. 13924 // 13925 // CREATING and DELETING are temporary states that exist while the request is 13926 // propogating and being completed. If a Multi-Region Access Point has a status 13927 // of PARTIALLY_CREATED, you can retry creation or send a request to delete 13928 // the Multi-Region Access Point. If a Multi-Region Access Point has a status 13929 // of PARTIALLY_DELETED, you can retry a delete request to finish the deletion 13930 // of the Multi-Region Access Point. 13931 Status *string `type:"string" enum:"MultiRegionAccessPointStatus"` 13932} 13933 13934// String returns the string representation. 13935// 13936// API parameter values that are decorated as "sensitive" in the API will not 13937// be included in the string output. The member name will be present, but the 13938// value will be replaced with "sensitive". 13939func (s MultiRegionAccessPointReport) String() string { 13940 return awsutil.Prettify(s) 13941} 13942 13943// GoString returns the string representation. 13944// 13945// API parameter values that are decorated as "sensitive" in the API will not 13946// be included in the string output. The member name will be present, but the 13947// value will be replaced with "sensitive". 13948func (s MultiRegionAccessPointReport) GoString() string { 13949 return s.String() 13950} 13951 13952// SetAlias sets the Alias field's value. 13953func (s *MultiRegionAccessPointReport) SetAlias(v string) *MultiRegionAccessPointReport { 13954 s.Alias = &v 13955 return s 13956} 13957 13958// SetCreatedAt sets the CreatedAt field's value. 13959func (s *MultiRegionAccessPointReport) SetCreatedAt(v time.Time) *MultiRegionAccessPointReport { 13960 s.CreatedAt = &v 13961 return s 13962} 13963 13964// SetName sets the Name field's value. 13965func (s *MultiRegionAccessPointReport) SetName(v string) *MultiRegionAccessPointReport { 13966 s.Name = &v 13967 return s 13968} 13969 13970// SetPublicAccessBlock sets the PublicAccessBlock field's value. 13971func (s *MultiRegionAccessPointReport) SetPublicAccessBlock(v *PublicAccessBlockConfiguration) *MultiRegionAccessPointReport { 13972 s.PublicAccessBlock = v 13973 return s 13974} 13975 13976// SetRegions sets the Regions field's value. 13977func (s *MultiRegionAccessPointReport) SetRegions(v []*RegionReport) *MultiRegionAccessPointReport { 13978 s.Regions = v 13979 return s 13980} 13981 13982// SetStatus sets the Status field's value. 13983func (s *MultiRegionAccessPointReport) SetStatus(v string) *MultiRegionAccessPointReport { 13984 s.Status = &v 13985 return s 13986} 13987 13988// The Multi-Region Access Point details that are returned when querying about 13989// an asynchronous request. 13990type MultiRegionAccessPointsAsyncResponse struct { 13991 _ struct{} `type:"structure"` 13992 13993 // A collection of status information for the different Regions that a Multi-Region 13994 // Access Point supports. 13995 Regions []*MultiRegionAccessPointRegionalResponse `locationNameList:"Region" type:"list"` 13996} 13997 13998// String returns the string representation. 13999// 14000// API parameter values that are decorated as "sensitive" in the API will not 14001// be included in the string output. The member name will be present, but the 14002// value will be replaced with "sensitive". 14003func (s MultiRegionAccessPointsAsyncResponse) String() string { 14004 return awsutil.Prettify(s) 14005} 14006 14007// GoString returns the string representation. 14008// 14009// API parameter values that are decorated as "sensitive" in the API will not 14010// be included in the string output. The member name will be present, but the 14011// value will be replaced with "sensitive". 14012func (s MultiRegionAccessPointsAsyncResponse) GoString() string { 14013 return s.String() 14014} 14015 14016// SetRegions sets the Regions field's value. 14017func (s *MultiRegionAccessPointsAsyncResponse) SetRegions(v []*MultiRegionAccessPointRegionalResponse) *MultiRegionAccessPointsAsyncResponse { 14018 s.Regions = v 14019 return s 14020} 14021 14022// The container of the noncurrent version expiration. 14023type NoncurrentVersionExpiration struct { 14024 _ struct{} `type:"structure"` 14025 14026 // Specifies the number of days an object is noncurrent before Amazon S3 can 14027 // perform the associated action. For information about the noncurrent days 14028 // calculations, see How Amazon S3 Calculates When an Object Became Noncurrent 14029 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) 14030 // in the Amazon S3 User Guide. 14031 NoncurrentDays *int64 `type:"integer"` 14032} 14033 14034// String returns the string representation. 14035// 14036// API parameter values that are decorated as "sensitive" in the API will not 14037// be included in the string output. The member name will be present, but the 14038// value will be replaced with "sensitive". 14039func (s NoncurrentVersionExpiration) String() string { 14040 return awsutil.Prettify(s) 14041} 14042 14043// GoString returns the string representation. 14044// 14045// API parameter values that are decorated as "sensitive" in the API will not 14046// be included in the string output. The member name will be present, but the 14047// value will be replaced with "sensitive". 14048func (s NoncurrentVersionExpiration) GoString() string { 14049 return s.String() 14050} 14051 14052// SetNoncurrentDays sets the NoncurrentDays field's value. 14053func (s *NoncurrentVersionExpiration) SetNoncurrentDays(v int64) *NoncurrentVersionExpiration { 14054 s.NoncurrentDays = &v 14055 return s 14056} 14057 14058// The container for the noncurrent version transition. 14059type NoncurrentVersionTransition struct { 14060 _ struct{} `type:"structure"` 14061 14062 // Specifies the number of days an object is noncurrent before Amazon S3 can 14063 // perform the associated action. For information about the noncurrent days 14064 // calculations, see How Amazon S3 Calculates How Long an Object Has Been Noncurrent 14065 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) 14066 // in the Amazon S3 User Guide. 14067 NoncurrentDays *int64 `type:"integer"` 14068 14069 // The class of storage used to store the object. 14070 StorageClass *string `type:"string" enum:"TransitionStorageClass"` 14071} 14072 14073// String returns the string representation. 14074// 14075// API parameter values that are decorated as "sensitive" in the API will not 14076// be included in the string output. The member name will be present, but the 14077// value will be replaced with "sensitive". 14078func (s NoncurrentVersionTransition) String() string { 14079 return awsutil.Prettify(s) 14080} 14081 14082// GoString returns the string representation. 14083// 14084// API parameter values that are decorated as "sensitive" in the API will not 14085// be included in the string output. The member name will be present, but the 14086// value will be replaced with "sensitive". 14087func (s NoncurrentVersionTransition) GoString() string { 14088 return s.String() 14089} 14090 14091// SetNoncurrentDays sets the NoncurrentDays field's value. 14092func (s *NoncurrentVersionTransition) SetNoncurrentDays(v int64) *NoncurrentVersionTransition { 14093 s.NoncurrentDays = &v 14094 return s 14095} 14096 14097// SetStorageClass sets the StorageClass field's value. 14098func (s *NoncurrentVersionTransition) SetStorageClass(v string) *NoncurrentVersionTransition { 14099 s.StorageClass = &v 14100 return s 14101} 14102 14103// An access point with an attached Lambda function used to access transformed 14104// data from an Amazon S3 bucket. 14105type ObjectLambdaAccessPoint struct { 14106 _ struct{} `type:"structure"` 14107 14108 // The name of the Object Lambda Access Point. 14109 // 14110 // Name is a required field 14111 Name *string `min:"3" type:"string" required:"true"` 14112 14113 // Specifies the ARN for the Object Lambda Access Point. 14114 ObjectLambdaAccessPointArn *string `min:"1" type:"string"` 14115} 14116 14117// String returns the string representation. 14118// 14119// API parameter values that are decorated as "sensitive" in the API will not 14120// be included in the string output. The member name will be present, but the 14121// value will be replaced with "sensitive". 14122func (s ObjectLambdaAccessPoint) String() string { 14123 return awsutil.Prettify(s) 14124} 14125 14126// GoString returns the string representation. 14127// 14128// API parameter values that are decorated as "sensitive" in the API will not 14129// be included in the string output. The member name will be present, but the 14130// value will be replaced with "sensitive". 14131func (s ObjectLambdaAccessPoint) GoString() string { 14132 return s.String() 14133} 14134 14135// SetName sets the Name field's value. 14136func (s *ObjectLambdaAccessPoint) SetName(v string) *ObjectLambdaAccessPoint { 14137 s.Name = &v 14138 return s 14139} 14140 14141// SetObjectLambdaAccessPointArn sets the ObjectLambdaAccessPointArn field's value. 14142func (s *ObjectLambdaAccessPoint) SetObjectLambdaAccessPointArn(v string) *ObjectLambdaAccessPoint { 14143 s.ObjectLambdaAccessPointArn = &v 14144 return s 14145} 14146 14147// A configuration used when creating an Object Lambda Access Point. 14148type ObjectLambdaConfiguration struct { 14149 _ struct{} `type:"structure"` 14150 14151 // A container for allowed features. Valid inputs are GetObject-Range and GetObject-PartNumber. 14152 AllowedFeatures []*string `locationNameList:"AllowedFeature" type:"list"` 14153 14154 // A container for whether the CloudWatch metrics configuration is enabled. 14155 CloudWatchMetricsEnabled *bool `type:"boolean"` 14156 14157 // Standard access point associated with the Object Lambda Access Point. 14158 // 14159 // SupportingAccessPoint is a required field 14160 SupportingAccessPoint *string `min:"1" type:"string" required:"true"` 14161 14162 // A container for transformation configurations for an Object Lambda Access 14163 // Point. 14164 // 14165 // TransformationConfigurations is a required field 14166 TransformationConfigurations []*ObjectLambdaTransformationConfiguration `locationNameList:"TransformationConfiguration" type:"list" required:"true"` 14167} 14168 14169// String returns the string representation. 14170// 14171// API parameter values that are decorated as "sensitive" in the API will not 14172// be included in the string output. The member name will be present, but the 14173// value will be replaced with "sensitive". 14174func (s ObjectLambdaConfiguration) String() string { 14175 return awsutil.Prettify(s) 14176} 14177 14178// GoString returns the string representation. 14179// 14180// API parameter values that are decorated as "sensitive" in the API will not 14181// be included in the string output. The member name will be present, but the 14182// value will be replaced with "sensitive". 14183func (s ObjectLambdaConfiguration) GoString() string { 14184 return s.String() 14185} 14186 14187// Validate inspects the fields of the type to determine if they are valid. 14188func (s *ObjectLambdaConfiguration) Validate() error { 14189 invalidParams := request.ErrInvalidParams{Context: "ObjectLambdaConfiguration"} 14190 if s.SupportingAccessPoint == nil { 14191 invalidParams.Add(request.NewErrParamRequired("SupportingAccessPoint")) 14192 } 14193 if s.SupportingAccessPoint != nil && len(*s.SupportingAccessPoint) < 1 { 14194 invalidParams.Add(request.NewErrParamMinLen("SupportingAccessPoint", 1)) 14195 } 14196 if s.TransformationConfigurations == nil { 14197 invalidParams.Add(request.NewErrParamRequired("TransformationConfigurations")) 14198 } 14199 if s.TransformationConfigurations != nil { 14200 for i, v := range s.TransformationConfigurations { 14201 if v == nil { 14202 continue 14203 } 14204 if err := v.Validate(); err != nil { 14205 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TransformationConfigurations", i), err.(request.ErrInvalidParams)) 14206 } 14207 } 14208 } 14209 14210 if invalidParams.Len() > 0 { 14211 return invalidParams 14212 } 14213 return nil 14214} 14215 14216// SetAllowedFeatures sets the AllowedFeatures field's value. 14217func (s *ObjectLambdaConfiguration) SetAllowedFeatures(v []*string) *ObjectLambdaConfiguration { 14218 s.AllowedFeatures = v 14219 return s 14220} 14221 14222// SetCloudWatchMetricsEnabled sets the CloudWatchMetricsEnabled field's value. 14223func (s *ObjectLambdaConfiguration) SetCloudWatchMetricsEnabled(v bool) *ObjectLambdaConfiguration { 14224 s.CloudWatchMetricsEnabled = &v 14225 return s 14226} 14227 14228// SetSupportingAccessPoint sets the SupportingAccessPoint field's value. 14229func (s *ObjectLambdaConfiguration) SetSupportingAccessPoint(v string) *ObjectLambdaConfiguration { 14230 s.SupportingAccessPoint = &v 14231 return s 14232} 14233 14234// SetTransformationConfigurations sets the TransformationConfigurations field's value. 14235func (s *ObjectLambdaConfiguration) SetTransformationConfigurations(v []*ObjectLambdaTransformationConfiguration) *ObjectLambdaConfiguration { 14236 s.TransformationConfigurations = v 14237 return s 14238} 14239 14240// A container for AwsLambdaTransformation. 14241type ObjectLambdaContentTransformation struct { 14242 _ struct{} `type:"structure"` 14243 14244 // A container for an Lambda function. 14245 AwsLambda *AwsLambdaTransformation `type:"structure"` 14246} 14247 14248// String returns the string representation. 14249// 14250// API parameter values that are decorated as "sensitive" in the API will not 14251// be included in the string output. The member name will be present, but the 14252// value will be replaced with "sensitive". 14253func (s ObjectLambdaContentTransformation) String() string { 14254 return awsutil.Prettify(s) 14255} 14256 14257// GoString returns the string representation. 14258// 14259// API parameter values that are decorated as "sensitive" in the API will not 14260// be included in the string output. The member name will be present, but the 14261// value will be replaced with "sensitive". 14262func (s ObjectLambdaContentTransformation) GoString() string { 14263 return s.String() 14264} 14265 14266// Validate inspects the fields of the type to determine if they are valid. 14267func (s *ObjectLambdaContentTransformation) Validate() error { 14268 invalidParams := request.ErrInvalidParams{Context: "ObjectLambdaContentTransformation"} 14269 if s.AwsLambda != nil { 14270 if err := s.AwsLambda.Validate(); err != nil { 14271 invalidParams.AddNested("AwsLambda", err.(request.ErrInvalidParams)) 14272 } 14273 } 14274 14275 if invalidParams.Len() > 0 { 14276 return invalidParams 14277 } 14278 return nil 14279} 14280 14281// SetAwsLambda sets the AwsLambda field's value. 14282func (s *ObjectLambdaContentTransformation) SetAwsLambda(v *AwsLambdaTransformation) *ObjectLambdaContentTransformation { 14283 s.AwsLambda = v 14284 return s 14285} 14286 14287// A configuration used when creating an Object Lambda Access Point transformation. 14288type ObjectLambdaTransformationConfiguration struct { 14289 _ struct{} `type:"structure"` 14290 14291 // A container for the action of an Object Lambda Access Point configuration. 14292 // Valid input is GetObject. 14293 // 14294 // Actions is a required field 14295 Actions []*string `locationNameList:"Action" type:"list" required:"true"` 14296 14297 // A container for the content transformation of an Object Lambda Access Point 14298 // configuration. 14299 // 14300 // ContentTransformation is a required field 14301 ContentTransformation *ObjectLambdaContentTransformation `type:"structure" required:"true"` 14302} 14303 14304// String returns the string representation. 14305// 14306// API parameter values that are decorated as "sensitive" in the API will not 14307// be included in the string output. The member name will be present, but the 14308// value will be replaced with "sensitive". 14309func (s ObjectLambdaTransformationConfiguration) String() string { 14310 return awsutil.Prettify(s) 14311} 14312 14313// GoString returns the string representation. 14314// 14315// API parameter values that are decorated as "sensitive" in the API will not 14316// be included in the string output. The member name will be present, but the 14317// value will be replaced with "sensitive". 14318func (s ObjectLambdaTransformationConfiguration) GoString() string { 14319 return s.String() 14320} 14321 14322// Validate inspects the fields of the type to determine if they are valid. 14323func (s *ObjectLambdaTransformationConfiguration) Validate() error { 14324 invalidParams := request.ErrInvalidParams{Context: "ObjectLambdaTransformationConfiguration"} 14325 if s.Actions == nil { 14326 invalidParams.Add(request.NewErrParamRequired("Actions")) 14327 } 14328 if s.ContentTransformation == nil { 14329 invalidParams.Add(request.NewErrParamRequired("ContentTransformation")) 14330 } 14331 if s.ContentTransformation != nil { 14332 if err := s.ContentTransformation.Validate(); err != nil { 14333 invalidParams.AddNested("ContentTransformation", err.(request.ErrInvalidParams)) 14334 } 14335 } 14336 14337 if invalidParams.Len() > 0 { 14338 return invalidParams 14339 } 14340 return nil 14341} 14342 14343// SetActions sets the Actions field's value. 14344func (s *ObjectLambdaTransformationConfiguration) SetActions(v []*string) *ObjectLambdaTransformationConfiguration { 14345 s.Actions = v 14346 return s 14347} 14348 14349// SetContentTransformation sets the ContentTransformation field's value. 14350func (s *ObjectLambdaTransformationConfiguration) SetContentTransformation(v *ObjectLambdaContentTransformation) *ObjectLambdaTransformationConfiguration { 14351 s.ContentTransformation = v 14352 return s 14353} 14354 14355// Indicates whether this access point policy is public. For more information 14356// about how Amazon S3 evaluates policies to determine whether they are public, 14357// 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) 14358// in the Amazon S3 User Guide. 14359type PolicyStatus struct { 14360 _ struct{} `type:"structure"` 14361 14362 IsPublic *bool `locationName:"IsPublic" type:"boolean"` 14363} 14364 14365// String returns the string representation. 14366// 14367// API parameter values that are decorated as "sensitive" in the API will not 14368// be included in the string output. The member name will be present, but the 14369// value will be replaced with "sensitive". 14370func (s PolicyStatus) String() string { 14371 return awsutil.Prettify(s) 14372} 14373 14374// GoString returns the string representation. 14375// 14376// API parameter values that are decorated as "sensitive" in the API will not 14377// be included in the string output. The member name will be present, but the 14378// value will be replaced with "sensitive". 14379func (s PolicyStatus) GoString() string { 14380 return s.String() 14381} 14382 14383// SetIsPublic sets the IsPublic field's value. 14384func (s *PolicyStatus) SetIsPublic(v bool) *PolicyStatus { 14385 s.IsPublic = &v 14386 return s 14387} 14388 14389// A container for the prefix-level configuration. 14390type PrefixLevel struct { 14391 _ struct{} `type:"structure"` 14392 14393 // A container for the prefix-level storage metrics for S3 Storage Lens. 14394 // 14395 // StorageMetrics is a required field 14396 StorageMetrics *PrefixLevelStorageMetrics `type:"structure" required:"true"` 14397} 14398 14399// String returns the string representation. 14400// 14401// API parameter values that are decorated as "sensitive" in the API will not 14402// be included in the string output. The member name will be present, but the 14403// value will be replaced with "sensitive". 14404func (s PrefixLevel) String() string { 14405 return awsutil.Prettify(s) 14406} 14407 14408// GoString returns the string representation. 14409// 14410// API parameter values that are decorated as "sensitive" in the API will not 14411// be included in the string output. The member name will be present, but the 14412// value will be replaced with "sensitive". 14413func (s PrefixLevel) GoString() string { 14414 return s.String() 14415} 14416 14417// Validate inspects the fields of the type to determine if they are valid. 14418func (s *PrefixLevel) Validate() error { 14419 invalidParams := request.ErrInvalidParams{Context: "PrefixLevel"} 14420 if s.StorageMetrics == nil { 14421 invalidParams.Add(request.NewErrParamRequired("StorageMetrics")) 14422 } 14423 if s.StorageMetrics != nil { 14424 if err := s.StorageMetrics.Validate(); err != nil { 14425 invalidParams.AddNested("StorageMetrics", err.(request.ErrInvalidParams)) 14426 } 14427 } 14428 14429 if invalidParams.Len() > 0 { 14430 return invalidParams 14431 } 14432 return nil 14433} 14434 14435// SetStorageMetrics sets the StorageMetrics field's value. 14436func (s *PrefixLevel) SetStorageMetrics(v *PrefixLevelStorageMetrics) *PrefixLevel { 14437 s.StorageMetrics = v 14438 return s 14439} 14440 14441// A container for the prefix-level storage metrics for S3 Storage Lens. 14442type PrefixLevelStorageMetrics struct { 14443 _ struct{} `type:"structure"` 14444 14445 // A container for whether prefix-level storage metrics are enabled. 14446 IsEnabled *bool `type:"boolean"` 14447 14448 SelectionCriteria *SelectionCriteria `type:"structure"` 14449} 14450 14451// String returns the string representation. 14452// 14453// API parameter values that are decorated as "sensitive" in the API will not 14454// be included in the string output. The member name will be present, but the 14455// value will be replaced with "sensitive". 14456func (s PrefixLevelStorageMetrics) String() string { 14457 return awsutil.Prettify(s) 14458} 14459 14460// GoString returns the string representation. 14461// 14462// API parameter values that are decorated as "sensitive" in the API will not 14463// be included in the string output. The member name will be present, but the 14464// value will be replaced with "sensitive". 14465func (s PrefixLevelStorageMetrics) GoString() string { 14466 return s.String() 14467} 14468 14469// Validate inspects the fields of the type to determine if they are valid. 14470func (s *PrefixLevelStorageMetrics) Validate() error { 14471 invalidParams := request.ErrInvalidParams{Context: "PrefixLevelStorageMetrics"} 14472 if s.SelectionCriteria != nil { 14473 if err := s.SelectionCriteria.Validate(); err != nil { 14474 invalidParams.AddNested("SelectionCriteria", err.(request.ErrInvalidParams)) 14475 } 14476 } 14477 14478 if invalidParams.Len() > 0 { 14479 return invalidParams 14480 } 14481 return nil 14482} 14483 14484// SetIsEnabled sets the IsEnabled field's value. 14485func (s *PrefixLevelStorageMetrics) SetIsEnabled(v bool) *PrefixLevelStorageMetrics { 14486 s.IsEnabled = &v 14487 return s 14488} 14489 14490// SetSelectionCriteria sets the SelectionCriteria field's value. 14491func (s *PrefixLevelStorageMetrics) SetSelectionCriteria(v *SelectionCriteria) *PrefixLevelStorageMetrics { 14492 s.SelectionCriteria = v 14493 return s 14494} 14495 14496// The proposed access control policy for the Multi-Region Access Point. 14497// 14498// When you update the policy, the update is first listed as the proposed policy. 14499// After the update is finished and all Regions have been updated, the proposed 14500// policy is listed as the established policy. If both policies have the same 14501// version number, the proposed policy is the established policy. 14502type ProposedMultiRegionAccessPointPolicy struct { 14503 _ struct{} `type:"structure"` 14504 14505 // The details of the proposed policy. 14506 Policy *string `type:"string"` 14507} 14508 14509// String returns the string representation. 14510// 14511// API parameter values that are decorated as "sensitive" in the API will not 14512// be included in the string output. The member name will be present, but the 14513// value will be replaced with "sensitive". 14514func (s ProposedMultiRegionAccessPointPolicy) String() string { 14515 return awsutil.Prettify(s) 14516} 14517 14518// GoString returns the string representation. 14519// 14520// API parameter values that are decorated as "sensitive" in the API will not 14521// be included in the string output. The member name will be present, but the 14522// value will be replaced with "sensitive". 14523func (s ProposedMultiRegionAccessPointPolicy) GoString() string { 14524 return s.String() 14525} 14526 14527// SetPolicy sets the Policy field's value. 14528func (s *ProposedMultiRegionAccessPointPolicy) SetPolicy(v string) *ProposedMultiRegionAccessPointPolicy { 14529 s.Policy = &v 14530 return s 14531} 14532 14533// The PublicAccessBlock configuration that you want to apply to this Amazon 14534// S3 account. You can enable the configuration options in any combination. 14535// For more information about when Amazon S3 considers a bucket or object public, 14536// 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) 14537// in the Amazon S3 User Guide. 14538// 14539// This is not supported for Amazon S3 on Outposts. 14540type PublicAccessBlockConfiguration struct { 14541 _ struct{} `type:"structure"` 14542 14543 // Specifies whether Amazon S3 should block public access control lists (ACLs) 14544 // for buckets in this account. Setting this element to TRUE causes the following 14545 // behavior: 14546 // 14547 // * PUT Bucket acl and PUT Object acl calls fail if the specified ACL is 14548 // public. 14549 // 14550 // * PUT Object calls fail if the request includes a public ACL. 14551 // 14552 // * PUT Bucket calls fail if the request includes a public ACL. 14553 // 14554 // Enabling this setting doesn't affect existing policies or ACLs. 14555 // 14556 // This is not supported for Amazon S3 on Outposts. 14557 BlockPublicAcls *bool `locationName:"BlockPublicAcls" type:"boolean"` 14558 14559 // Specifies whether Amazon S3 should block public bucket policies for buckets 14560 // in this account. Setting this element to TRUE causes Amazon S3 to reject 14561 // calls to PUT Bucket policy if the specified bucket policy allows public access. 14562 // 14563 // Enabling this setting doesn't affect existing bucket policies. 14564 // 14565 // This is not supported for Amazon S3 on Outposts. 14566 BlockPublicPolicy *bool `locationName:"BlockPublicPolicy" type:"boolean"` 14567 14568 // Specifies whether Amazon S3 should ignore public ACLs for buckets in this 14569 // account. Setting this element to TRUE causes Amazon S3 to ignore all public 14570 // ACLs on buckets in this account and any objects that they contain. 14571 // 14572 // Enabling this setting doesn't affect the persistence of any existing ACLs 14573 // and doesn't prevent new public ACLs from being set. 14574 // 14575 // This is not supported for Amazon S3 on Outposts. 14576 IgnorePublicAcls *bool `locationName:"IgnorePublicAcls" type:"boolean"` 14577 14578 // Specifies whether Amazon S3 should restrict public bucket policies for buckets 14579 // in this account. Setting this element to TRUE restricts access to buckets 14580 // with public policies to only Amazon Web Service principals and authorized 14581 // users within this account. 14582 // 14583 // Enabling this setting doesn't affect previously stored bucket policies, except 14584 // that public and cross-account access within any public bucket policy, including 14585 // non-public delegation to specific accounts, is blocked. 14586 // 14587 // This is not supported for Amazon S3 on Outposts. 14588 RestrictPublicBuckets *bool `locationName:"RestrictPublicBuckets" type:"boolean"` 14589} 14590 14591// String returns the string representation. 14592// 14593// API parameter values that are decorated as "sensitive" in the API will not 14594// be included in the string output. The member name will be present, but the 14595// value will be replaced with "sensitive". 14596func (s PublicAccessBlockConfiguration) String() string { 14597 return awsutil.Prettify(s) 14598} 14599 14600// GoString returns the string representation. 14601// 14602// API parameter values that are decorated as "sensitive" in the API will not 14603// be included in the string output. The member name will be present, but the 14604// value will be replaced with "sensitive". 14605func (s PublicAccessBlockConfiguration) GoString() string { 14606 return s.String() 14607} 14608 14609// SetBlockPublicAcls sets the BlockPublicAcls field's value. 14610func (s *PublicAccessBlockConfiguration) SetBlockPublicAcls(v bool) *PublicAccessBlockConfiguration { 14611 s.BlockPublicAcls = &v 14612 return s 14613} 14614 14615// SetBlockPublicPolicy sets the BlockPublicPolicy field's value. 14616func (s *PublicAccessBlockConfiguration) SetBlockPublicPolicy(v bool) *PublicAccessBlockConfiguration { 14617 s.BlockPublicPolicy = &v 14618 return s 14619} 14620 14621// SetIgnorePublicAcls sets the IgnorePublicAcls field's value. 14622func (s *PublicAccessBlockConfiguration) SetIgnorePublicAcls(v bool) *PublicAccessBlockConfiguration { 14623 s.IgnorePublicAcls = &v 14624 return s 14625} 14626 14627// SetRestrictPublicBuckets sets the RestrictPublicBuckets field's value. 14628func (s *PublicAccessBlockConfiguration) SetRestrictPublicBuckets(v bool) *PublicAccessBlockConfiguration { 14629 s.RestrictPublicBuckets = &v 14630 return s 14631} 14632 14633type PutAccessPointConfigurationForObjectLambdaInput struct { 14634 _ struct{} `locationName:"PutAccessPointConfigurationForObjectLambdaRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 14635 14636 // The account ID for the account that owns the specified Object Lambda Access 14637 // Point. 14638 // 14639 // AccountId is a required field 14640 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 14641 14642 // Object Lambda Access Point configuration document. 14643 // 14644 // Configuration is a required field 14645 Configuration *ObjectLambdaConfiguration `type:"structure" required:"true"` 14646 14647 // The name of the Object Lambda Access Point. 14648 // 14649 // Name is a required field 14650 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 14651} 14652 14653// String returns the string representation. 14654// 14655// API parameter values that are decorated as "sensitive" in the API will not 14656// be included in the string output. The member name will be present, but the 14657// value will be replaced with "sensitive". 14658func (s PutAccessPointConfigurationForObjectLambdaInput) String() string { 14659 return awsutil.Prettify(s) 14660} 14661 14662// GoString returns the string representation. 14663// 14664// API parameter values that are decorated as "sensitive" in the API will not 14665// be included in the string output. The member name will be present, but the 14666// value will be replaced with "sensitive". 14667func (s PutAccessPointConfigurationForObjectLambdaInput) GoString() string { 14668 return s.String() 14669} 14670 14671// Validate inspects the fields of the type to determine if they are valid. 14672func (s *PutAccessPointConfigurationForObjectLambdaInput) Validate() error { 14673 invalidParams := request.ErrInvalidParams{Context: "PutAccessPointConfigurationForObjectLambdaInput"} 14674 if s.AccountId == nil { 14675 invalidParams.Add(request.NewErrParamRequired("AccountId")) 14676 } 14677 if s.AccountId != nil && len(*s.AccountId) < 1 { 14678 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 14679 } 14680 if s.Configuration == nil { 14681 invalidParams.Add(request.NewErrParamRequired("Configuration")) 14682 } 14683 if s.Name == nil { 14684 invalidParams.Add(request.NewErrParamRequired("Name")) 14685 } 14686 if s.Name != nil && len(*s.Name) < 3 { 14687 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 14688 } 14689 if s.Configuration != nil { 14690 if err := s.Configuration.Validate(); err != nil { 14691 invalidParams.AddNested("Configuration", err.(request.ErrInvalidParams)) 14692 } 14693 } 14694 14695 if invalidParams.Len() > 0 { 14696 return invalidParams 14697 } 14698 return nil 14699} 14700 14701// SetAccountId sets the AccountId field's value. 14702func (s *PutAccessPointConfigurationForObjectLambdaInput) SetAccountId(v string) *PutAccessPointConfigurationForObjectLambdaInput { 14703 s.AccountId = &v 14704 return s 14705} 14706 14707// SetConfiguration sets the Configuration field's value. 14708func (s *PutAccessPointConfigurationForObjectLambdaInput) SetConfiguration(v *ObjectLambdaConfiguration) *PutAccessPointConfigurationForObjectLambdaInput { 14709 s.Configuration = v 14710 return s 14711} 14712 14713// SetName sets the Name field's value. 14714func (s *PutAccessPointConfigurationForObjectLambdaInput) SetName(v string) *PutAccessPointConfigurationForObjectLambdaInput { 14715 s.Name = &v 14716 return s 14717} 14718 14719func (s *PutAccessPointConfigurationForObjectLambdaInput) hostLabels() map[string]string { 14720 return map[string]string{ 14721 "AccountId": aws.StringValue(s.AccountId), 14722 } 14723} 14724 14725type PutAccessPointConfigurationForObjectLambdaOutput struct { 14726 _ struct{} `type:"structure"` 14727} 14728 14729// String returns the string representation. 14730// 14731// API parameter values that are decorated as "sensitive" in the API will not 14732// be included in the string output. The member name will be present, but the 14733// value will be replaced with "sensitive". 14734func (s PutAccessPointConfigurationForObjectLambdaOutput) String() string { 14735 return awsutil.Prettify(s) 14736} 14737 14738// GoString returns the string representation. 14739// 14740// API parameter values that are decorated as "sensitive" in the API will not 14741// be included in the string output. The member name will be present, but the 14742// value will be replaced with "sensitive". 14743func (s PutAccessPointConfigurationForObjectLambdaOutput) GoString() string { 14744 return s.String() 14745} 14746 14747type PutAccessPointPolicyForObjectLambdaInput struct { 14748 _ struct{} `locationName:"PutAccessPointPolicyForObjectLambdaRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 14749 14750 // The account ID for the account that owns the specified Object Lambda Access 14751 // Point. 14752 // 14753 // AccountId is a required field 14754 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 14755 14756 // The name of the Object Lambda Access Point. 14757 // 14758 // Name is a required field 14759 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 14760 14761 // Object Lambda Access Point resource policy document. 14762 // 14763 // Policy is a required field 14764 Policy *string `type:"string" required:"true"` 14765} 14766 14767// String returns the string representation. 14768// 14769// API parameter values that are decorated as "sensitive" in the API will not 14770// be included in the string output. The member name will be present, but the 14771// value will be replaced with "sensitive". 14772func (s PutAccessPointPolicyForObjectLambdaInput) String() string { 14773 return awsutil.Prettify(s) 14774} 14775 14776// GoString returns the string representation. 14777// 14778// API parameter values that are decorated as "sensitive" in the API will not 14779// be included in the string output. The member name will be present, but the 14780// value will be replaced with "sensitive". 14781func (s PutAccessPointPolicyForObjectLambdaInput) GoString() string { 14782 return s.String() 14783} 14784 14785// Validate inspects the fields of the type to determine if they are valid. 14786func (s *PutAccessPointPolicyForObjectLambdaInput) Validate() error { 14787 invalidParams := request.ErrInvalidParams{Context: "PutAccessPointPolicyForObjectLambdaInput"} 14788 if s.AccountId == nil { 14789 invalidParams.Add(request.NewErrParamRequired("AccountId")) 14790 } 14791 if s.AccountId != nil && len(*s.AccountId) < 1 { 14792 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 14793 } 14794 if s.Name == nil { 14795 invalidParams.Add(request.NewErrParamRequired("Name")) 14796 } 14797 if s.Name != nil && len(*s.Name) < 3 { 14798 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 14799 } 14800 if s.Policy == nil { 14801 invalidParams.Add(request.NewErrParamRequired("Policy")) 14802 } 14803 14804 if invalidParams.Len() > 0 { 14805 return invalidParams 14806 } 14807 return nil 14808} 14809 14810// SetAccountId sets the AccountId field's value. 14811func (s *PutAccessPointPolicyForObjectLambdaInput) SetAccountId(v string) *PutAccessPointPolicyForObjectLambdaInput { 14812 s.AccountId = &v 14813 return s 14814} 14815 14816// SetName sets the Name field's value. 14817func (s *PutAccessPointPolicyForObjectLambdaInput) SetName(v string) *PutAccessPointPolicyForObjectLambdaInput { 14818 s.Name = &v 14819 return s 14820} 14821 14822// SetPolicy sets the Policy field's value. 14823func (s *PutAccessPointPolicyForObjectLambdaInput) SetPolicy(v string) *PutAccessPointPolicyForObjectLambdaInput { 14824 s.Policy = &v 14825 return s 14826} 14827 14828func (s *PutAccessPointPolicyForObjectLambdaInput) hostLabels() map[string]string { 14829 return map[string]string{ 14830 "AccountId": aws.StringValue(s.AccountId), 14831 } 14832} 14833 14834type PutAccessPointPolicyForObjectLambdaOutput struct { 14835 _ struct{} `type:"structure"` 14836} 14837 14838// String returns the string representation. 14839// 14840// API parameter values that are decorated as "sensitive" in the API will not 14841// be included in the string output. The member name will be present, but the 14842// value will be replaced with "sensitive". 14843func (s PutAccessPointPolicyForObjectLambdaOutput) String() string { 14844 return awsutil.Prettify(s) 14845} 14846 14847// GoString returns the string representation. 14848// 14849// API parameter values that are decorated as "sensitive" in the API will not 14850// be included in the string output. The member name will be present, but the 14851// value will be replaced with "sensitive". 14852func (s PutAccessPointPolicyForObjectLambdaOutput) GoString() string { 14853 return s.String() 14854} 14855 14856type PutAccessPointPolicyInput struct { 14857 _ struct{} `locationName:"PutAccessPointPolicyRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 14858 14859 // The Amazon Web Services account ID for owner of the bucket associated with 14860 // the specified access point. 14861 // 14862 // AccountId is a required field 14863 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 14864 14865 // The name of the access point that you want to associate with the specified 14866 // policy. 14867 // 14868 // For using this parameter with Amazon S3 on Outposts with the REST API, you 14869 // must specify the name and the x-amz-outpost-id as well. 14870 // 14871 // For using this parameter with S3 on Outposts with the Amazon Web Services 14872 // SDK and CLI, you must specify the ARN of the access point accessed in the 14873 // format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>. 14874 // For example, to access the access point reports-ap through outpost my-outpost 14875 // owned by account 123456789012 in Region us-west-2, use the URL encoding of 14876 // arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. 14877 // The value must be URL encoded. 14878 // 14879 // Name is a required field 14880 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 14881 14882 // The policy that you want to apply to the specified access point. For more 14883 // information about access point policies, see Managing data access with Amazon 14884 // S3 access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html) 14885 // in the Amazon S3 User Guide. 14886 // 14887 // Policy is a required field 14888 Policy *string `type:"string" required:"true"` 14889} 14890 14891// String returns the string representation. 14892// 14893// API parameter values that are decorated as "sensitive" in the API will not 14894// be included in the string output. The member name will be present, but the 14895// value will be replaced with "sensitive". 14896func (s PutAccessPointPolicyInput) String() string { 14897 return awsutil.Prettify(s) 14898} 14899 14900// GoString returns the string representation. 14901// 14902// API parameter values that are decorated as "sensitive" in the API will not 14903// be included in the string output. The member name will be present, but the 14904// value will be replaced with "sensitive". 14905func (s PutAccessPointPolicyInput) GoString() string { 14906 return s.String() 14907} 14908 14909// Validate inspects the fields of the type to determine if they are valid. 14910func (s *PutAccessPointPolicyInput) Validate() error { 14911 invalidParams := request.ErrInvalidParams{Context: "PutAccessPointPolicyInput"} 14912 if s.AccountId == nil { 14913 invalidParams.Add(request.NewErrParamRequired("AccountId")) 14914 } 14915 if s.AccountId != nil && len(*s.AccountId) < 1 { 14916 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 14917 } 14918 if s.Name == nil { 14919 invalidParams.Add(request.NewErrParamRequired("Name")) 14920 } 14921 if s.Name != nil && len(*s.Name) < 3 { 14922 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 14923 } 14924 if s.Policy == nil { 14925 invalidParams.Add(request.NewErrParamRequired("Policy")) 14926 } 14927 14928 if invalidParams.Len() > 0 { 14929 return invalidParams 14930 } 14931 return nil 14932} 14933 14934// SetAccountId sets the AccountId field's value. 14935func (s *PutAccessPointPolicyInput) SetAccountId(v string) *PutAccessPointPolicyInput { 14936 s.AccountId = &v 14937 return s 14938} 14939 14940// SetName sets the Name field's value. 14941func (s *PutAccessPointPolicyInput) SetName(v string) *PutAccessPointPolicyInput { 14942 s.Name = &v 14943 return s 14944} 14945 14946// SetPolicy sets the Policy field's value. 14947func (s *PutAccessPointPolicyInput) SetPolicy(v string) *PutAccessPointPolicyInput { 14948 s.Policy = &v 14949 return s 14950} 14951 14952func (s *PutAccessPointPolicyInput) hostLabels() map[string]string { 14953 return map[string]string{ 14954 "AccountId": aws.StringValue(s.AccountId), 14955 } 14956} 14957 14958func (s *PutAccessPointPolicyInput) getEndpointARN() (arn.Resource, error) { 14959 if s.Name == nil { 14960 return nil, fmt.Errorf("member Name is nil") 14961 } 14962 return parseEndpointARN(*s.Name) 14963} 14964 14965func (s *PutAccessPointPolicyInput) hasEndpointARN() bool { 14966 if s.Name == nil { 14967 return false 14968 } 14969 return arn.IsARN(*s.Name) 14970} 14971 14972// updateArnableField updates the value of the input field that 14973// takes an ARN as an input. This method is useful to backfill 14974// the parsed resource name from ARN into the input member. 14975// It returns a pointer to a modified copy of input and an error. 14976// Note that original input is not modified. 14977func (s PutAccessPointPolicyInput) updateArnableField(v string) (interface{}, error) { 14978 if s.Name == nil { 14979 return nil, fmt.Errorf("member Name is nil") 14980 } 14981 s.Name = aws.String(v) 14982 return &s, nil 14983} 14984 14985// updateAccountID returns a pointer to a modified copy of input, 14986// if account id is not provided, we update the account id in modified input 14987// if account id is provided, but doesn't match with the one in ARN, we throw an error 14988// if account id is not updated, we return nil. Note that original input is not modified. 14989func (s PutAccessPointPolicyInput) updateAccountID(accountId string) (interface{}, error) { 14990 if s.AccountId == nil { 14991 s.AccountId = aws.String(accountId) 14992 return &s, nil 14993 } else if *s.AccountId != accountId { 14994 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 14995 } 14996 return nil, nil 14997} 14998 14999type PutAccessPointPolicyOutput struct { 15000 _ struct{} `type:"structure"` 15001} 15002 15003// String returns the string representation. 15004// 15005// API parameter values that are decorated as "sensitive" in the API will not 15006// be included in the string output. The member name will be present, but the 15007// value will be replaced with "sensitive". 15008func (s PutAccessPointPolicyOutput) String() string { 15009 return awsutil.Prettify(s) 15010} 15011 15012// GoString returns the string representation. 15013// 15014// API parameter values that are decorated as "sensitive" in the API will not 15015// be included in the string output. The member name will be present, but the 15016// value will be replaced with "sensitive". 15017func (s PutAccessPointPolicyOutput) GoString() string { 15018 return s.String() 15019} 15020 15021type PutBucketLifecycleConfigurationInput struct { 15022 _ struct{} `locationName:"PutBucketLifecycleConfigurationRequest" type:"structure" payload:"LifecycleConfiguration"` 15023 15024 // The Amazon Web Services account ID of the Outposts bucket. 15025 // 15026 // AccountId is a required field 15027 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 15028 15029 // The name of the bucket for which to set the configuration. 15030 // 15031 // Bucket is a required field 15032 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 15033 15034 // Container for lifecycle rules. You can add as many as 1,000 rules. 15035 LifecycleConfiguration *LifecycleConfiguration `locationName:"LifecycleConfiguration" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 15036} 15037 15038// String returns the string representation. 15039// 15040// API parameter values that are decorated as "sensitive" in the API will not 15041// be included in the string output. The member name will be present, but the 15042// value will be replaced with "sensitive". 15043func (s PutBucketLifecycleConfigurationInput) String() string { 15044 return awsutil.Prettify(s) 15045} 15046 15047// GoString returns the string representation. 15048// 15049// API parameter values that are decorated as "sensitive" in the API will not 15050// be included in the string output. The member name will be present, but the 15051// value will be replaced with "sensitive". 15052func (s PutBucketLifecycleConfigurationInput) GoString() string { 15053 return s.String() 15054} 15055 15056// Validate inspects the fields of the type to determine if they are valid. 15057func (s *PutBucketLifecycleConfigurationInput) Validate() error { 15058 invalidParams := request.ErrInvalidParams{Context: "PutBucketLifecycleConfigurationInput"} 15059 if s.AccountId == nil { 15060 invalidParams.Add(request.NewErrParamRequired("AccountId")) 15061 } 15062 if s.AccountId != nil && len(*s.AccountId) < 1 { 15063 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 15064 } 15065 if s.Bucket == nil { 15066 invalidParams.Add(request.NewErrParamRequired("Bucket")) 15067 } 15068 if s.Bucket != nil && len(*s.Bucket) < 3 { 15069 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 15070 } 15071 if s.LifecycleConfiguration != nil { 15072 if err := s.LifecycleConfiguration.Validate(); err != nil { 15073 invalidParams.AddNested("LifecycleConfiguration", err.(request.ErrInvalidParams)) 15074 } 15075 } 15076 15077 if invalidParams.Len() > 0 { 15078 return invalidParams 15079 } 15080 return nil 15081} 15082 15083// SetAccountId sets the AccountId field's value. 15084func (s *PutBucketLifecycleConfigurationInput) SetAccountId(v string) *PutBucketLifecycleConfigurationInput { 15085 s.AccountId = &v 15086 return s 15087} 15088 15089// SetBucket sets the Bucket field's value. 15090func (s *PutBucketLifecycleConfigurationInput) SetBucket(v string) *PutBucketLifecycleConfigurationInput { 15091 s.Bucket = &v 15092 return s 15093} 15094 15095// SetLifecycleConfiguration sets the LifecycleConfiguration field's value. 15096func (s *PutBucketLifecycleConfigurationInput) SetLifecycleConfiguration(v *LifecycleConfiguration) *PutBucketLifecycleConfigurationInput { 15097 s.LifecycleConfiguration = v 15098 return s 15099} 15100 15101func (s *PutBucketLifecycleConfigurationInput) hostLabels() map[string]string { 15102 return map[string]string{ 15103 "AccountId": aws.StringValue(s.AccountId), 15104 } 15105} 15106 15107func (s *PutBucketLifecycleConfigurationInput) getEndpointARN() (arn.Resource, error) { 15108 if s.Bucket == nil { 15109 return nil, fmt.Errorf("member Bucket is nil") 15110 } 15111 return parseEndpointARN(*s.Bucket) 15112} 15113 15114func (s *PutBucketLifecycleConfigurationInput) hasEndpointARN() bool { 15115 if s.Bucket == nil { 15116 return false 15117 } 15118 return arn.IsARN(*s.Bucket) 15119} 15120 15121// updateArnableField updates the value of the input field that 15122// takes an ARN as an input. This method is useful to backfill 15123// the parsed resource name from ARN into the input member. 15124// It returns a pointer to a modified copy of input and an error. 15125// Note that original input is not modified. 15126func (s PutBucketLifecycleConfigurationInput) updateArnableField(v string) (interface{}, error) { 15127 if s.Bucket == nil { 15128 return nil, fmt.Errorf("member Bucket is nil") 15129 } 15130 s.Bucket = aws.String(v) 15131 return &s, nil 15132} 15133 15134// updateAccountID returns a pointer to a modified copy of input, 15135// if account id is not provided, we update the account id in modified input 15136// if account id is provided, but doesn't match with the one in ARN, we throw an error 15137// if account id is not updated, we return nil. Note that original input is not modified. 15138func (s PutBucketLifecycleConfigurationInput) updateAccountID(accountId string) (interface{}, error) { 15139 if s.AccountId == nil { 15140 s.AccountId = aws.String(accountId) 15141 return &s, nil 15142 } else if *s.AccountId != accountId { 15143 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 15144 } 15145 return nil, nil 15146} 15147 15148type PutBucketLifecycleConfigurationOutput struct { 15149 _ struct{} `type:"structure"` 15150} 15151 15152// String returns the string representation. 15153// 15154// API parameter values that are decorated as "sensitive" in the API will not 15155// be included in the string output. The member name will be present, but the 15156// value will be replaced with "sensitive". 15157func (s PutBucketLifecycleConfigurationOutput) String() string { 15158 return awsutil.Prettify(s) 15159} 15160 15161// GoString returns the string representation. 15162// 15163// API parameter values that are decorated as "sensitive" in the API will not 15164// be included in the string output. The member name will be present, but the 15165// value will be replaced with "sensitive". 15166func (s PutBucketLifecycleConfigurationOutput) GoString() string { 15167 return s.String() 15168} 15169 15170type PutBucketPolicyInput struct { 15171 _ struct{} `locationName:"PutBucketPolicyRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 15172 15173 // The Amazon Web Services account ID of the Outposts bucket. 15174 // 15175 // AccountId is a required field 15176 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 15177 15178 // Specifies the bucket. 15179 // 15180 // For using this parameter with Amazon S3 on Outposts with the REST API, you 15181 // must specify the name and the x-amz-outpost-id as well. 15182 // 15183 // For using this parameter with S3 on Outposts with the Amazon Web Services 15184 // SDK and CLI, you must specify the ARN of the bucket accessed in the format 15185 // arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 15186 // For example, to access the bucket reports through outpost my-outpost owned 15187 // 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. 15188 // The value must be URL encoded. 15189 // 15190 // Bucket is a required field 15191 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 15192 15193 // Set this parameter to true to confirm that you want to remove your permissions 15194 // to change this bucket policy in the future. 15195 // 15196 // This is not supported by Amazon S3 on Outposts buckets. 15197 ConfirmRemoveSelfBucketAccess *bool `location:"header" locationName:"x-amz-confirm-remove-self-bucket-access" type:"boolean"` 15198 15199 // The bucket policy as a JSON document. 15200 // 15201 // Policy is a required field 15202 Policy *string `type:"string" required:"true"` 15203} 15204 15205// String returns the string representation. 15206// 15207// API parameter values that are decorated as "sensitive" in the API will not 15208// be included in the string output. The member name will be present, but the 15209// value will be replaced with "sensitive". 15210func (s PutBucketPolicyInput) String() string { 15211 return awsutil.Prettify(s) 15212} 15213 15214// GoString returns the string representation. 15215// 15216// API parameter values that are decorated as "sensitive" in the API will not 15217// be included in the string output. The member name will be present, but the 15218// value will be replaced with "sensitive". 15219func (s PutBucketPolicyInput) GoString() string { 15220 return s.String() 15221} 15222 15223// Validate inspects the fields of the type to determine if they are valid. 15224func (s *PutBucketPolicyInput) Validate() error { 15225 invalidParams := request.ErrInvalidParams{Context: "PutBucketPolicyInput"} 15226 if s.AccountId == nil { 15227 invalidParams.Add(request.NewErrParamRequired("AccountId")) 15228 } 15229 if s.AccountId != nil && len(*s.AccountId) < 1 { 15230 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 15231 } 15232 if s.Bucket == nil { 15233 invalidParams.Add(request.NewErrParamRequired("Bucket")) 15234 } 15235 if s.Bucket != nil && len(*s.Bucket) < 3 { 15236 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 15237 } 15238 if s.Policy == nil { 15239 invalidParams.Add(request.NewErrParamRequired("Policy")) 15240 } 15241 15242 if invalidParams.Len() > 0 { 15243 return invalidParams 15244 } 15245 return nil 15246} 15247 15248// SetAccountId sets the AccountId field's value. 15249func (s *PutBucketPolicyInput) SetAccountId(v string) *PutBucketPolicyInput { 15250 s.AccountId = &v 15251 return s 15252} 15253 15254// SetBucket sets the Bucket field's value. 15255func (s *PutBucketPolicyInput) SetBucket(v string) *PutBucketPolicyInput { 15256 s.Bucket = &v 15257 return s 15258} 15259 15260// SetConfirmRemoveSelfBucketAccess sets the ConfirmRemoveSelfBucketAccess field's value. 15261func (s *PutBucketPolicyInput) SetConfirmRemoveSelfBucketAccess(v bool) *PutBucketPolicyInput { 15262 s.ConfirmRemoveSelfBucketAccess = &v 15263 return s 15264} 15265 15266// SetPolicy sets the Policy field's value. 15267func (s *PutBucketPolicyInput) SetPolicy(v string) *PutBucketPolicyInput { 15268 s.Policy = &v 15269 return s 15270} 15271 15272func (s *PutBucketPolicyInput) hostLabels() map[string]string { 15273 return map[string]string{ 15274 "AccountId": aws.StringValue(s.AccountId), 15275 } 15276} 15277 15278func (s *PutBucketPolicyInput) getEndpointARN() (arn.Resource, error) { 15279 if s.Bucket == nil { 15280 return nil, fmt.Errorf("member Bucket is nil") 15281 } 15282 return parseEndpointARN(*s.Bucket) 15283} 15284 15285func (s *PutBucketPolicyInput) hasEndpointARN() bool { 15286 if s.Bucket == nil { 15287 return false 15288 } 15289 return arn.IsARN(*s.Bucket) 15290} 15291 15292// updateArnableField updates the value of the input field that 15293// takes an ARN as an input. This method is useful to backfill 15294// the parsed resource name from ARN into the input member. 15295// It returns a pointer to a modified copy of input and an error. 15296// Note that original input is not modified. 15297func (s PutBucketPolicyInput) updateArnableField(v string) (interface{}, error) { 15298 if s.Bucket == nil { 15299 return nil, fmt.Errorf("member Bucket is nil") 15300 } 15301 s.Bucket = aws.String(v) 15302 return &s, nil 15303} 15304 15305// updateAccountID returns a pointer to a modified copy of input, 15306// if account id is not provided, we update the account id in modified input 15307// if account id is provided, but doesn't match with the one in ARN, we throw an error 15308// if account id is not updated, we return nil. Note that original input is not modified. 15309func (s PutBucketPolicyInput) updateAccountID(accountId string) (interface{}, error) { 15310 if s.AccountId == nil { 15311 s.AccountId = aws.String(accountId) 15312 return &s, nil 15313 } else if *s.AccountId != accountId { 15314 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 15315 } 15316 return nil, nil 15317} 15318 15319type PutBucketPolicyOutput struct { 15320 _ struct{} `type:"structure"` 15321} 15322 15323// String returns the string representation. 15324// 15325// API parameter values that are decorated as "sensitive" in the API will not 15326// be included in the string output. The member name will be present, but the 15327// value will be replaced with "sensitive". 15328func (s PutBucketPolicyOutput) String() string { 15329 return awsutil.Prettify(s) 15330} 15331 15332// GoString returns the string representation. 15333// 15334// API parameter values that are decorated as "sensitive" in the API will not 15335// be included in the string output. The member name will be present, but the 15336// value will be replaced with "sensitive". 15337func (s PutBucketPolicyOutput) GoString() string { 15338 return s.String() 15339} 15340 15341type PutBucketTaggingInput struct { 15342 _ struct{} `locationName:"PutBucketTaggingRequest" type:"structure" payload:"Tagging"` 15343 15344 // The Amazon Web Services account ID of the Outposts bucket. 15345 // 15346 // AccountId is a required field 15347 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 15348 15349 // The Amazon Resource Name (ARN) of the bucket. 15350 // 15351 // For using this parameter with Amazon S3 on Outposts with the REST API, you 15352 // must specify the name and the x-amz-outpost-id as well. 15353 // 15354 // For using this parameter with S3 on Outposts with the Amazon Web Services 15355 // SDK and CLI, you must specify the ARN of the bucket accessed in the format 15356 // arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 15357 // For example, to access the bucket reports through outpost my-outpost owned 15358 // 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. 15359 // The value must be URL encoded. 15360 // 15361 // Bucket is a required field 15362 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 15363 15364 // Tagging is a required field 15365 Tagging *Tagging `locationName:"Tagging" type:"structure" required:"true" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 15366} 15367 15368// String returns the string representation. 15369// 15370// API parameter values that are decorated as "sensitive" in the API will not 15371// be included in the string output. The member name will be present, but the 15372// value will be replaced with "sensitive". 15373func (s PutBucketTaggingInput) String() string { 15374 return awsutil.Prettify(s) 15375} 15376 15377// GoString returns the string representation. 15378// 15379// API parameter values that are decorated as "sensitive" in the API will not 15380// be included in the string output. The member name will be present, but the 15381// value will be replaced with "sensitive". 15382func (s PutBucketTaggingInput) GoString() string { 15383 return s.String() 15384} 15385 15386// Validate inspects the fields of the type to determine if they are valid. 15387func (s *PutBucketTaggingInput) Validate() error { 15388 invalidParams := request.ErrInvalidParams{Context: "PutBucketTaggingInput"} 15389 if s.AccountId == nil { 15390 invalidParams.Add(request.NewErrParamRequired("AccountId")) 15391 } 15392 if s.AccountId != nil && len(*s.AccountId) < 1 { 15393 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 15394 } 15395 if s.Bucket == nil { 15396 invalidParams.Add(request.NewErrParamRequired("Bucket")) 15397 } 15398 if s.Bucket != nil && len(*s.Bucket) < 3 { 15399 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 15400 } 15401 if s.Tagging == nil { 15402 invalidParams.Add(request.NewErrParamRequired("Tagging")) 15403 } 15404 if s.Tagging != nil { 15405 if err := s.Tagging.Validate(); err != nil { 15406 invalidParams.AddNested("Tagging", err.(request.ErrInvalidParams)) 15407 } 15408 } 15409 15410 if invalidParams.Len() > 0 { 15411 return invalidParams 15412 } 15413 return nil 15414} 15415 15416// SetAccountId sets the AccountId field's value. 15417func (s *PutBucketTaggingInput) SetAccountId(v string) *PutBucketTaggingInput { 15418 s.AccountId = &v 15419 return s 15420} 15421 15422// SetBucket sets the Bucket field's value. 15423func (s *PutBucketTaggingInput) SetBucket(v string) *PutBucketTaggingInput { 15424 s.Bucket = &v 15425 return s 15426} 15427 15428// SetTagging sets the Tagging field's value. 15429func (s *PutBucketTaggingInput) SetTagging(v *Tagging) *PutBucketTaggingInput { 15430 s.Tagging = v 15431 return s 15432} 15433 15434func (s *PutBucketTaggingInput) hostLabels() map[string]string { 15435 return map[string]string{ 15436 "AccountId": aws.StringValue(s.AccountId), 15437 } 15438} 15439 15440func (s *PutBucketTaggingInput) getEndpointARN() (arn.Resource, error) { 15441 if s.Bucket == nil { 15442 return nil, fmt.Errorf("member Bucket is nil") 15443 } 15444 return parseEndpointARN(*s.Bucket) 15445} 15446 15447func (s *PutBucketTaggingInput) hasEndpointARN() bool { 15448 if s.Bucket == nil { 15449 return false 15450 } 15451 return arn.IsARN(*s.Bucket) 15452} 15453 15454// updateArnableField updates the value of the input field that 15455// takes an ARN as an input. This method is useful to backfill 15456// the parsed resource name from ARN into the input member. 15457// It returns a pointer to a modified copy of input and an error. 15458// Note that original input is not modified. 15459func (s PutBucketTaggingInput) updateArnableField(v string) (interface{}, error) { 15460 if s.Bucket == nil { 15461 return nil, fmt.Errorf("member Bucket is nil") 15462 } 15463 s.Bucket = aws.String(v) 15464 return &s, nil 15465} 15466 15467// updateAccountID returns a pointer to a modified copy of input, 15468// if account id is not provided, we update the account id in modified input 15469// if account id is provided, but doesn't match with the one in ARN, we throw an error 15470// if account id is not updated, we return nil. Note that original input is not modified. 15471func (s PutBucketTaggingInput) updateAccountID(accountId string) (interface{}, error) { 15472 if s.AccountId == nil { 15473 s.AccountId = aws.String(accountId) 15474 return &s, nil 15475 } else if *s.AccountId != accountId { 15476 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 15477 } 15478 return nil, nil 15479} 15480 15481type PutBucketTaggingOutput struct { 15482 _ struct{} `type:"structure"` 15483} 15484 15485// String returns the string representation. 15486// 15487// API parameter values that are decorated as "sensitive" in the API will not 15488// be included in the string output. The member name will be present, but the 15489// value will be replaced with "sensitive". 15490func (s PutBucketTaggingOutput) String() string { 15491 return awsutil.Prettify(s) 15492} 15493 15494// GoString returns the string representation. 15495// 15496// API parameter values that are decorated as "sensitive" in the API will not 15497// be included in the string output. The member name will be present, but the 15498// value will be replaced with "sensitive". 15499func (s PutBucketTaggingOutput) GoString() string { 15500 return s.String() 15501} 15502 15503type PutJobTaggingInput struct { 15504 _ struct{} `locationName:"PutJobTaggingRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 15505 15506 // The Amazon Web Services account ID associated with the S3 Batch Operations 15507 // job. 15508 // 15509 // AccountId is a required field 15510 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 15511 15512 // The ID for the S3 Batch Operations job whose tags you want to replace. 15513 // 15514 // JobId is a required field 15515 JobId *string `location:"uri" locationName:"id" min:"5" type:"string" required:"true"` 15516 15517 // The set of tags to associate with the S3 Batch Operations job. 15518 // 15519 // Tags is a required field 15520 Tags []*S3Tag `type:"list" required:"true"` 15521} 15522 15523// String returns the string representation. 15524// 15525// API parameter values that are decorated as "sensitive" in the API will not 15526// be included in the string output. The member name will be present, but the 15527// value will be replaced with "sensitive". 15528func (s PutJobTaggingInput) String() string { 15529 return awsutil.Prettify(s) 15530} 15531 15532// GoString returns the string representation. 15533// 15534// API parameter values that are decorated as "sensitive" in the API will not 15535// be included in the string output. The member name will be present, but the 15536// value will be replaced with "sensitive". 15537func (s PutJobTaggingInput) GoString() string { 15538 return s.String() 15539} 15540 15541// Validate inspects the fields of the type to determine if they are valid. 15542func (s *PutJobTaggingInput) Validate() error { 15543 invalidParams := request.ErrInvalidParams{Context: "PutJobTaggingInput"} 15544 if s.AccountId == nil { 15545 invalidParams.Add(request.NewErrParamRequired("AccountId")) 15546 } 15547 if s.AccountId != nil && len(*s.AccountId) < 1 { 15548 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 15549 } 15550 if s.JobId == nil { 15551 invalidParams.Add(request.NewErrParamRequired("JobId")) 15552 } 15553 if s.JobId != nil && len(*s.JobId) < 5 { 15554 invalidParams.Add(request.NewErrParamMinLen("JobId", 5)) 15555 } 15556 if s.Tags == nil { 15557 invalidParams.Add(request.NewErrParamRequired("Tags")) 15558 } 15559 if s.Tags != nil { 15560 for i, v := range s.Tags { 15561 if v == nil { 15562 continue 15563 } 15564 if err := v.Validate(); err != nil { 15565 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 15566 } 15567 } 15568 } 15569 15570 if invalidParams.Len() > 0 { 15571 return invalidParams 15572 } 15573 return nil 15574} 15575 15576// SetAccountId sets the AccountId field's value. 15577func (s *PutJobTaggingInput) SetAccountId(v string) *PutJobTaggingInput { 15578 s.AccountId = &v 15579 return s 15580} 15581 15582// SetJobId sets the JobId field's value. 15583func (s *PutJobTaggingInput) SetJobId(v string) *PutJobTaggingInput { 15584 s.JobId = &v 15585 return s 15586} 15587 15588// SetTags sets the Tags field's value. 15589func (s *PutJobTaggingInput) SetTags(v []*S3Tag) *PutJobTaggingInput { 15590 s.Tags = v 15591 return s 15592} 15593 15594func (s *PutJobTaggingInput) hostLabels() map[string]string { 15595 return map[string]string{ 15596 "AccountId": aws.StringValue(s.AccountId), 15597 } 15598} 15599 15600type PutJobTaggingOutput struct { 15601 _ struct{} `type:"structure"` 15602} 15603 15604// String returns the string representation. 15605// 15606// API parameter values that are decorated as "sensitive" in the API will not 15607// be included in the string output. The member name will be present, but the 15608// value will be replaced with "sensitive". 15609func (s PutJobTaggingOutput) String() string { 15610 return awsutil.Prettify(s) 15611} 15612 15613// GoString returns the string representation. 15614// 15615// API parameter values that are decorated as "sensitive" in the API will not 15616// be included in the string output. The member name will be present, but the 15617// value will be replaced with "sensitive". 15618func (s PutJobTaggingOutput) GoString() string { 15619 return s.String() 15620} 15621 15622type PutMultiRegionAccessPointPolicyInput struct { 15623 _ struct{} `locationName:"PutMultiRegionAccessPointPolicyRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 15624 15625 // The Amazon Web Services account ID for the owner of the Multi-Region Access 15626 // Point. 15627 // 15628 // AccountId is a required field 15629 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 15630 15631 // An idempotency token used to identify the request and guarantee that requests 15632 // are unique. 15633 ClientToken *string `type:"string" idempotencyToken:"true"` 15634 15635 // A container element containing the details of the policy for the Multi-Region 15636 // Access Point. 15637 // 15638 // Details is a required field 15639 Details *PutMultiRegionAccessPointPolicyInput_ `type:"structure" required:"true"` 15640} 15641 15642// String returns the string representation. 15643// 15644// API parameter values that are decorated as "sensitive" in the API will not 15645// be included in the string output. The member name will be present, but the 15646// value will be replaced with "sensitive". 15647func (s PutMultiRegionAccessPointPolicyInput) String() string { 15648 return awsutil.Prettify(s) 15649} 15650 15651// GoString returns the string representation. 15652// 15653// API parameter values that are decorated as "sensitive" in the API will not 15654// be included in the string output. The member name will be present, but the 15655// value will be replaced with "sensitive". 15656func (s PutMultiRegionAccessPointPolicyInput) GoString() string { 15657 return s.String() 15658} 15659 15660// Validate inspects the fields of the type to determine if they are valid. 15661func (s *PutMultiRegionAccessPointPolicyInput) Validate() error { 15662 invalidParams := request.ErrInvalidParams{Context: "PutMultiRegionAccessPointPolicyInput"} 15663 if s.AccountId == nil { 15664 invalidParams.Add(request.NewErrParamRequired("AccountId")) 15665 } 15666 if s.AccountId != nil && len(*s.AccountId) < 1 { 15667 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 15668 } 15669 if s.Details == nil { 15670 invalidParams.Add(request.NewErrParamRequired("Details")) 15671 } 15672 if s.Details != nil { 15673 if err := s.Details.Validate(); err != nil { 15674 invalidParams.AddNested("Details", err.(request.ErrInvalidParams)) 15675 } 15676 } 15677 15678 if invalidParams.Len() > 0 { 15679 return invalidParams 15680 } 15681 return nil 15682} 15683 15684// SetAccountId sets the AccountId field's value. 15685func (s *PutMultiRegionAccessPointPolicyInput) SetAccountId(v string) *PutMultiRegionAccessPointPolicyInput { 15686 s.AccountId = &v 15687 return s 15688} 15689 15690// SetClientToken sets the ClientToken field's value. 15691func (s *PutMultiRegionAccessPointPolicyInput) SetClientToken(v string) *PutMultiRegionAccessPointPolicyInput { 15692 s.ClientToken = &v 15693 return s 15694} 15695 15696// SetDetails sets the Details field's value. 15697func (s *PutMultiRegionAccessPointPolicyInput) SetDetails(v *PutMultiRegionAccessPointPolicyInput_) *PutMultiRegionAccessPointPolicyInput { 15698 s.Details = v 15699 return s 15700} 15701 15702func (s *PutMultiRegionAccessPointPolicyInput) hostLabels() map[string]string { 15703 return map[string]string{ 15704 "AccountId": aws.StringValue(s.AccountId), 15705 } 15706} 15707 15708// A container for the information associated with a PutMultiRegionAccessPoint 15709// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutMultiRegionAccessPoint.html) 15710// request. 15711type PutMultiRegionAccessPointPolicyInput_ struct { 15712 _ struct{} `type:"structure"` 15713 15714 // The name of the Multi-Region Access Point associated with the request. 15715 // 15716 // Name is a required field 15717 Name *string `type:"string" required:"true"` 15718 15719 // The policy details for the PutMultiRegionAccessPoint request. 15720 // 15721 // Policy is a required field 15722 Policy *string `type:"string" required:"true"` 15723} 15724 15725// String returns the string representation. 15726// 15727// API parameter values that are decorated as "sensitive" in the API will not 15728// be included in the string output. The member name will be present, but the 15729// value will be replaced with "sensitive". 15730func (s PutMultiRegionAccessPointPolicyInput_) String() string { 15731 return awsutil.Prettify(s) 15732} 15733 15734// GoString returns the string representation. 15735// 15736// API parameter values that are decorated as "sensitive" in the API will not 15737// be included in the string output. The member name will be present, but the 15738// value will be replaced with "sensitive". 15739func (s PutMultiRegionAccessPointPolicyInput_) GoString() string { 15740 return s.String() 15741} 15742 15743// Validate inspects the fields of the type to determine if they are valid. 15744func (s *PutMultiRegionAccessPointPolicyInput_) Validate() error { 15745 invalidParams := request.ErrInvalidParams{Context: "PutMultiRegionAccessPointPolicyInput_"} 15746 if s.Name == nil { 15747 invalidParams.Add(request.NewErrParamRequired("Name")) 15748 } 15749 if s.Policy == nil { 15750 invalidParams.Add(request.NewErrParamRequired("Policy")) 15751 } 15752 15753 if invalidParams.Len() > 0 { 15754 return invalidParams 15755 } 15756 return nil 15757} 15758 15759// SetName sets the Name field's value. 15760func (s *PutMultiRegionAccessPointPolicyInput_) SetName(v string) *PutMultiRegionAccessPointPolicyInput_ { 15761 s.Name = &v 15762 return s 15763} 15764 15765// SetPolicy sets the Policy field's value. 15766func (s *PutMultiRegionAccessPointPolicyInput_) SetPolicy(v string) *PutMultiRegionAccessPointPolicyInput_ { 15767 s.Policy = &v 15768 return s 15769} 15770 15771type PutMultiRegionAccessPointPolicyOutput struct { 15772 _ struct{} `type:"structure"` 15773 15774 // The request token associated with the request. You can use this token with 15775 // DescribeMultiRegionAccessPointOperation (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeMultiRegionAccessPointOperation.html) 15776 // to determine the status of asynchronous requests. 15777 RequestTokenARN *string `min:"1" type:"string"` 15778} 15779 15780// String returns the string representation. 15781// 15782// API parameter values that are decorated as "sensitive" in the API will not 15783// be included in the string output. The member name will be present, but the 15784// value will be replaced with "sensitive". 15785func (s PutMultiRegionAccessPointPolicyOutput) String() string { 15786 return awsutil.Prettify(s) 15787} 15788 15789// GoString returns the string representation. 15790// 15791// API parameter values that are decorated as "sensitive" in the API will not 15792// be included in the string output. The member name will be present, but the 15793// value will be replaced with "sensitive". 15794func (s PutMultiRegionAccessPointPolicyOutput) GoString() string { 15795 return s.String() 15796} 15797 15798// SetRequestTokenARN sets the RequestTokenARN field's value. 15799func (s *PutMultiRegionAccessPointPolicyOutput) SetRequestTokenARN(v string) *PutMultiRegionAccessPointPolicyOutput { 15800 s.RequestTokenARN = &v 15801 return s 15802} 15803 15804type PutPublicAccessBlockInput struct { 15805 _ struct{} `locationName:"PutPublicAccessBlockRequest" type:"structure" payload:"PublicAccessBlockConfiguration"` 15806 15807 // The account ID for the Amazon Web Services account whose PublicAccessBlock 15808 // configuration you want to set. 15809 // 15810 // AccountId is a required field 15811 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 15812 15813 // The PublicAccessBlock configuration that you want to apply to the specified 15814 // Amazon Web Services account. 15815 // 15816 // PublicAccessBlockConfiguration is a required field 15817 PublicAccessBlockConfiguration *PublicAccessBlockConfiguration `locationName:"PublicAccessBlockConfiguration" type:"structure" required:"true" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 15818} 15819 15820// String returns the string representation. 15821// 15822// API parameter values that are decorated as "sensitive" in the API will not 15823// be included in the string output. The member name will be present, but the 15824// value will be replaced with "sensitive". 15825func (s PutPublicAccessBlockInput) String() string { 15826 return awsutil.Prettify(s) 15827} 15828 15829// GoString returns the string representation. 15830// 15831// API parameter values that are decorated as "sensitive" in the API will not 15832// be included in the string output. The member name will be present, but the 15833// value will be replaced with "sensitive". 15834func (s PutPublicAccessBlockInput) GoString() string { 15835 return s.String() 15836} 15837 15838// Validate inspects the fields of the type to determine if they are valid. 15839func (s *PutPublicAccessBlockInput) Validate() error { 15840 invalidParams := request.ErrInvalidParams{Context: "PutPublicAccessBlockInput"} 15841 if s.AccountId == nil { 15842 invalidParams.Add(request.NewErrParamRequired("AccountId")) 15843 } 15844 if s.AccountId != nil && len(*s.AccountId) < 1 { 15845 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 15846 } 15847 if s.PublicAccessBlockConfiguration == nil { 15848 invalidParams.Add(request.NewErrParamRequired("PublicAccessBlockConfiguration")) 15849 } 15850 15851 if invalidParams.Len() > 0 { 15852 return invalidParams 15853 } 15854 return nil 15855} 15856 15857// SetAccountId sets the AccountId field's value. 15858func (s *PutPublicAccessBlockInput) SetAccountId(v string) *PutPublicAccessBlockInput { 15859 s.AccountId = &v 15860 return s 15861} 15862 15863// SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value. 15864func (s *PutPublicAccessBlockInput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *PutPublicAccessBlockInput { 15865 s.PublicAccessBlockConfiguration = v 15866 return s 15867} 15868 15869func (s *PutPublicAccessBlockInput) hostLabels() map[string]string { 15870 return map[string]string{ 15871 "AccountId": aws.StringValue(s.AccountId), 15872 } 15873} 15874 15875type PutPublicAccessBlockOutput struct { 15876 _ struct{} `type:"structure"` 15877} 15878 15879// String returns the string representation. 15880// 15881// API parameter values that are decorated as "sensitive" in the API will not 15882// be included in the string output. The member name will be present, but the 15883// value will be replaced with "sensitive". 15884func (s PutPublicAccessBlockOutput) String() string { 15885 return awsutil.Prettify(s) 15886} 15887 15888// GoString returns the string representation. 15889// 15890// API parameter values that are decorated as "sensitive" in the API will not 15891// be included in the string output. The member name will be present, but the 15892// value will be replaced with "sensitive". 15893func (s PutPublicAccessBlockOutput) GoString() string { 15894 return s.String() 15895} 15896 15897type PutStorageLensConfigurationInput struct { 15898 _ struct{} `locationName:"PutStorageLensConfigurationRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 15899 15900 // The account ID of the requester. 15901 // 15902 // AccountId is a required field 15903 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 15904 15905 // The ID of the S3 Storage Lens configuration. 15906 // 15907 // ConfigId is a required field 15908 ConfigId *string `location:"uri" locationName:"storagelensid" min:"1" type:"string" required:"true"` 15909 15910 // The S3 Storage Lens configuration. 15911 // 15912 // StorageLensConfiguration is a required field 15913 StorageLensConfiguration *StorageLensConfiguration `type:"structure" required:"true"` 15914 15915 // The tag set of the S3 Storage Lens configuration. 15916 // 15917 // You can set up to a maximum of 50 tags. 15918 Tags []*StorageLensTag `locationNameList:"Tag" type:"list"` 15919} 15920 15921// String returns the string representation. 15922// 15923// API parameter values that are decorated as "sensitive" in the API will not 15924// be included in the string output. The member name will be present, but the 15925// value will be replaced with "sensitive". 15926func (s PutStorageLensConfigurationInput) String() string { 15927 return awsutil.Prettify(s) 15928} 15929 15930// GoString returns the string representation. 15931// 15932// API parameter values that are decorated as "sensitive" in the API will not 15933// be included in the string output. The member name will be present, but the 15934// value will be replaced with "sensitive". 15935func (s PutStorageLensConfigurationInput) GoString() string { 15936 return s.String() 15937} 15938 15939// Validate inspects the fields of the type to determine if they are valid. 15940func (s *PutStorageLensConfigurationInput) Validate() error { 15941 invalidParams := request.ErrInvalidParams{Context: "PutStorageLensConfigurationInput"} 15942 if s.AccountId == nil { 15943 invalidParams.Add(request.NewErrParamRequired("AccountId")) 15944 } 15945 if s.AccountId != nil && len(*s.AccountId) < 1 { 15946 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 15947 } 15948 if s.ConfigId == nil { 15949 invalidParams.Add(request.NewErrParamRequired("ConfigId")) 15950 } 15951 if s.ConfigId != nil && len(*s.ConfigId) < 1 { 15952 invalidParams.Add(request.NewErrParamMinLen("ConfigId", 1)) 15953 } 15954 if s.StorageLensConfiguration == nil { 15955 invalidParams.Add(request.NewErrParamRequired("StorageLensConfiguration")) 15956 } 15957 if s.StorageLensConfiguration != nil { 15958 if err := s.StorageLensConfiguration.Validate(); err != nil { 15959 invalidParams.AddNested("StorageLensConfiguration", err.(request.ErrInvalidParams)) 15960 } 15961 } 15962 if s.Tags != nil { 15963 for i, v := range s.Tags { 15964 if v == nil { 15965 continue 15966 } 15967 if err := v.Validate(); err != nil { 15968 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 15969 } 15970 } 15971 } 15972 15973 if invalidParams.Len() > 0 { 15974 return invalidParams 15975 } 15976 return nil 15977} 15978 15979// SetAccountId sets the AccountId field's value. 15980func (s *PutStorageLensConfigurationInput) SetAccountId(v string) *PutStorageLensConfigurationInput { 15981 s.AccountId = &v 15982 return s 15983} 15984 15985// SetConfigId sets the ConfigId field's value. 15986func (s *PutStorageLensConfigurationInput) SetConfigId(v string) *PutStorageLensConfigurationInput { 15987 s.ConfigId = &v 15988 return s 15989} 15990 15991// SetStorageLensConfiguration sets the StorageLensConfiguration field's value. 15992func (s *PutStorageLensConfigurationInput) SetStorageLensConfiguration(v *StorageLensConfiguration) *PutStorageLensConfigurationInput { 15993 s.StorageLensConfiguration = v 15994 return s 15995} 15996 15997// SetTags sets the Tags field's value. 15998func (s *PutStorageLensConfigurationInput) SetTags(v []*StorageLensTag) *PutStorageLensConfigurationInput { 15999 s.Tags = v 16000 return s 16001} 16002 16003func (s *PutStorageLensConfigurationInput) hostLabels() map[string]string { 16004 return map[string]string{ 16005 "AccountId": aws.StringValue(s.AccountId), 16006 } 16007} 16008 16009type PutStorageLensConfigurationOutput struct { 16010 _ struct{} `type:"structure"` 16011} 16012 16013// String returns the string representation. 16014// 16015// API parameter values that are decorated as "sensitive" in the API will not 16016// be included in the string output. The member name will be present, but the 16017// value will be replaced with "sensitive". 16018func (s PutStorageLensConfigurationOutput) String() string { 16019 return awsutil.Prettify(s) 16020} 16021 16022// GoString returns the string representation. 16023// 16024// API parameter values that are decorated as "sensitive" in the API will not 16025// be included in the string output. The member name will be present, but the 16026// value will be replaced with "sensitive". 16027func (s PutStorageLensConfigurationOutput) GoString() string { 16028 return s.String() 16029} 16030 16031type PutStorageLensConfigurationTaggingInput struct { 16032 _ struct{} `locationName:"PutStorageLensConfigurationTaggingRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 16033 16034 // The account ID of the requester. 16035 // 16036 // AccountId is a required field 16037 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 16038 16039 // The ID of the S3 Storage Lens configuration. 16040 // 16041 // ConfigId is a required field 16042 ConfigId *string `location:"uri" locationName:"storagelensid" min:"1" type:"string" required:"true"` 16043 16044 // The tag set of the S3 Storage Lens configuration. 16045 // 16046 // You can set up to a maximum of 50 tags. 16047 // 16048 // Tags is a required field 16049 Tags []*StorageLensTag `locationNameList:"Tag" type:"list" required:"true"` 16050} 16051 16052// String returns the string representation. 16053// 16054// API parameter values that are decorated as "sensitive" in the API will not 16055// be included in the string output. The member name will be present, but the 16056// value will be replaced with "sensitive". 16057func (s PutStorageLensConfigurationTaggingInput) String() string { 16058 return awsutil.Prettify(s) 16059} 16060 16061// GoString returns the string representation. 16062// 16063// API parameter values that are decorated as "sensitive" in the API will not 16064// be included in the string output. The member name will be present, but the 16065// value will be replaced with "sensitive". 16066func (s PutStorageLensConfigurationTaggingInput) GoString() string { 16067 return s.String() 16068} 16069 16070// Validate inspects the fields of the type to determine if they are valid. 16071func (s *PutStorageLensConfigurationTaggingInput) Validate() error { 16072 invalidParams := request.ErrInvalidParams{Context: "PutStorageLensConfigurationTaggingInput"} 16073 if s.AccountId == nil { 16074 invalidParams.Add(request.NewErrParamRequired("AccountId")) 16075 } 16076 if s.AccountId != nil && len(*s.AccountId) < 1 { 16077 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 16078 } 16079 if s.ConfigId == nil { 16080 invalidParams.Add(request.NewErrParamRequired("ConfigId")) 16081 } 16082 if s.ConfigId != nil && len(*s.ConfigId) < 1 { 16083 invalidParams.Add(request.NewErrParamMinLen("ConfigId", 1)) 16084 } 16085 if s.Tags == nil { 16086 invalidParams.Add(request.NewErrParamRequired("Tags")) 16087 } 16088 if s.Tags != nil { 16089 for i, v := range s.Tags { 16090 if v == nil { 16091 continue 16092 } 16093 if err := v.Validate(); err != nil { 16094 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 16095 } 16096 } 16097 } 16098 16099 if invalidParams.Len() > 0 { 16100 return invalidParams 16101 } 16102 return nil 16103} 16104 16105// SetAccountId sets the AccountId field's value. 16106func (s *PutStorageLensConfigurationTaggingInput) SetAccountId(v string) *PutStorageLensConfigurationTaggingInput { 16107 s.AccountId = &v 16108 return s 16109} 16110 16111// SetConfigId sets the ConfigId field's value. 16112func (s *PutStorageLensConfigurationTaggingInput) SetConfigId(v string) *PutStorageLensConfigurationTaggingInput { 16113 s.ConfigId = &v 16114 return s 16115} 16116 16117// SetTags sets the Tags field's value. 16118func (s *PutStorageLensConfigurationTaggingInput) SetTags(v []*StorageLensTag) *PutStorageLensConfigurationTaggingInput { 16119 s.Tags = v 16120 return s 16121} 16122 16123func (s *PutStorageLensConfigurationTaggingInput) hostLabels() map[string]string { 16124 return map[string]string{ 16125 "AccountId": aws.StringValue(s.AccountId), 16126 } 16127} 16128 16129type PutStorageLensConfigurationTaggingOutput struct { 16130 _ struct{} `type:"structure"` 16131} 16132 16133// String returns the string representation. 16134// 16135// API parameter values that are decorated as "sensitive" in the API will not 16136// be included in the string output. The member name will be present, but the 16137// value will be replaced with "sensitive". 16138func (s PutStorageLensConfigurationTaggingOutput) String() string { 16139 return awsutil.Prettify(s) 16140} 16141 16142// GoString returns the string representation. 16143// 16144// API parameter values that are decorated as "sensitive" in the API will not 16145// be included in the string output. The member name will be present, but the 16146// value will be replaced with "sensitive". 16147func (s PutStorageLensConfigurationTaggingOutput) GoString() string { 16148 return s.String() 16149} 16150 16151// A Region that supports a Multi-Region Access Point as well as the associated 16152// bucket for the Region. 16153type Region struct { 16154 _ struct{} `type:"structure"` 16155 16156 // The name of the associated bucket for the Region. 16157 // 16158 // Bucket is a required field 16159 Bucket *string `min:"3" type:"string" required:"true"` 16160} 16161 16162// String returns the string representation. 16163// 16164// API parameter values that are decorated as "sensitive" in the API will not 16165// be included in the string output. The member name will be present, but the 16166// value will be replaced with "sensitive". 16167func (s Region) String() string { 16168 return awsutil.Prettify(s) 16169} 16170 16171// GoString returns the string representation. 16172// 16173// API parameter values that are decorated as "sensitive" in the API will not 16174// be included in the string output. The member name will be present, but the 16175// value will be replaced with "sensitive". 16176func (s Region) GoString() string { 16177 return s.String() 16178} 16179 16180// Validate inspects the fields of the type to determine if they are valid. 16181func (s *Region) Validate() error { 16182 invalidParams := request.ErrInvalidParams{Context: "Region"} 16183 if s.Bucket == nil { 16184 invalidParams.Add(request.NewErrParamRequired("Bucket")) 16185 } 16186 if s.Bucket != nil && len(*s.Bucket) < 3 { 16187 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 16188 } 16189 16190 if invalidParams.Len() > 0 { 16191 return invalidParams 16192 } 16193 return nil 16194} 16195 16196// SetBucket sets the Bucket field's value. 16197func (s *Region) SetBucket(v string) *Region { 16198 s.Bucket = &v 16199 return s 16200} 16201 16202// A combination of a bucket and Region that's part of a Multi-Region Access 16203// Point. 16204type RegionReport struct { 16205 _ struct{} `type:"structure"` 16206 16207 // The name of the bucket. 16208 Bucket *string `min:"3" type:"string"` 16209 16210 // The name of the Region. 16211 Region *string `min:"1" type:"string"` 16212} 16213 16214// String returns the string representation. 16215// 16216// API parameter values that are decorated as "sensitive" in the API will not 16217// be included in the string output. The member name will be present, but the 16218// value will be replaced with "sensitive". 16219func (s RegionReport) String() string { 16220 return awsutil.Prettify(s) 16221} 16222 16223// GoString returns the string representation. 16224// 16225// API parameter values that are decorated as "sensitive" in the API will not 16226// be included in the string output. The member name will be present, but the 16227// value will be replaced with "sensitive". 16228func (s RegionReport) GoString() string { 16229 return s.String() 16230} 16231 16232// SetBucket sets the Bucket field's value. 16233func (s *RegionReport) SetBucket(v string) *RegionReport { 16234 s.Bucket = &v 16235 return s 16236} 16237 16238// SetRegion sets the Region field's value. 16239func (s *RegionReport) SetRegion(v string) *RegionReport { 16240 s.Region = &v 16241 return s 16242} 16243 16244// The container for the regional bucket. 16245type RegionalBucket struct { 16246 _ struct{} `type:"structure"` 16247 16248 // Bucket is a required field 16249 Bucket *string `min:"3" type:"string" required:"true"` 16250 16251 // The Amazon Resource Name (ARN) for the regional bucket. 16252 BucketArn *string `min:"4" type:"string"` 16253 16254 // The creation date of the regional bucket 16255 // 16256 // CreationDate is a required field 16257 CreationDate *time.Time `type:"timestamp" required:"true"` 16258 16259 // The Outposts ID of the regional bucket. 16260 OutpostId *string `min:"1" type:"string"` 16261 16262 // PublicAccessBlockEnabled is a required field 16263 PublicAccessBlockEnabled *bool `type:"boolean" required:"true"` 16264} 16265 16266// String returns the string representation. 16267// 16268// API parameter values that are decorated as "sensitive" in the API will not 16269// be included in the string output. The member name will be present, but the 16270// value will be replaced with "sensitive". 16271func (s RegionalBucket) String() string { 16272 return awsutil.Prettify(s) 16273} 16274 16275// GoString returns the string representation. 16276// 16277// API parameter values that are decorated as "sensitive" in the API will not 16278// be included in the string output. The member name will be present, but the 16279// value will be replaced with "sensitive". 16280func (s RegionalBucket) GoString() string { 16281 return s.String() 16282} 16283 16284// SetBucket sets the Bucket field's value. 16285func (s *RegionalBucket) SetBucket(v string) *RegionalBucket { 16286 s.Bucket = &v 16287 return s 16288} 16289 16290// SetBucketArn sets the BucketArn field's value. 16291func (s *RegionalBucket) SetBucketArn(v string) *RegionalBucket { 16292 s.BucketArn = &v 16293 return s 16294} 16295 16296// SetCreationDate sets the CreationDate field's value. 16297func (s *RegionalBucket) SetCreationDate(v time.Time) *RegionalBucket { 16298 s.CreationDate = &v 16299 return s 16300} 16301 16302// SetOutpostId sets the OutpostId field's value. 16303func (s *RegionalBucket) SetOutpostId(v string) *RegionalBucket { 16304 s.OutpostId = &v 16305 return s 16306} 16307 16308// SetPublicAccessBlockEnabled sets the PublicAccessBlockEnabled field's value. 16309func (s *RegionalBucket) SetPublicAccessBlockEnabled(v bool) *RegionalBucket { 16310 s.PublicAccessBlockEnabled = &v 16311 return s 16312} 16313 16314type S3AccessControlList struct { 16315 _ struct{} `type:"structure"` 16316 16317 Grants []*S3Grant `type:"list"` 16318 16319 // Owner is a required field 16320 Owner *S3ObjectOwner `type:"structure" required:"true"` 16321} 16322 16323// String returns the string representation. 16324// 16325// API parameter values that are decorated as "sensitive" in the API will not 16326// be included in the string output. The member name will be present, but the 16327// value will be replaced with "sensitive". 16328func (s S3AccessControlList) String() string { 16329 return awsutil.Prettify(s) 16330} 16331 16332// GoString returns the string representation. 16333// 16334// API parameter values that are decorated as "sensitive" in the API will not 16335// be included in the string output. The member name will be present, but the 16336// value will be replaced with "sensitive". 16337func (s S3AccessControlList) GoString() string { 16338 return s.String() 16339} 16340 16341// Validate inspects the fields of the type to determine if they are valid. 16342func (s *S3AccessControlList) Validate() error { 16343 invalidParams := request.ErrInvalidParams{Context: "S3AccessControlList"} 16344 if s.Owner == nil { 16345 invalidParams.Add(request.NewErrParamRequired("Owner")) 16346 } 16347 if s.Grants != nil { 16348 for i, v := range s.Grants { 16349 if v == nil { 16350 continue 16351 } 16352 if err := v.Validate(); err != nil { 16353 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Grants", i), err.(request.ErrInvalidParams)) 16354 } 16355 } 16356 } 16357 if s.Owner != nil { 16358 if err := s.Owner.Validate(); err != nil { 16359 invalidParams.AddNested("Owner", err.(request.ErrInvalidParams)) 16360 } 16361 } 16362 16363 if invalidParams.Len() > 0 { 16364 return invalidParams 16365 } 16366 return nil 16367} 16368 16369// SetGrants sets the Grants field's value. 16370func (s *S3AccessControlList) SetGrants(v []*S3Grant) *S3AccessControlList { 16371 s.Grants = v 16372 return s 16373} 16374 16375// SetOwner sets the Owner field's value. 16376func (s *S3AccessControlList) SetOwner(v *S3ObjectOwner) *S3AccessControlList { 16377 s.Owner = v 16378 return s 16379} 16380 16381type S3AccessControlPolicy struct { 16382 _ struct{} `type:"structure"` 16383 16384 AccessControlList *S3AccessControlList `type:"structure"` 16385 16386 CannedAccessControlList *string `type:"string" enum:"S3CannedAccessControlList"` 16387} 16388 16389// String returns the string representation. 16390// 16391// API parameter values that are decorated as "sensitive" in the API will not 16392// be included in the string output. The member name will be present, but the 16393// value will be replaced with "sensitive". 16394func (s S3AccessControlPolicy) String() string { 16395 return awsutil.Prettify(s) 16396} 16397 16398// GoString returns the string representation. 16399// 16400// API parameter values that are decorated as "sensitive" in the API will not 16401// be included in the string output. The member name will be present, but the 16402// value will be replaced with "sensitive". 16403func (s S3AccessControlPolicy) GoString() string { 16404 return s.String() 16405} 16406 16407// Validate inspects the fields of the type to determine if they are valid. 16408func (s *S3AccessControlPolicy) Validate() error { 16409 invalidParams := request.ErrInvalidParams{Context: "S3AccessControlPolicy"} 16410 if s.AccessControlList != nil { 16411 if err := s.AccessControlList.Validate(); err != nil { 16412 invalidParams.AddNested("AccessControlList", err.(request.ErrInvalidParams)) 16413 } 16414 } 16415 16416 if invalidParams.Len() > 0 { 16417 return invalidParams 16418 } 16419 return nil 16420} 16421 16422// SetAccessControlList sets the AccessControlList field's value. 16423func (s *S3AccessControlPolicy) SetAccessControlList(v *S3AccessControlList) *S3AccessControlPolicy { 16424 s.AccessControlList = v 16425 return s 16426} 16427 16428// SetCannedAccessControlList sets the CannedAccessControlList field's value. 16429func (s *S3AccessControlPolicy) SetCannedAccessControlList(v string) *S3AccessControlPolicy { 16430 s.CannedAccessControlList = &v 16431 return s 16432} 16433 16434// A container for the bucket where the Amazon S3 Storage Lens metrics export 16435// files are located. 16436type S3BucketDestination struct { 16437 _ struct{} `type:"structure"` 16438 16439 // The account ID of the owner of the S3 Storage Lens metrics export bucket. 16440 // 16441 // AccountId is a required field 16442 AccountId *string `type:"string" required:"true"` 16443 16444 // The Amazon Resource Name (ARN) of the bucket. This property is read-only 16445 // and follows the following format: arn:aws:s3:us-east-1:example-account-id:bucket/your-destination-bucket-name 16446 // 16447 // Arn is a required field 16448 Arn *string `min:"1" type:"string" required:"true"` 16449 16450 // The container for the type encryption of the metrics exports in this bucket. 16451 Encryption *StorageLensDataExportEncryption `type:"structure"` 16452 16453 // Format is a required field 16454 Format *string `type:"string" required:"true" enum:"Format"` 16455 16456 // The schema version of the export file. 16457 // 16458 // OutputSchemaVersion is a required field 16459 OutputSchemaVersion *string `type:"string" required:"true" enum:"OutputSchemaVersion"` 16460 16461 // The prefix of the destination bucket where the metrics export will be delivered. 16462 Prefix *string `type:"string"` 16463} 16464 16465// String returns the string representation. 16466// 16467// API parameter values that are decorated as "sensitive" in the API will not 16468// be included in the string output. The member name will be present, but the 16469// value will be replaced with "sensitive". 16470func (s S3BucketDestination) String() string { 16471 return awsutil.Prettify(s) 16472} 16473 16474// GoString returns the string representation. 16475// 16476// API parameter values that are decorated as "sensitive" in the API will not 16477// be included in the string output. The member name will be present, but the 16478// value will be replaced with "sensitive". 16479func (s S3BucketDestination) GoString() string { 16480 return s.String() 16481} 16482 16483// Validate inspects the fields of the type to determine if they are valid. 16484func (s *S3BucketDestination) Validate() error { 16485 invalidParams := request.ErrInvalidParams{Context: "S3BucketDestination"} 16486 if s.AccountId == nil { 16487 invalidParams.Add(request.NewErrParamRequired("AccountId")) 16488 } 16489 if s.Arn == nil { 16490 invalidParams.Add(request.NewErrParamRequired("Arn")) 16491 } 16492 if s.Arn != nil && len(*s.Arn) < 1 { 16493 invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) 16494 } 16495 if s.Format == nil { 16496 invalidParams.Add(request.NewErrParamRequired("Format")) 16497 } 16498 if s.OutputSchemaVersion == nil { 16499 invalidParams.Add(request.NewErrParamRequired("OutputSchemaVersion")) 16500 } 16501 if s.Encryption != nil { 16502 if err := s.Encryption.Validate(); err != nil { 16503 invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams)) 16504 } 16505 } 16506 16507 if invalidParams.Len() > 0 { 16508 return invalidParams 16509 } 16510 return nil 16511} 16512 16513// SetAccountId sets the AccountId field's value. 16514func (s *S3BucketDestination) SetAccountId(v string) *S3BucketDestination { 16515 s.AccountId = &v 16516 return s 16517} 16518 16519// SetArn sets the Arn field's value. 16520func (s *S3BucketDestination) SetArn(v string) *S3BucketDestination { 16521 s.Arn = &v 16522 return s 16523} 16524 16525// SetEncryption sets the Encryption field's value. 16526func (s *S3BucketDestination) SetEncryption(v *StorageLensDataExportEncryption) *S3BucketDestination { 16527 s.Encryption = v 16528 return s 16529} 16530 16531// SetFormat sets the Format field's value. 16532func (s *S3BucketDestination) SetFormat(v string) *S3BucketDestination { 16533 s.Format = &v 16534 return s 16535} 16536 16537// SetOutputSchemaVersion sets the OutputSchemaVersion field's value. 16538func (s *S3BucketDestination) SetOutputSchemaVersion(v string) *S3BucketDestination { 16539 s.OutputSchemaVersion = &v 16540 return s 16541} 16542 16543// SetPrefix sets the Prefix field's value. 16544func (s *S3BucketDestination) SetPrefix(v string) *S3BucketDestination { 16545 s.Prefix = &v 16546 return s 16547} 16548 16549// Contains the configuration parameters for a PUT Copy object operation. S3 16550// Batch Operations passes every object to the underlying PUT Copy object API. 16551// For more information about the parameters for this operation, see PUT Object 16552// - Copy (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectCOPY.html). 16553type S3CopyObjectOperation struct { 16554 _ struct{} `type:"structure"` 16555 16556 AccessControlGrants []*S3Grant `type:"list"` 16557 16558 // Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption 16559 // with server-side encryption using Amazon Web Services KMS (SSE-KMS). Setting 16560 // this header to true causes Amazon S3 to use an S3 Bucket Key for object encryption 16561 // with SSE-KMS. 16562 // 16563 // Specifying this header with an object action doesn’t affect bucket-level 16564 // settings for S3 Bucket Key. 16565 BucketKeyEnabled *bool `type:"boolean"` 16566 16567 CannedAccessControlList *string `type:"string" enum:"S3CannedAccessControlList"` 16568 16569 MetadataDirective *string `type:"string" enum:"S3MetadataDirective"` 16570 16571 ModifiedSinceConstraint *time.Time `type:"timestamp"` 16572 16573 NewObjectMetadata *S3ObjectMetadata `type:"structure"` 16574 16575 NewObjectTagging []*S3Tag `type:"list"` 16576 16577 // The legal hold status to be applied to all objects in the Batch Operations 16578 // job. 16579 ObjectLockLegalHoldStatus *string `type:"string" enum:"S3ObjectLockLegalHoldStatus"` 16580 16581 // The retention mode to be applied to all objects in the Batch Operations job. 16582 ObjectLockMode *string `type:"string" enum:"S3ObjectLockMode"` 16583 16584 // The date when the applied object retention configuration expires on all objects 16585 // in the Batch Operations job. 16586 ObjectLockRetainUntilDate *time.Time `type:"timestamp"` 16587 16588 // Specifies an optional metadata property for website redirects, x-amz-website-redirect-location. 16589 // Allows webpage redirects if the object is accessed through a website endpoint. 16590 RedirectLocation *string `min:"1" type:"string"` 16591 16592 RequesterPays *bool `type:"boolean"` 16593 16594 SSEAwsKmsKeyId *string `min:"1" type:"string"` 16595 16596 StorageClass *string `type:"string" enum:"S3StorageClass"` 16597 16598 // Specifies the folder prefix into which you would like the objects to be copied. 16599 // For example, to copy objects into a folder named "Folder1" in the destination 16600 // bucket, set the TargetKeyPrefix to "Folder1/". 16601 TargetKeyPrefix *string `min:"1" type:"string"` 16602 16603 // Specifies the destination bucket ARN for the batch copy operation. For example, 16604 // to copy objects to a bucket named "destinationBucket", set the TargetResource 16605 // to "arn:aws:s3:::destinationBucket". 16606 TargetResource *string `min:"1" type:"string"` 16607 16608 UnModifiedSinceConstraint *time.Time `type:"timestamp"` 16609} 16610 16611// String returns the string representation. 16612// 16613// API parameter values that are decorated as "sensitive" in the API will not 16614// be included in the string output. The member name will be present, but the 16615// value will be replaced with "sensitive". 16616func (s S3CopyObjectOperation) String() string { 16617 return awsutil.Prettify(s) 16618} 16619 16620// GoString returns the string representation. 16621// 16622// API parameter values that are decorated as "sensitive" in the API will not 16623// be included in the string output. The member name will be present, but the 16624// value will be replaced with "sensitive". 16625func (s S3CopyObjectOperation) GoString() string { 16626 return s.String() 16627} 16628 16629// Validate inspects the fields of the type to determine if they are valid. 16630func (s *S3CopyObjectOperation) Validate() error { 16631 invalidParams := request.ErrInvalidParams{Context: "S3CopyObjectOperation"} 16632 if s.RedirectLocation != nil && len(*s.RedirectLocation) < 1 { 16633 invalidParams.Add(request.NewErrParamMinLen("RedirectLocation", 1)) 16634 } 16635 if s.SSEAwsKmsKeyId != nil && len(*s.SSEAwsKmsKeyId) < 1 { 16636 invalidParams.Add(request.NewErrParamMinLen("SSEAwsKmsKeyId", 1)) 16637 } 16638 if s.TargetKeyPrefix != nil && len(*s.TargetKeyPrefix) < 1 { 16639 invalidParams.Add(request.NewErrParamMinLen("TargetKeyPrefix", 1)) 16640 } 16641 if s.TargetResource != nil && len(*s.TargetResource) < 1 { 16642 invalidParams.Add(request.NewErrParamMinLen("TargetResource", 1)) 16643 } 16644 if s.AccessControlGrants != nil { 16645 for i, v := range s.AccessControlGrants { 16646 if v == nil { 16647 continue 16648 } 16649 if err := v.Validate(); err != nil { 16650 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccessControlGrants", i), err.(request.ErrInvalidParams)) 16651 } 16652 } 16653 } 16654 if s.NewObjectMetadata != nil { 16655 if err := s.NewObjectMetadata.Validate(); err != nil { 16656 invalidParams.AddNested("NewObjectMetadata", err.(request.ErrInvalidParams)) 16657 } 16658 } 16659 if s.NewObjectTagging != nil { 16660 for i, v := range s.NewObjectTagging { 16661 if v == nil { 16662 continue 16663 } 16664 if err := v.Validate(); err != nil { 16665 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NewObjectTagging", i), err.(request.ErrInvalidParams)) 16666 } 16667 } 16668 } 16669 16670 if invalidParams.Len() > 0 { 16671 return invalidParams 16672 } 16673 return nil 16674} 16675 16676// SetAccessControlGrants sets the AccessControlGrants field's value. 16677func (s *S3CopyObjectOperation) SetAccessControlGrants(v []*S3Grant) *S3CopyObjectOperation { 16678 s.AccessControlGrants = v 16679 return s 16680} 16681 16682// SetBucketKeyEnabled sets the BucketKeyEnabled field's value. 16683func (s *S3CopyObjectOperation) SetBucketKeyEnabled(v bool) *S3CopyObjectOperation { 16684 s.BucketKeyEnabled = &v 16685 return s 16686} 16687 16688// SetCannedAccessControlList sets the CannedAccessControlList field's value. 16689func (s *S3CopyObjectOperation) SetCannedAccessControlList(v string) *S3CopyObjectOperation { 16690 s.CannedAccessControlList = &v 16691 return s 16692} 16693 16694// SetMetadataDirective sets the MetadataDirective field's value. 16695func (s *S3CopyObjectOperation) SetMetadataDirective(v string) *S3CopyObjectOperation { 16696 s.MetadataDirective = &v 16697 return s 16698} 16699 16700// SetModifiedSinceConstraint sets the ModifiedSinceConstraint field's value. 16701func (s *S3CopyObjectOperation) SetModifiedSinceConstraint(v time.Time) *S3CopyObjectOperation { 16702 s.ModifiedSinceConstraint = &v 16703 return s 16704} 16705 16706// SetNewObjectMetadata sets the NewObjectMetadata field's value. 16707func (s *S3CopyObjectOperation) SetNewObjectMetadata(v *S3ObjectMetadata) *S3CopyObjectOperation { 16708 s.NewObjectMetadata = v 16709 return s 16710} 16711 16712// SetNewObjectTagging sets the NewObjectTagging field's value. 16713func (s *S3CopyObjectOperation) SetNewObjectTagging(v []*S3Tag) *S3CopyObjectOperation { 16714 s.NewObjectTagging = v 16715 return s 16716} 16717 16718// SetObjectLockLegalHoldStatus sets the ObjectLockLegalHoldStatus field's value. 16719func (s *S3CopyObjectOperation) SetObjectLockLegalHoldStatus(v string) *S3CopyObjectOperation { 16720 s.ObjectLockLegalHoldStatus = &v 16721 return s 16722} 16723 16724// SetObjectLockMode sets the ObjectLockMode field's value. 16725func (s *S3CopyObjectOperation) SetObjectLockMode(v string) *S3CopyObjectOperation { 16726 s.ObjectLockMode = &v 16727 return s 16728} 16729 16730// SetObjectLockRetainUntilDate sets the ObjectLockRetainUntilDate field's value. 16731func (s *S3CopyObjectOperation) SetObjectLockRetainUntilDate(v time.Time) *S3CopyObjectOperation { 16732 s.ObjectLockRetainUntilDate = &v 16733 return s 16734} 16735 16736// SetRedirectLocation sets the RedirectLocation field's value. 16737func (s *S3CopyObjectOperation) SetRedirectLocation(v string) *S3CopyObjectOperation { 16738 s.RedirectLocation = &v 16739 return s 16740} 16741 16742// SetRequesterPays sets the RequesterPays field's value. 16743func (s *S3CopyObjectOperation) SetRequesterPays(v bool) *S3CopyObjectOperation { 16744 s.RequesterPays = &v 16745 return s 16746} 16747 16748// SetSSEAwsKmsKeyId sets the SSEAwsKmsKeyId field's value. 16749func (s *S3CopyObjectOperation) SetSSEAwsKmsKeyId(v string) *S3CopyObjectOperation { 16750 s.SSEAwsKmsKeyId = &v 16751 return s 16752} 16753 16754// SetStorageClass sets the StorageClass field's value. 16755func (s *S3CopyObjectOperation) SetStorageClass(v string) *S3CopyObjectOperation { 16756 s.StorageClass = &v 16757 return s 16758} 16759 16760// SetTargetKeyPrefix sets the TargetKeyPrefix field's value. 16761func (s *S3CopyObjectOperation) SetTargetKeyPrefix(v string) *S3CopyObjectOperation { 16762 s.TargetKeyPrefix = &v 16763 return s 16764} 16765 16766// SetTargetResource sets the TargetResource field's value. 16767func (s *S3CopyObjectOperation) SetTargetResource(v string) *S3CopyObjectOperation { 16768 s.TargetResource = &v 16769 return s 16770} 16771 16772// SetUnModifiedSinceConstraint sets the UnModifiedSinceConstraint field's value. 16773func (s *S3CopyObjectOperation) SetUnModifiedSinceConstraint(v time.Time) *S3CopyObjectOperation { 16774 s.UnModifiedSinceConstraint = &v 16775 return s 16776} 16777 16778// Contains no configuration parameters because the DELETE Object tagging API 16779// only accepts the bucket name and key name as parameters, which are defined 16780// in the job's manifest. 16781type S3DeleteObjectTaggingOperation struct { 16782 _ struct{} `type:"structure"` 16783} 16784 16785// String returns the string representation. 16786// 16787// API parameter values that are decorated as "sensitive" in the API will not 16788// be included in the string output. The member name will be present, but the 16789// value will be replaced with "sensitive". 16790func (s S3DeleteObjectTaggingOperation) String() string { 16791 return awsutil.Prettify(s) 16792} 16793 16794// GoString returns the string representation. 16795// 16796// API parameter values that are decorated as "sensitive" in the API will not 16797// be included in the string output. The member name will be present, but the 16798// value will be replaced with "sensitive". 16799func (s S3DeleteObjectTaggingOperation) GoString() string { 16800 return s.String() 16801} 16802 16803type S3Grant struct { 16804 _ struct{} `type:"structure"` 16805 16806 Grantee *S3Grantee `type:"structure"` 16807 16808 Permission *string `type:"string" enum:"S3Permission"` 16809} 16810 16811// String returns the string representation. 16812// 16813// API parameter values that are decorated as "sensitive" in the API will not 16814// be included in the string output. The member name will be present, but the 16815// value will be replaced with "sensitive". 16816func (s S3Grant) String() string { 16817 return awsutil.Prettify(s) 16818} 16819 16820// GoString returns the string representation. 16821// 16822// API parameter values that are decorated as "sensitive" in the API will not 16823// be included in the string output. The member name will be present, but the 16824// value will be replaced with "sensitive". 16825func (s S3Grant) GoString() string { 16826 return s.String() 16827} 16828 16829// Validate inspects the fields of the type to determine if they are valid. 16830func (s *S3Grant) Validate() error { 16831 invalidParams := request.ErrInvalidParams{Context: "S3Grant"} 16832 if s.Grantee != nil { 16833 if err := s.Grantee.Validate(); err != nil { 16834 invalidParams.AddNested("Grantee", err.(request.ErrInvalidParams)) 16835 } 16836 } 16837 16838 if invalidParams.Len() > 0 { 16839 return invalidParams 16840 } 16841 return nil 16842} 16843 16844// SetGrantee sets the Grantee field's value. 16845func (s *S3Grant) SetGrantee(v *S3Grantee) *S3Grant { 16846 s.Grantee = v 16847 return s 16848} 16849 16850// SetPermission sets the Permission field's value. 16851func (s *S3Grant) SetPermission(v string) *S3Grant { 16852 s.Permission = &v 16853 return s 16854} 16855 16856type S3Grantee struct { 16857 _ struct{} `type:"structure"` 16858 16859 DisplayName *string `min:"1" type:"string"` 16860 16861 Identifier *string `min:"1" type:"string"` 16862 16863 TypeIdentifier *string `type:"string" enum:"S3GranteeTypeIdentifier"` 16864} 16865 16866// String returns the string representation. 16867// 16868// API parameter values that are decorated as "sensitive" in the API will not 16869// be included in the string output. The member name will be present, but the 16870// value will be replaced with "sensitive". 16871func (s S3Grantee) String() string { 16872 return awsutil.Prettify(s) 16873} 16874 16875// GoString returns the string representation. 16876// 16877// API parameter values that are decorated as "sensitive" in the API will not 16878// be included in the string output. The member name will be present, but the 16879// value will be replaced with "sensitive". 16880func (s S3Grantee) GoString() string { 16881 return s.String() 16882} 16883 16884// Validate inspects the fields of the type to determine if they are valid. 16885func (s *S3Grantee) Validate() error { 16886 invalidParams := request.ErrInvalidParams{Context: "S3Grantee"} 16887 if s.DisplayName != nil && len(*s.DisplayName) < 1 { 16888 invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1)) 16889 } 16890 if s.Identifier != nil && len(*s.Identifier) < 1 { 16891 invalidParams.Add(request.NewErrParamMinLen("Identifier", 1)) 16892 } 16893 16894 if invalidParams.Len() > 0 { 16895 return invalidParams 16896 } 16897 return nil 16898} 16899 16900// SetDisplayName sets the DisplayName field's value. 16901func (s *S3Grantee) SetDisplayName(v string) *S3Grantee { 16902 s.DisplayName = &v 16903 return s 16904} 16905 16906// SetIdentifier sets the Identifier field's value. 16907func (s *S3Grantee) SetIdentifier(v string) *S3Grantee { 16908 s.Identifier = &v 16909 return s 16910} 16911 16912// SetTypeIdentifier sets the TypeIdentifier field's value. 16913func (s *S3Grantee) SetTypeIdentifier(v string) *S3Grantee { 16914 s.TypeIdentifier = &v 16915 return s 16916} 16917 16918// Contains the configuration parameters for an S3 Initiate Restore Object job. 16919// S3 Batch Operations passes every object to the underlying POST Object restore 16920// API. For more information about the parameters for this operation, see RestoreObject 16921// (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOSTrestore.html#RESTObjectPOSTrestore-restore-request). 16922type S3InitiateRestoreObjectOperation struct { 16923 _ struct{} `type:"structure"` 16924 16925 // This argument specifies how long the S3 Glacier or S3 Glacier Deep Archive 16926 // object remains available in Amazon S3. S3 Initiate Restore Object jobs that 16927 // target S3 Glacier and S3 Glacier Deep Archive objects require ExpirationInDays 16928 // set to 1 or greater. 16929 // 16930 // Conversely, do not set ExpirationInDays when creating S3 Initiate Restore 16931 // Object jobs that target S3 Intelligent-Tiering Archive Access and Deep Archive 16932 // Access tier objects. Objects in S3 Intelligent-Tiering archive access tiers 16933 // are not subject to restore expiry, so specifying ExpirationInDays results 16934 // in restore request failure. 16935 // 16936 // S3 Batch Operations jobs can operate either on S3 Glacier and S3 Glacier 16937 // Deep Archive storage class objects or on S3 Intelligent-Tiering Archive Access 16938 // and Deep Archive Access storage tier objects, but not both types in the same 16939 // job. If you need to restore objects of both types you must create separate 16940 // Batch Operations jobs. 16941 ExpirationInDays *int64 `type:"integer"` 16942 16943 // S3 Batch Operations supports STANDARD and BULK retrieval tiers, but not the 16944 // EXPEDITED retrieval tier. 16945 GlacierJobTier *string `type:"string" enum:"S3GlacierJobTier"` 16946} 16947 16948// String returns the string representation. 16949// 16950// API parameter values that are decorated as "sensitive" in the API will not 16951// be included in the string output. The member name will be present, but the 16952// value will be replaced with "sensitive". 16953func (s S3InitiateRestoreObjectOperation) String() string { 16954 return awsutil.Prettify(s) 16955} 16956 16957// GoString returns the string representation. 16958// 16959// API parameter values that are decorated as "sensitive" in the API will not 16960// be included in the string output. The member name will be present, but the 16961// value will be replaced with "sensitive". 16962func (s S3InitiateRestoreObjectOperation) GoString() string { 16963 return s.String() 16964} 16965 16966// SetExpirationInDays sets the ExpirationInDays field's value. 16967func (s *S3InitiateRestoreObjectOperation) SetExpirationInDays(v int64) *S3InitiateRestoreObjectOperation { 16968 s.ExpirationInDays = &v 16969 return s 16970} 16971 16972// SetGlacierJobTier sets the GlacierJobTier field's value. 16973func (s *S3InitiateRestoreObjectOperation) SetGlacierJobTier(v string) *S3InitiateRestoreObjectOperation { 16974 s.GlacierJobTier = &v 16975 return s 16976} 16977 16978// Whether S3 Object Lock legal hold will be applied to objects in an S3 Batch 16979// Operations job. 16980type S3ObjectLockLegalHold struct { 16981 _ struct{} `type:"structure"` 16982 16983 // The Object Lock legal hold status to be applied to all objects in the Batch 16984 // Operations job. 16985 // 16986 // Status is a required field 16987 Status *string `type:"string" required:"true" enum:"S3ObjectLockLegalHoldStatus"` 16988} 16989 16990// String returns the string representation. 16991// 16992// API parameter values that are decorated as "sensitive" in the API will not 16993// be included in the string output. The member name will be present, but the 16994// value will be replaced with "sensitive". 16995func (s S3ObjectLockLegalHold) String() string { 16996 return awsutil.Prettify(s) 16997} 16998 16999// GoString returns the string representation. 17000// 17001// API parameter values that are decorated as "sensitive" in the API will not 17002// be included in the string output. The member name will be present, but the 17003// value will be replaced with "sensitive". 17004func (s S3ObjectLockLegalHold) GoString() string { 17005 return s.String() 17006} 17007 17008// Validate inspects the fields of the type to determine if they are valid. 17009func (s *S3ObjectLockLegalHold) Validate() error { 17010 invalidParams := request.ErrInvalidParams{Context: "S3ObjectLockLegalHold"} 17011 if s.Status == nil { 17012 invalidParams.Add(request.NewErrParamRequired("Status")) 17013 } 17014 17015 if invalidParams.Len() > 0 { 17016 return invalidParams 17017 } 17018 return nil 17019} 17020 17021// SetStatus sets the Status field's value. 17022func (s *S3ObjectLockLegalHold) SetStatus(v string) *S3ObjectLockLegalHold { 17023 s.Status = &v 17024 return s 17025} 17026 17027type S3ObjectMetadata struct { 17028 _ struct{} `type:"structure"` 17029 17030 CacheControl *string `min:"1" type:"string"` 17031 17032 ContentDisposition *string `min:"1" type:"string"` 17033 17034 ContentEncoding *string `min:"1" type:"string"` 17035 17036 ContentLanguage *string `min:"1" type:"string"` 17037 17038 ContentLength *int64 `type:"long"` 17039 17040 ContentMD5 *string `min:"1" type:"string"` 17041 17042 ContentType *string `min:"1" type:"string"` 17043 17044 HttpExpiresDate *time.Time `type:"timestamp"` 17045 17046 RequesterCharged *bool `type:"boolean"` 17047 17048 SSEAlgorithm *string `type:"string" enum:"S3SSEAlgorithm"` 17049 17050 UserMetadata map[string]*string `type:"map"` 17051} 17052 17053// String returns the string representation. 17054// 17055// API parameter values that are decorated as "sensitive" in the API will not 17056// be included in the string output. The member name will be present, but the 17057// value will be replaced with "sensitive". 17058func (s S3ObjectMetadata) String() string { 17059 return awsutil.Prettify(s) 17060} 17061 17062// GoString returns the string representation. 17063// 17064// API parameter values that are decorated as "sensitive" in the API will not 17065// be included in the string output. The member name will be present, but the 17066// value will be replaced with "sensitive". 17067func (s S3ObjectMetadata) GoString() string { 17068 return s.String() 17069} 17070 17071// Validate inspects the fields of the type to determine if they are valid. 17072func (s *S3ObjectMetadata) Validate() error { 17073 invalidParams := request.ErrInvalidParams{Context: "S3ObjectMetadata"} 17074 if s.CacheControl != nil && len(*s.CacheControl) < 1 { 17075 invalidParams.Add(request.NewErrParamMinLen("CacheControl", 1)) 17076 } 17077 if s.ContentDisposition != nil && len(*s.ContentDisposition) < 1 { 17078 invalidParams.Add(request.NewErrParamMinLen("ContentDisposition", 1)) 17079 } 17080 if s.ContentEncoding != nil && len(*s.ContentEncoding) < 1 { 17081 invalidParams.Add(request.NewErrParamMinLen("ContentEncoding", 1)) 17082 } 17083 if s.ContentLanguage != nil && len(*s.ContentLanguage) < 1 { 17084 invalidParams.Add(request.NewErrParamMinLen("ContentLanguage", 1)) 17085 } 17086 if s.ContentMD5 != nil && len(*s.ContentMD5) < 1 { 17087 invalidParams.Add(request.NewErrParamMinLen("ContentMD5", 1)) 17088 } 17089 if s.ContentType != nil && len(*s.ContentType) < 1 { 17090 invalidParams.Add(request.NewErrParamMinLen("ContentType", 1)) 17091 } 17092 17093 if invalidParams.Len() > 0 { 17094 return invalidParams 17095 } 17096 return nil 17097} 17098 17099// SetCacheControl sets the CacheControl field's value. 17100func (s *S3ObjectMetadata) SetCacheControl(v string) *S3ObjectMetadata { 17101 s.CacheControl = &v 17102 return s 17103} 17104 17105// SetContentDisposition sets the ContentDisposition field's value. 17106func (s *S3ObjectMetadata) SetContentDisposition(v string) *S3ObjectMetadata { 17107 s.ContentDisposition = &v 17108 return s 17109} 17110 17111// SetContentEncoding sets the ContentEncoding field's value. 17112func (s *S3ObjectMetadata) SetContentEncoding(v string) *S3ObjectMetadata { 17113 s.ContentEncoding = &v 17114 return s 17115} 17116 17117// SetContentLanguage sets the ContentLanguage field's value. 17118func (s *S3ObjectMetadata) SetContentLanguage(v string) *S3ObjectMetadata { 17119 s.ContentLanguage = &v 17120 return s 17121} 17122 17123// SetContentLength sets the ContentLength field's value. 17124func (s *S3ObjectMetadata) SetContentLength(v int64) *S3ObjectMetadata { 17125 s.ContentLength = &v 17126 return s 17127} 17128 17129// SetContentMD5 sets the ContentMD5 field's value. 17130func (s *S3ObjectMetadata) SetContentMD5(v string) *S3ObjectMetadata { 17131 s.ContentMD5 = &v 17132 return s 17133} 17134 17135// SetContentType sets the ContentType field's value. 17136func (s *S3ObjectMetadata) SetContentType(v string) *S3ObjectMetadata { 17137 s.ContentType = &v 17138 return s 17139} 17140 17141// SetHttpExpiresDate sets the HttpExpiresDate field's value. 17142func (s *S3ObjectMetadata) SetHttpExpiresDate(v time.Time) *S3ObjectMetadata { 17143 s.HttpExpiresDate = &v 17144 return s 17145} 17146 17147// SetRequesterCharged sets the RequesterCharged field's value. 17148func (s *S3ObjectMetadata) SetRequesterCharged(v bool) *S3ObjectMetadata { 17149 s.RequesterCharged = &v 17150 return s 17151} 17152 17153// SetSSEAlgorithm sets the SSEAlgorithm field's value. 17154func (s *S3ObjectMetadata) SetSSEAlgorithm(v string) *S3ObjectMetadata { 17155 s.SSEAlgorithm = &v 17156 return s 17157} 17158 17159// SetUserMetadata sets the UserMetadata field's value. 17160func (s *S3ObjectMetadata) SetUserMetadata(v map[string]*string) *S3ObjectMetadata { 17161 s.UserMetadata = v 17162 return s 17163} 17164 17165type S3ObjectOwner struct { 17166 _ struct{} `type:"structure"` 17167 17168 DisplayName *string `min:"1" type:"string"` 17169 17170 ID *string `min:"1" type:"string"` 17171} 17172 17173// String returns the string representation. 17174// 17175// API parameter values that are decorated as "sensitive" in the API will not 17176// be included in the string output. The member name will be present, but the 17177// value will be replaced with "sensitive". 17178func (s S3ObjectOwner) String() string { 17179 return awsutil.Prettify(s) 17180} 17181 17182// GoString returns the string representation. 17183// 17184// API parameter values that are decorated as "sensitive" in the API will not 17185// be included in the string output. The member name will be present, but the 17186// value will be replaced with "sensitive". 17187func (s S3ObjectOwner) GoString() string { 17188 return s.String() 17189} 17190 17191// Validate inspects the fields of the type to determine if they are valid. 17192func (s *S3ObjectOwner) Validate() error { 17193 invalidParams := request.ErrInvalidParams{Context: "S3ObjectOwner"} 17194 if s.DisplayName != nil && len(*s.DisplayName) < 1 { 17195 invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1)) 17196 } 17197 if s.ID != nil && len(*s.ID) < 1 { 17198 invalidParams.Add(request.NewErrParamMinLen("ID", 1)) 17199 } 17200 17201 if invalidParams.Len() > 0 { 17202 return invalidParams 17203 } 17204 return nil 17205} 17206 17207// SetDisplayName sets the DisplayName field's value. 17208func (s *S3ObjectOwner) SetDisplayName(v string) *S3ObjectOwner { 17209 s.DisplayName = &v 17210 return s 17211} 17212 17213// SetID sets the ID field's value. 17214func (s *S3ObjectOwner) SetID(v string) *S3ObjectOwner { 17215 s.ID = &v 17216 return s 17217} 17218 17219// Contains the S3 Object Lock retention mode to be applied to all objects in 17220// the S3 Batch Operations job. If you don't provide Mode and RetainUntilDate 17221// data types in your operation, you will remove the retention from your objects. 17222// For more information, see Using S3 Object Lock retention with S3 Batch Operations 17223// (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html) 17224// in the Amazon S3 User Guide. 17225type S3Retention struct { 17226 _ struct{} `type:"structure"` 17227 17228 // The Object Lock retention mode to be applied to all objects in the Batch 17229 // Operations job. 17230 Mode *string `type:"string" enum:"S3ObjectLockRetentionMode"` 17231 17232 // The date when the applied Object Lock retention will expire on all objects 17233 // set by the Batch Operations job. 17234 RetainUntilDate *time.Time `type:"timestamp"` 17235} 17236 17237// String returns the string representation. 17238// 17239// API parameter values that are decorated as "sensitive" in the API will not 17240// be included in the string output. The member name will be present, but the 17241// value will be replaced with "sensitive". 17242func (s S3Retention) String() string { 17243 return awsutil.Prettify(s) 17244} 17245 17246// GoString returns the string representation. 17247// 17248// API parameter values that are decorated as "sensitive" in the API will not 17249// be included in the string output. The member name will be present, but the 17250// value will be replaced with "sensitive". 17251func (s S3Retention) GoString() string { 17252 return s.String() 17253} 17254 17255// SetMode sets the Mode field's value. 17256func (s *S3Retention) SetMode(v string) *S3Retention { 17257 s.Mode = &v 17258 return s 17259} 17260 17261// SetRetainUntilDate sets the RetainUntilDate field's value. 17262func (s *S3Retention) SetRetainUntilDate(v time.Time) *S3Retention { 17263 s.RetainUntilDate = &v 17264 return s 17265} 17266 17267// Contains the configuration parameters for a Set Object ACL operation. S3 17268// Batch Operations passes every object to the underlying PUT Object acl API. 17269// For more information about the parameters for this operation, see PUT Object 17270// acl (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUTacl.html). 17271type S3SetObjectAclOperation struct { 17272 _ struct{} `type:"structure"` 17273 17274 AccessControlPolicy *S3AccessControlPolicy `type:"structure"` 17275} 17276 17277// String returns the string representation. 17278// 17279// API parameter values that are decorated as "sensitive" in the API will not 17280// be included in the string output. The member name will be present, but the 17281// value will be replaced with "sensitive". 17282func (s S3SetObjectAclOperation) String() string { 17283 return awsutil.Prettify(s) 17284} 17285 17286// GoString returns the string representation. 17287// 17288// API parameter values that are decorated as "sensitive" in the API will not 17289// be included in the string output. The member name will be present, but the 17290// value will be replaced with "sensitive". 17291func (s S3SetObjectAclOperation) GoString() string { 17292 return s.String() 17293} 17294 17295// Validate inspects the fields of the type to determine if they are valid. 17296func (s *S3SetObjectAclOperation) Validate() error { 17297 invalidParams := request.ErrInvalidParams{Context: "S3SetObjectAclOperation"} 17298 if s.AccessControlPolicy != nil { 17299 if err := s.AccessControlPolicy.Validate(); err != nil { 17300 invalidParams.AddNested("AccessControlPolicy", err.(request.ErrInvalidParams)) 17301 } 17302 } 17303 17304 if invalidParams.Len() > 0 { 17305 return invalidParams 17306 } 17307 return nil 17308} 17309 17310// SetAccessControlPolicy sets the AccessControlPolicy field's value. 17311func (s *S3SetObjectAclOperation) SetAccessControlPolicy(v *S3AccessControlPolicy) *S3SetObjectAclOperation { 17312 s.AccessControlPolicy = v 17313 return s 17314} 17315 17316// Contains the configuration for an S3 Object Lock legal hold operation that 17317// an S3 Batch Operations job passes every object to the underlying PutObjectLegalHold 17318// API. For more information, see Using S3 Object Lock legal hold with S3 Batch 17319// Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-legal-hold.html) 17320// in the Amazon S3 User Guide. 17321type S3SetObjectLegalHoldOperation struct { 17322 _ struct{} `type:"structure"` 17323 17324 // Contains the Object Lock legal hold status to be applied to all objects in 17325 // the Batch Operations job. 17326 // 17327 // LegalHold is a required field 17328 LegalHold *S3ObjectLockLegalHold `type:"structure" required:"true"` 17329} 17330 17331// String returns the string representation. 17332// 17333// API parameter values that are decorated as "sensitive" in the API will not 17334// be included in the string output. The member name will be present, but the 17335// value will be replaced with "sensitive". 17336func (s S3SetObjectLegalHoldOperation) String() string { 17337 return awsutil.Prettify(s) 17338} 17339 17340// GoString returns the string representation. 17341// 17342// API parameter values that are decorated as "sensitive" in the API will not 17343// be included in the string output. The member name will be present, but the 17344// value will be replaced with "sensitive". 17345func (s S3SetObjectLegalHoldOperation) GoString() string { 17346 return s.String() 17347} 17348 17349// Validate inspects the fields of the type to determine if they are valid. 17350func (s *S3SetObjectLegalHoldOperation) Validate() error { 17351 invalidParams := request.ErrInvalidParams{Context: "S3SetObjectLegalHoldOperation"} 17352 if s.LegalHold == nil { 17353 invalidParams.Add(request.NewErrParamRequired("LegalHold")) 17354 } 17355 if s.LegalHold != nil { 17356 if err := s.LegalHold.Validate(); err != nil { 17357 invalidParams.AddNested("LegalHold", err.(request.ErrInvalidParams)) 17358 } 17359 } 17360 17361 if invalidParams.Len() > 0 { 17362 return invalidParams 17363 } 17364 return nil 17365} 17366 17367// SetLegalHold sets the LegalHold field's value. 17368func (s *S3SetObjectLegalHoldOperation) SetLegalHold(v *S3ObjectLockLegalHold) *S3SetObjectLegalHoldOperation { 17369 s.LegalHold = v 17370 return s 17371} 17372 17373// Contains the configuration parameters for the Object Lock retention action 17374// for an S3 Batch Operations job. Batch Operations passes every object to the 17375// underlying PutObjectRetention API. For more information, see Using S3 Object 17376// Lock retention with S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html) 17377// in the Amazon S3 User Guide. 17378type S3SetObjectRetentionOperation struct { 17379 _ struct{} `type:"structure"` 17380 17381 // Indicates if the action should be applied to objects in the Batch Operations 17382 // job even if they have Object Lock GOVERNANCE type in place. 17383 BypassGovernanceRetention *bool `type:"boolean"` 17384 17385 // Contains the Object Lock retention mode to be applied to all objects in the 17386 // Batch Operations job. For more information, see Using S3 Object Lock retention 17387 // with S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html) 17388 // in the Amazon S3 User Guide. 17389 // 17390 // Retention is a required field 17391 Retention *S3Retention `type:"structure" required:"true"` 17392} 17393 17394// String returns the string representation. 17395// 17396// API parameter values that are decorated as "sensitive" in the API will not 17397// be included in the string output. The member name will be present, but the 17398// value will be replaced with "sensitive". 17399func (s S3SetObjectRetentionOperation) String() string { 17400 return awsutil.Prettify(s) 17401} 17402 17403// GoString returns the string representation. 17404// 17405// API parameter values that are decorated as "sensitive" in the API will not 17406// be included in the string output. The member name will be present, but the 17407// value will be replaced with "sensitive". 17408func (s S3SetObjectRetentionOperation) GoString() string { 17409 return s.String() 17410} 17411 17412// Validate inspects the fields of the type to determine if they are valid. 17413func (s *S3SetObjectRetentionOperation) Validate() error { 17414 invalidParams := request.ErrInvalidParams{Context: "S3SetObjectRetentionOperation"} 17415 if s.Retention == nil { 17416 invalidParams.Add(request.NewErrParamRequired("Retention")) 17417 } 17418 17419 if invalidParams.Len() > 0 { 17420 return invalidParams 17421 } 17422 return nil 17423} 17424 17425// SetBypassGovernanceRetention sets the BypassGovernanceRetention field's value. 17426func (s *S3SetObjectRetentionOperation) SetBypassGovernanceRetention(v bool) *S3SetObjectRetentionOperation { 17427 s.BypassGovernanceRetention = &v 17428 return s 17429} 17430 17431// SetRetention sets the Retention field's value. 17432func (s *S3SetObjectRetentionOperation) SetRetention(v *S3Retention) *S3SetObjectRetentionOperation { 17433 s.Retention = v 17434 return s 17435} 17436 17437// Contains the configuration parameters for a Set Object Tagging operation. 17438// S3 Batch Operations passes every object to the underlying PUT Object tagging 17439// API. For more information about the parameters for this operation, see PUT 17440// Object tagging (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUTtagging.html). 17441type S3SetObjectTaggingOperation struct { 17442 _ struct{} `type:"structure"` 17443 17444 TagSet []*S3Tag `type:"list"` 17445} 17446 17447// String returns the string representation. 17448// 17449// API parameter values that are decorated as "sensitive" in the API will not 17450// be included in the string output. The member name will be present, but the 17451// value will be replaced with "sensitive". 17452func (s S3SetObjectTaggingOperation) String() string { 17453 return awsutil.Prettify(s) 17454} 17455 17456// GoString returns the string representation. 17457// 17458// API parameter values that are decorated as "sensitive" in the API will not 17459// be included in the string output. The member name will be present, but the 17460// value will be replaced with "sensitive". 17461func (s S3SetObjectTaggingOperation) GoString() string { 17462 return s.String() 17463} 17464 17465// Validate inspects the fields of the type to determine if they are valid. 17466func (s *S3SetObjectTaggingOperation) Validate() error { 17467 invalidParams := request.ErrInvalidParams{Context: "S3SetObjectTaggingOperation"} 17468 if s.TagSet != nil { 17469 for i, v := range s.TagSet { 17470 if v == nil { 17471 continue 17472 } 17473 if err := v.Validate(); err != nil { 17474 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagSet", i), err.(request.ErrInvalidParams)) 17475 } 17476 } 17477 } 17478 17479 if invalidParams.Len() > 0 { 17480 return invalidParams 17481 } 17482 return nil 17483} 17484 17485// SetTagSet sets the TagSet field's value. 17486func (s *S3SetObjectTaggingOperation) SetTagSet(v []*S3Tag) *S3SetObjectTaggingOperation { 17487 s.TagSet = v 17488 return s 17489} 17490 17491type S3Tag struct { 17492 _ struct{} `type:"structure"` 17493 17494 // Key is a required field 17495 Key *string `min:"1" type:"string" required:"true"` 17496 17497 // Value is a required field 17498 Value *string `type:"string" required:"true"` 17499} 17500 17501// String returns the string representation. 17502// 17503// API parameter values that are decorated as "sensitive" in the API will not 17504// be included in the string output. The member name will be present, but the 17505// value will be replaced with "sensitive". 17506func (s S3Tag) String() string { 17507 return awsutil.Prettify(s) 17508} 17509 17510// GoString returns the string representation. 17511// 17512// API parameter values that are decorated as "sensitive" in the API will not 17513// be included in the string output. The member name will be present, but the 17514// value will be replaced with "sensitive". 17515func (s S3Tag) GoString() string { 17516 return s.String() 17517} 17518 17519// Validate inspects the fields of the type to determine if they are valid. 17520func (s *S3Tag) Validate() error { 17521 invalidParams := request.ErrInvalidParams{Context: "S3Tag"} 17522 if s.Key == nil { 17523 invalidParams.Add(request.NewErrParamRequired("Key")) 17524 } 17525 if s.Key != nil && len(*s.Key) < 1 { 17526 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 17527 } 17528 if s.Value == nil { 17529 invalidParams.Add(request.NewErrParamRequired("Value")) 17530 } 17531 17532 if invalidParams.Len() > 0 { 17533 return invalidParams 17534 } 17535 return nil 17536} 17537 17538// SetKey sets the Key field's value. 17539func (s *S3Tag) SetKey(v string) *S3Tag { 17540 s.Key = &v 17541 return s 17542} 17543 17544// SetValue sets the Value field's value. 17545func (s *S3Tag) SetValue(v string) *S3Tag { 17546 s.Value = &v 17547 return s 17548} 17549 17550type SSEKMS struct { 17551 _ struct{} `locationName:"SSE-KMS" type:"structure"` 17552 17553 // A container for the ARN of the SSE-KMS encryption. This property is read-only 17554 // and follows the following format: arn:aws:kms:us-east-1:example-account-id:key/example-9a73-4afc-8d29-8f5900cef44e 17555 // 17556 // KeyId is a required field 17557 KeyId *string `type:"string" required:"true"` 17558} 17559 17560// String returns the string representation. 17561// 17562// API parameter values that are decorated as "sensitive" in the API will not 17563// be included in the string output. The member name will be present, but the 17564// value will be replaced with "sensitive". 17565func (s SSEKMS) String() string { 17566 return awsutil.Prettify(s) 17567} 17568 17569// GoString returns the string representation. 17570// 17571// API parameter values that are decorated as "sensitive" in the API will not 17572// be included in the string output. The member name will be present, but the 17573// value will be replaced with "sensitive". 17574func (s SSEKMS) GoString() string { 17575 return s.String() 17576} 17577 17578// Validate inspects the fields of the type to determine if they are valid. 17579func (s *SSEKMS) Validate() error { 17580 invalidParams := request.ErrInvalidParams{Context: "SSEKMS"} 17581 if s.KeyId == nil { 17582 invalidParams.Add(request.NewErrParamRequired("KeyId")) 17583 } 17584 17585 if invalidParams.Len() > 0 { 17586 return invalidParams 17587 } 17588 return nil 17589} 17590 17591// SetKeyId sets the KeyId field's value. 17592func (s *SSEKMS) SetKeyId(v string) *SSEKMS { 17593 s.KeyId = &v 17594 return s 17595} 17596 17597type SSES3 struct { 17598 _ struct{} `locationName:"SSE-S3" type:"structure"` 17599} 17600 17601// String returns the string representation. 17602// 17603// API parameter values that are decorated as "sensitive" in the API will not 17604// be included in the string output. The member name will be present, but the 17605// value will be replaced with "sensitive". 17606func (s SSES3) String() string { 17607 return awsutil.Prettify(s) 17608} 17609 17610// GoString returns the string representation. 17611// 17612// API parameter values that are decorated as "sensitive" in the API will not 17613// be included in the string output. The member name will be present, but the 17614// value will be replaced with "sensitive". 17615func (s SSES3) GoString() string { 17616 return s.String() 17617} 17618 17619type SelectionCriteria struct { 17620 _ struct{} `type:"structure"` 17621 17622 // A container for the delimiter of the selection criteria being used. 17623 Delimiter *string `type:"string"` 17624 17625 // The max depth of the selection criteria 17626 MaxDepth *int64 `min:"1" type:"integer"` 17627 17628 // The minimum number of storage bytes percentage whose metrics will be selected. 17629 // 17630 // You must choose a value greater than or equal to 1.0. 17631 MinStorageBytesPercentage *float64 `min:"0.1" type:"double"` 17632} 17633 17634// String returns the string representation. 17635// 17636// API parameter values that are decorated as "sensitive" in the API will not 17637// be included in the string output. The member name will be present, but the 17638// value will be replaced with "sensitive". 17639func (s SelectionCriteria) String() string { 17640 return awsutil.Prettify(s) 17641} 17642 17643// GoString returns the string representation. 17644// 17645// API parameter values that are decorated as "sensitive" in the API will not 17646// be included in the string output. The member name will be present, but the 17647// value will be replaced with "sensitive". 17648func (s SelectionCriteria) GoString() string { 17649 return s.String() 17650} 17651 17652// Validate inspects the fields of the type to determine if they are valid. 17653func (s *SelectionCriteria) Validate() error { 17654 invalidParams := request.ErrInvalidParams{Context: "SelectionCriteria"} 17655 if s.MaxDepth != nil && *s.MaxDepth < 1 { 17656 invalidParams.Add(request.NewErrParamMinValue("MaxDepth", 1)) 17657 } 17658 if s.MinStorageBytesPercentage != nil && *s.MinStorageBytesPercentage < 0.1 { 17659 invalidParams.Add(request.NewErrParamMinValue("MinStorageBytesPercentage", 0.1)) 17660 } 17661 17662 if invalidParams.Len() > 0 { 17663 return invalidParams 17664 } 17665 return nil 17666} 17667 17668// SetDelimiter sets the Delimiter field's value. 17669func (s *SelectionCriteria) SetDelimiter(v string) *SelectionCriteria { 17670 s.Delimiter = &v 17671 return s 17672} 17673 17674// SetMaxDepth sets the MaxDepth field's value. 17675func (s *SelectionCriteria) SetMaxDepth(v int64) *SelectionCriteria { 17676 s.MaxDepth = &v 17677 return s 17678} 17679 17680// SetMinStorageBytesPercentage sets the MinStorageBytesPercentage field's value. 17681func (s *SelectionCriteria) SetMinStorageBytesPercentage(v float64) *SelectionCriteria { 17682 s.MinStorageBytesPercentage = &v 17683 return s 17684} 17685 17686// The Amazon Web Services organization for your S3 Storage Lens. 17687type StorageLensAwsOrg struct { 17688 _ struct{} `type:"structure"` 17689 17690 // A container for the Amazon Resource Name (ARN) of the Amazon Web Services 17691 // organization. This property is read-only and follows the following format: 17692 // arn:aws:organizations:us-east-1:example-account-id:organization/o-ex2l495dck 17693 // 17694 // Arn is a required field 17695 Arn *string `min:"1" type:"string" required:"true"` 17696} 17697 17698// String returns the string representation. 17699// 17700// API parameter values that are decorated as "sensitive" in the API will not 17701// be included in the string output. The member name will be present, but the 17702// value will be replaced with "sensitive". 17703func (s StorageLensAwsOrg) String() string { 17704 return awsutil.Prettify(s) 17705} 17706 17707// GoString returns the string representation. 17708// 17709// API parameter values that are decorated as "sensitive" in the API will not 17710// be included in the string output. The member name will be present, but the 17711// value will be replaced with "sensitive". 17712func (s StorageLensAwsOrg) GoString() string { 17713 return s.String() 17714} 17715 17716// Validate inspects the fields of the type to determine if they are valid. 17717func (s *StorageLensAwsOrg) Validate() error { 17718 invalidParams := request.ErrInvalidParams{Context: "StorageLensAwsOrg"} 17719 if s.Arn == nil { 17720 invalidParams.Add(request.NewErrParamRequired("Arn")) 17721 } 17722 if s.Arn != nil && len(*s.Arn) < 1 { 17723 invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) 17724 } 17725 17726 if invalidParams.Len() > 0 { 17727 return invalidParams 17728 } 17729 return nil 17730} 17731 17732// SetArn sets the Arn field's value. 17733func (s *StorageLensAwsOrg) SetArn(v string) *StorageLensAwsOrg { 17734 s.Arn = &v 17735 return s 17736} 17737 17738// A container for the Amazon S3 Storage Lens configuration. 17739type StorageLensConfiguration struct { 17740 _ struct{} `type:"structure"` 17741 17742 // A container for all the account-level configurations of your S3 Storage Lens 17743 // configuration. 17744 // 17745 // AccountLevel is a required field 17746 AccountLevel *AccountLevel `type:"structure" required:"true"` 17747 17748 // A container for the Amazon Web Services organization for this S3 Storage 17749 // Lens configuration. 17750 AwsOrg *StorageLensAwsOrg `type:"structure"` 17751 17752 // A container to specify the properties of your S3 Storage Lens metrics export 17753 // including, the destination, schema and format. 17754 DataExport *StorageLensDataExport `type:"structure"` 17755 17756 // A container for what is excluded in this configuration. This container can 17757 // only be valid if there is no Include container submitted, and it's not empty. 17758 Exclude *Exclude `type:"structure"` 17759 17760 // A container for the Amazon S3 Storage Lens configuration ID. 17761 // 17762 // Id is a required field 17763 Id *string `min:"1" type:"string" required:"true"` 17764 17765 // A container for what is included in this configuration. This container can 17766 // only be valid if there is no Exclude container submitted, and it's not empty. 17767 Include *Include `type:"structure"` 17768 17769 // A container for whether the S3 Storage Lens configuration is enabled. 17770 // 17771 // IsEnabled is a required field 17772 IsEnabled *bool `type:"boolean" required:"true"` 17773 17774 // The Amazon Resource Name (ARN) of the S3 Storage Lens configuration. This 17775 // property is read-only and follows the following format: arn:aws:s3:us-east-1:example-account-id:storage-lens/your-dashboard-name 17776 StorageLensArn *string `min:"1" type:"string"` 17777} 17778 17779// String returns the string representation. 17780// 17781// API parameter values that are decorated as "sensitive" in the API will not 17782// be included in the string output. The member name will be present, but the 17783// value will be replaced with "sensitive". 17784func (s StorageLensConfiguration) String() string { 17785 return awsutil.Prettify(s) 17786} 17787 17788// GoString returns the string representation. 17789// 17790// API parameter values that are decorated as "sensitive" in the API will not 17791// be included in the string output. The member name will be present, but the 17792// value will be replaced with "sensitive". 17793func (s StorageLensConfiguration) GoString() string { 17794 return s.String() 17795} 17796 17797// Validate inspects the fields of the type to determine if they are valid. 17798func (s *StorageLensConfiguration) Validate() error { 17799 invalidParams := request.ErrInvalidParams{Context: "StorageLensConfiguration"} 17800 if s.AccountLevel == nil { 17801 invalidParams.Add(request.NewErrParamRequired("AccountLevel")) 17802 } 17803 if s.Id == nil { 17804 invalidParams.Add(request.NewErrParamRequired("Id")) 17805 } 17806 if s.Id != nil && len(*s.Id) < 1 { 17807 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 17808 } 17809 if s.IsEnabled == nil { 17810 invalidParams.Add(request.NewErrParamRequired("IsEnabled")) 17811 } 17812 if s.StorageLensArn != nil && len(*s.StorageLensArn) < 1 { 17813 invalidParams.Add(request.NewErrParamMinLen("StorageLensArn", 1)) 17814 } 17815 if s.AccountLevel != nil { 17816 if err := s.AccountLevel.Validate(); err != nil { 17817 invalidParams.AddNested("AccountLevel", err.(request.ErrInvalidParams)) 17818 } 17819 } 17820 if s.AwsOrg != nil { 17821 if err := s.AwsOrg.Validate(); err != nil { 17822 invalidParams.AddNested("AwsOrg", err.(request.ErrInvalidParams)) 17823 } 17824 } 17825 if s.DataExport != nil { 17826 if err := s.DataExport.Validate(); err != nil { 17827 invalidParams.AddNested("DataExport", err.(request.ErrInvalidParams)) 17828 } 17829 } 17830 17831 if invalidParams.Len() > 0 { 17832 return invalidParams 17833 } 17834 return nil 17835} 17836 17837// SetAccountLevel sets the AccountLevel field's value. 17838func (s *StorageLensConfiguration) SetAccountLevel(v *AccountLevel) *StorageLensConfiguration { 17839 s.AccountLevel = v 17840 return s 17841} 17842 17843// SetAwsOrg sets the AwsOrg field's value. 17844func (s *StorageLensConfiguration) SetAwsOrg(v *StorageLensAwsOrg) *StorageLensConfiguration { 17845 s.AwsOrg = v 17846 return s 17847} 17848 17849// SetDataExport sets the DataExport field's value. 17850func (s *StorageLensConfiguration) SetDataExport(v *StorageLensDataExport) *StorageLensConfiguration { 17851 s.DataExport = v 17852 return s 17853} 17854 17855// SetExclude sets the Exclude field's value. 17856func (s *StorageLensConfiguration) SetExclude(v *Exclude) *StorageLensConfiguration { 17857 s.Exclude = v 17858 return s 17859} 17860 17861// SetId sets the Id field's value. 17862func (s *StorageLensConfiguration) SetId(v string) *StorageLensConfiguration { 17863 s.Id = &v 17864 return s 17865} 17866 17867// SetInclude sets the Include field's value. 17868func (s *StorageLensConfiguration) SetInclude(v *Include) *StorageLensConfiguration { 17869 s.Include = v 17870 return s 17871} 17872 17873// SetIsEnabled sets the IsEnabled field's value. 17874func (s *StorageLensConfiguration) SetIsEnabled(v bool) *StorageLensConfiguration { 17875 s.IsEnabled = &v 17876 return s 17877} 17878 17879// SetStorageLensArn sets the StorageLensArn field's value. 17880func (s *StorageLensConfiguration) SetStorageLensArn(v string) *StorageLensConfiguration { 17881 s.StorageLensArn = &v 17882 return s 17883} 17884 17885// A container to specify the properties of your S3 Storage Lens metrics export, 17886// including the destination, schema, and format. 17887type StorageLensDataExport struct { 17888 _ struct{} `type:"structure"` 17889 17890 // A container for the bucket where the S3 Storage Lens metrics export will 17891 // be located. 17892 // 17893 // This bucket must be located in the same Region as the storage lens configuration. 17894 // 17895 // S3BucketDestination is a required field 17896 S3BucketDestination *S3BucketDestination `type:"structure" required:"true"` 17897} 17898 17899// String returns the string representation. 17900// 17901// API parameter values that are decorated as "sensitive" in the API will not 17902// be included in the string output. The member name will be present, but the 17903// value will be replaced with "sensitive". 17904func (s StorageLensDataExport) String() string { 17905 return awsutil.Prettify(s) 17906} 17907 17908// GoString returns the string representation. 17909// 17910// API parameter values that are decorated as "sensitive" in the API will not 17911// be included in the string output. The member name will be present, but the 17912// value will be replaced with "sensitive". 17913func (s StorageLensDataExport) GoString() string { 17914 return s.String() 17915} 17916 17917// Validate inspects the fields of the type to determine if they are valid. 17918func (s *StorageLensDataExport) Validate() error { 17919 invalidParams := request.ErrInvalidParams{Context: "StorageLensDataExport"} 17920 if s.S3BucketDestination == nil { 17921 invalidParams.Add(request.NewErrParamRequired("S3BucketDestination")) 17922 } 17923 if s.S3BucketDestination != nil { 17924 if err := s.S3BucketDestination.Validate(); err != nil { 17925 invalidParams.AddNested("S3BucketDestination", err.(request.ErrInvalidParams)) 17926 } 17927 } 17928 17929 if invalidParams.Len() > 0 { 17930 return invalidParams 17931 } 17932 return nil 17933} 17934 17935// SetS3BucketDestination sets the S3BucketDestination field's value. 17936func (s *StorageLensDataExport) SetS3BucketDestination(v *S3BucketDestination) *StorageLensDataExport { 17937 s.S3BucketDestination = v 17938 return s 17939} 17940 17941// A container for the encryption of the S3 Storage Lens metrics exports. 17942type StorageLensDataExportEncryption struct { 17943 _ struct{} `type:"structure"` 17944 17945 SSEKMS *SSEKMS `locationName:"SSE-KMS" type:"structure"` 17946 17947 SSES3 *SSES3 `locationName:"SSE-S3" type:"structure"` 17948} 17949 17950// String returns the string representation. 17951// 17952// API parameter values that are decorated as "sensitive" in the API will not 17953// be included in the string output. The member name will be present, but the 17954// value will be replaced with "sensitive". 17955func (s StorageLensDataExportEncryption) String() string { 17956 return awsutil.Prettify(s) 17957} 17958 17959// GoString returns the string representation. 17960// 17961// API parameter values that are decorated as "sensitive" in the API will not 17962// be included in the string output. The member name will be present, but the 17963// value will be replaced with "sensitive". 17964func (s StorageLensDataExportEncryption) GoString() string { 17965 return s.String() 17966} 17967 17968// Validate inspects the fields of the type to determine if they are valid. 17969func (s *StorageLensDataExportEncryption) Validate() error { 17970 invalidParams := request.ErrInvalidParams{Context: "StorageLensDataExportEncryption"} 17971 if s.SSEKMS != nil { 17972 if err := s.SSEKMS.Validate(); err != nil { 17973 invalidParams.AddNested("SSEKMS", err.(request.ErrInvalidParams)) 17974 } 17975 } 17976 17977 if invalidParams.Len() > 0 { 17978 return invalidParams 17979 } 17980 return nil 17981} 17982 17983// SetSSEKMS sets the SSEKMS field's value. 17984func (s *StorageLensDataExportEncryption) SetSSEKMS(v *SSEKMS) *StorageLensDataExportEncryption { 17985 s.SSEKMS = v 17986 return s 17987} 17988 17989// SetSSES3 sets the SSES3 field's value. 17990func (s *StorageLensDataExportEncryption) SetSSES3(v *SSES3) *StorageLensDataExportEncryption { 17991 s.SSES3 = v 17992 return s 17993} 17994 17995type StorageLensTag struct { 17996 _ struct{} `type:"structure"` 17997 17998 // Key is a required field 17999 Key *string `min:"1" type:"string" required:"true"` 18000 18001 // Value is a required field 18002 Value *string `type:"string" required:"true"` 18003} 18004 18005// String returns the string representation. 18006// 18007// API parameter values that are decorated as "sensitive" in the API will not 18008// be included in the string output. The member name will be present, but the 18009// value will be replaced with "sensitive". 18010func (s StorageLensTag) String() string { 18011 return awsutil.Prettify(s) 18012} 18013 18014// GoString returns the string representation. 18015// 18016// API parameter values that are decorated as "sensitive" in the API will not 18017// be included in the string output. The member name will be present, but the 18018// value will be replaced with "sensitive". 18019func (s StorageLensTag) GoString() string { 18020 return s.String() 18021} 18022 18023// Validate inspects the fields of the type to determine if they are valid. 18024func (s *StorageLensTag) Validate() error { 18025 invalidParams := request.ErrInvalidParams{Context: "StorageLensTag"} 18026 if s.Key == nil { 18027 invalidParams.Add(request.NewErrParamRequired("Key")) 18028 } 18029 if s.Key != nil && len(*s.Key) < 1 { 18030 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 18031 } 18032 if s.Value == nil { 18033 invalidParams.Add(request.NewErrParamRequired("Value")) 18034 } 18035 18036 if invalidParams.Len() > 0 { 18037 return invalidParams 18038 } 18039 return nil 18040} 18041 18042// SetKey sets the Key field's value. 18043func (s *StorageLensTag) SetKey(v string) *StorageLensTag { 18044 s.Key = &v 18045 return s 18046} 18047 18048// SetValue sets the Value field's value. 18049func (s *StorageLensTag) SetValue(v string) *StorageLensTag { 18050 s.Value = &v 18051 return s 18052} 18053 18054type Tagging struct { 18055 _ struct{} `type:"structure"` 18056 18057 // A collection for a set of tags. 18058 // 18059 // TagSet is a required field 18060 TagSet []*S3Tag `type:"list" required:"true"` 18061} 18062 18063// String returns the string representation. 18064// 18065// API parameter values that are decorated as "sensitive" in the API will not 18066// be included in the string output. The member name will be present, but the 18067// value will be replaced with "sensitive". 18068func (s Tagging) String() string { 18069 return awsutil.Prettify(s) 18070} 18071 18072// GoString returns the string representation. 18073// 18074// API parameter values that are decorated as "sensitive" in the API will not 18075// be included in the string output. The member name will be present, but the 18076// value will be replaced with "sensitive". 18077func (s Tagging) GoString() string { 18078 return s.String() 18079} 18080 18081// Validate inspects the fields of the type to determine if they are valid. 18082func (s *Tagging) Validate() error { 18083 invalidParams := request.ErrInvalidParams{Context: "Tagging"} 18084 if s.TagSet == nil { 18085 invalidParams.Add(request.NewErrParamRequired("TagSet")) 18086 } 18087 if s.TagSet != nil { 18088 for i, v := range s.TagSet { 18089 if v == nil { 18090 continue 18091 } 18092 if err := v.Validate(); err != nil { 18093 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagSet", i), err.(request.ErrInvalidParams)) 18094 } 18095 } 18096 } 18097 18098 if invalidParams.Len() > 0 { 18099 return invalidParams 18100 } 18101 return nil 18102} 18103 18104// SetTagSet sets the TagSet field's value. 18105func (s *Tagging) SetTagSet(v []*S3Tag) *Tagging { 18106 s.TagSet = v 18107 return s 18108} 18109 18110// Specifies when an object transitions to a specified storage class. For more 18111// information about Amazon S3 Lifecycle configuration rules, see Transitioning 18112// objects using Amazon S3 Lifecycle (https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html) 18113// in the Amazon S3 User Guide. 18114type Transition struct { 18115 _ struct{} `type:"structure"` 18116 18117 // Indicates when objects are transitioned to the specified storage class. The 18118 // date value must be in ISO 8601 format. The time is always midnight UTC. 18119 Date *time.Time `type:"timestamp"` 18120 18121 // Indicates the number of days after creation when objects are transitioned 18122 // to the specified storage class. The value must be a positive integer. 18123 Days *int64 `type:"integer"` 18124 18125 // The storage class to which you want the object to transition. 18126 StorageClass *string `type:"string" enum:"TransitionStorageClass"` 18127} 18128 18129// String returns the string representation. 18130// 18131// API parameter values that are decorated as "sensitive" in the API will not 18132// be included in the string output. The member name will be present, but the 18133// value will be replaced with "sensitive". 18134func (s Transition) String() string { 18135 return awsutil.Prettify(s) 18136} 18137 18138// GoString returns the string representation. 18139// 18140// API parameter values that are decorated as "sensitive" in the API will not 18141// be included in the string output. The member name will be present, but the 18142// value will be replaced with "sensitive". 18143func (s Transition) GoString() string { 18144 return s.String() 18145} 18146 18147// SetDate sets the Date field's value. 18148func (s *Transition) SetDate(v time.Time) *Transition { 18149 s.Date = &v 18150 return s 18151} 18152 18153// SetDays sets the Days field's value. 18154func (s *Transition) SetDays(v int64) *Transition { 18155 s.Days = &v 18156 return s 18157} 18158 18159// SetStorageClass sets the StorageClass field's value. 18160func (s *Transition) SetStorageClass(v string) *Transition { 18161 s.StorageClass = &v 18162 return s 18163} 18164 18165type UpdateJobPriorityInput struct { 18166 _ struct{} `locationName:"UpdateJobPriorityRequest" type:"structure"` 18167 18168 // The Amazon Web Services account ID associated with the S3 Batch Operations 18169 // job. 18170 // 18171 // AccountId is a required field 18172 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 18173 18174 // The ID for the job whose priority you want to update. 18175 // 18176 // JobId is a required field 18177 JobId *string `location:"uri" locationName:"id" min:"5" type:"string" required:"true"` 18178 18179 // The priority you want to assign to this job. 18180 // 18181 // Priority is a required field 18182 Priority *int64 `location:"querystring" locationName:"priority" type:"integer" required:"true"` 18183} 18184 18185// String returns the string representation. 18186// 18187// API parameter values that are decorated as "sensitive" in the API will not 18188// be included in the string output. The member name will be present, but the 18189// value will be replaced with "sensitive". 18190func (s UpdateJobPriorityInput) String() string { 18191 return awsutil.Prettify(s) 18192} 18193 18194// GoString returns the string representation. 18195// 18196// API parameter values that are decorated as "sensitive" in the API will not 18197// be included in the string output. The member name will be present, but the 18198// value will be replaced with "sensitive". 18199func (s UpdateJobPriorityInput) GoString() string { 18200 return s.String() 18201} 18202 18203// Validate inspects the fields of the type to determine if they are valid. 18204func (s *UpdateJobPriorityInput) Validate() error { 18205 invalidParams := request.ErrInvalidParams{Context: "UpdateJobPriorityInput"} 18206 if s.AccountId == nil { 18207 invalidParams.Add(request.NewErrParamRequired("AccountId")) 18208 } 18209 if s.AccountId != nil && len(*s.AccountId) < 1 { 18210 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 18211 } 18212 if s.JobId == nil { 18213 invalidParams.Add(request.NewErrParamRequired("JobId")) 18214 } 18215 if s.JobId != nil && len(*s.JobId) < 5 { 18216 invalidParams.Add(request.NewErrParamMinLen("JobId", 5)) 18217 } 18218 if s.Priority == nil { 18219 invalidParams.Add(request.NewErrParamRequired("Priority")) 18220 } 18221 18222 if invalidParams.Len() > 0 { 18223 return invalidParams 18224 } 18225 return nil 18226} 18227 18228// SetAccountId sets the AccountId field's value. 18229func (s *UpdateJobPriorityInput) SetAccountId(v string) *UpdateJobPriorityInput { 18230 s.AccountId = &v 18231 return s 18232} 18233 18234// SetJobId sets the JobId field's value. 18235func (s *UpdateJobPriorityInput) SetJobId(v string) *UpdateJobPriorityInput { 18236 s.JobId = &v 18237 return s 18238} 18239 18240// SetPriority sets the Priority field's value. 18241func (s *UpdateJobPriorityInput) SetPriority(v int64) *UpdateJobPriorityInput { 18242 s.Priority = &v 18243 return s 18244} 18245 18246func (s *UpdateJobPriorityInput) hostLabels() map[string]string { 18247 return map[string]string{ 18248 "AccountId": aws.StringValue(s.AccountId), 18249 } 18250} 18251 18252type UpdateJobPriorityOutput struct { 18253 _ struct{} `type:"structure"` 18254 18255 // The ID for the job whose priority Amazon S3 updated. 18256 // 18257 // JobId is a required field 18258 JobId *string `min:"5" type:"string" required:"true"` 18259 18260 // The new priority assigned to the specified job. 18261 // 18262 // Priority is a required field 18263 Priority *int64 `type:"integer" required:"true"` 18264} 18265 18266// String returns the string representation. 18267// 18268// API parameter values that are decorated as "sensitive" in the API will not 18269// be included in the string output. The member name will be present, but the 18270// value will be replaced with "sensitive". 18271func (s UpdateJobPriorityOutput) String() string { 18272 return awsutil.Prettify(s) 18273} 18274 18275// GoString returns the string representation. 18276// 18277// API parameter values that are decorated as "sensitive" in the API will not 18278// be included in the string output. The member name will be present, but the 18279// value will be replaced with "sensitive". 18280func (s UpdateJobPriorityOutput) GoString() string { 18281 return s.String() 18282} 18283 18284// SetJobId sets the JobId field's value. 18285func (s *UpdateJobPriorityOutput) SetJobId(v string) *UpdateJobPriorityOutput { 18286 s.JobId = &v 18287 return s 18288} 18289 18290// SetPriority sets the Priority field's value. 18291func (s *UpdateJobPriorityOutput) SetPriority(v int64) *UpdateJobPriorityOutput { 18292 s.Priority = &v 18293 return s 18294} 18295 18296type UpdateJobStatusInput struct { 18297 _ struct{} `locationName:"UpdateJobStatusRequest" type:"structure"` 18298 18299 // The Amazon Web Services account ID associated with the S3 Batch Operations 18300 // job. 18301 // 18302 // AccountId is a required field 18303 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 18304 18305 // The ID of the job whose status you want to update. 18306 // 18307 // JobId is a required field 18308 JobId *string `location:"uri" locationName:"id" min:"5" type:"string" required:"true"` 18309 18310 // The status that you want to move the specified job to. 18311 // 18312 // RequestedJobStatus is a required field 18313 RequestedJobStatus *string `location:"querystring" locationName:"requestedJobStatus" type:"string" required:"true" enum:"RequestedJobStatus"` 18314 18315 // A description of the reason why you want to change the specified job's status. 18316 // This field can be any string up to the maximum length. 18317 StatusUpdateReason *string `location:"querystring" locationName:"statusUpdateReason" min:"1" type:"string"` 18318} 18319 18320// String returns the string representation. 18321// 18322// API parameter values that are decorated as "sensitive" in the API will not 18323// be included in the string output. The member name will be present, but the 18324// value will be replaced with "sensitive". 18325func (s UpdateJobStatusInput) String() string { 18326 return awsutil.Prettify(s) 18327} 18328 18329// GoString returns the string representation. 18330// 18331// API parameter values that are decorated as "sensitive" in the API will not 18332// be included in the string output. The member name will be present, but the 18333// value will be replaced with "sensitive". 18334func (s UpdateJobStatusInput) GoString() string { 18335 return s.String() 18336} 18337 18338// Validate inspects the fields of the type to determine if they are valid. 18339func (s *UpdateJobStatusInput) Validate() error { 18340 invalidParams := request.ErrInvalidParams{Context: "UpdateJobStatusInput"} 18341 if s.AccountId == nil { 18342 invalidParams.Add(request.NewErrParamRequired("AccountId")) 18343 } 18344 if s.AccountId != nil && len(*s.AccountId) < 1 { 18345 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 18346 } 18347 if s.JobId == nil { 18348 invalidParams.Add(request.NewErrParamRequired("JobId")) 18349 } 18350 if s.JobId != nil && len(*s.JobId) < 5 { 18351 invalidParams.Add(request.NewErrParamMinLen("JobId", 5)) 18352 } 18353 if s.RequestedJobStatus == nil { 18354 invalidParams.Add(request.NewErrParamRequired("RequestedJobStatus")) 18355 } 18356 if s.StatusUpdateReason != nil && len(*s.StatusUpdateReason) < 1 { 18357 invalidParams.Add(request.NewErrParamMinLen("StatusUpdateReason", 1)) 18358 } 18359 18360 if invalidParams.Len() > 0 { 18361 return invalidParams 18362 } 18363 return nil 18364} 18365 18366// SetAccountId sets the AccountId field's value. 18367func (s *UpdateJobStatusInput) SetAccountId(v string) *UpdateJobStatusInput { 18368 s.AccountId = &v 18369 return s 18370} 18371 18372// SetJobId sets the JobId field's value. 18373func (s *UpdateJobStatusInput) SetJobId(v string) *UpdateJobStatusInput { 18374 s.JobId = &v 18375 return s 18376} 18377 18378// SetRequestedJobStatus sets the RequestedJobStatus field's value. 18379func (s *UpdateJobStatusInput) SetRequestedJobStatus(v string) *UpdateJobStatusInput { 18380 s.RequestedJobStatus = &v 18381 return s 18382} 18383 18384// SetStatusUpdateReason sets the StatusUpdateReason field's value. 18385func (s *UpdateJobStatusInput) SetStatusUpdateReason(v string) *UpdateJobStatusInput { 18386 s.StatusUpdateReason = &v 18387 return s 18388} 18389 18390func (s *UpdateJobStatusInput) hostLabels() map[string]string { 18391 return map[string]string{ 18392 "AccountId": aws.StringValue(s.AccountId), 18393 } 18394} 18395 18396type UpdateJobStatusOutput struct { 18397 _ struct{} `type:"structure"` 18398 18399 // The ID for the job whose status was updated. 18400 JobId *string `min:"5" type:"string"` 18401 18402 // The current status for the specified job. 18403 Status *string `type:"string" enum:"JobStatus"` 18404 18405 // The reason that the specified job's status was updated. 18406 StatusUpdateReason *string `min:"1" type:"string"` 18407} 18408 18409// String returns the string representation. 18410// 18411// API parameter values that are decorated as "sensitive" in the API will not 18412// be included in the string output. The member name will be present, but the 18413// value will be replaced with "sensitive". 18414func (s UpdateJobStatusOutput) String() string { 18415 return awsutil.Prettify(s) 18416} 18417 18418// GoString returns the string representation. 18419// 18420// API parameter values that are decorated as "sensitive" in the API will not 18421// be included in the string output. The member name will be present, but the 18422// value will be replaced with "sensitive". 18423func (s UpdateJobStatusOutput) GoString() string { 18424 return s.String() 18425} 18426 18427// SetJobId sets the JobId field's value. 18428func (s *UpdateJobStatusOutput) SetJobId(v string) *UpdateJobStatusOutput { 18429 s.JobId = &v 18430 return s 18431} 18432 18433// SetStatus sets the Status field's value. 18434func (s *UpdateJobStatusOutput) SetStatus(v string) *UpdateJobStatusOutput { 18435 s.Status = &v 18436 return s 18437} 18438 18439// SetStatusUpdateReason sets the StatusUpdateReason field's value. 18440func (s *UpdateJobStatusOutput) SetStatusUpdateReason(v string) *UpdateJobStatusOutput { 18441 s.StatusUpdateReason = &v 18442 return s 18443} 18444 18445// The virtual private cloud (VPC) configuration for an access point. 18446type VpcConfiguration struct { 18447 _ struct{} `type:"structure"` 18448 18449 // If this field is specified, this access point will only allow connections 18450 // from the specified VPC ID. 18451 // 18452 // VpcId is a required field 18453 VpcId *string `min:"1" type:"string" required:"true"` 18454} 18455 18456// String returns the string representation. 18457// 18458// API parameter values that are decorated as "sensitive" in the API will not 18459// be included in the string output. The member name will be present, but the 18460// value will be replaced with "sensitive". 18461func (s VpcConfiguration) String() string { 18462 return awsutil.Prettify(s) 18463} 18464 18465// GoString returns the string representation. 18466// 18467// API parameter values that are decorated as "sensitive" in the API will not 18468// be included in the string output. The member name will be present, but the 18469// value will be replaced with "sensitive". 18470func (s VpcConfiguration) GoString() string { 18471 return s.String() 18472} 18473 18474// Validate inspects the fields of the type to determine if they are valid. 18475func (s *VpcConfiguration) Validate() error { 18476 invalidParams := request.ErrInvalidParams{Context: "VpcConfiguration"} 18477 if s.VpcId == nil { 18478 invalidParams.Add(request.NewErrParamRequired("VpcId")) 18479 } 18480 if s.VpcId != nil && len(*s.VpcId) < 1 { 18481 invalidParams.Add(request.NewErrParamMinLen("VpcId", 1)) 18482 } 18483 18484 if invalidParams.Len() > 0 { 18485 return invalidParams 18486 } 18487 return nil 18488} 18489 18490// SetVpcId sets the VpcId field's value. 18491func (s *VpcConfiguration) SetVpcId(v string) *VpcConfiguration { 18492 s.VpcId = &v 18493 return s 18494} 18495 18496const ( 18497 // AsyncOperationNameCreateMultiRegionAccessPoint is a AsyncOperationName enum value 18498 AsyncOperationNameCreateMultiRegionAccessPoint = "CreateMultiRegionAccessPoint" 18499 18500 // AsyncOperationNameDeleteMultiRegionAccessPoint is a AsyncOperationName enum value 18501 AsyncOperationNameDeleteMultiRegionAccessPoint = "DeleteMultiRegionAccessPoint" 18502 18503 // AsyncOperationNamePutMultiRegionAccessPointPolicy is a AsyncOperationName enum value 18504 AsyncOperationNamePutMultiRegionAccessPointPolicy = "PutMultiRegionAccessPointPolicy" 18505) 18506 18507// AsyncOperationName_Values returns all elements of the AsyncOperationName enum 18508func AsyncOperationName_Values() []string { 18509 return []string{ 18510 AsyncOperationNameCreateMultiRegionAccessPoint, 18511 AsyncOperationNameDeleteMultiRegionAccessPoint, 18512 AsyncOperationNamePutMultiRegionAccessPointPolicy, 18513 } 18514} 18515 18516const ( 18517 // BucketCannedACLPrivate is a BucketCannedACL enum value 18518 BucketCannedACLPrivate = "private" 18519 18520 // BucketCannedACLPublicRead is a BucketCannedACL enum value 18521 BucketCannedACLPublicRead = "public-read" 18522 18523 // BucketCannedACLPublicReadWrite is a BucketCannedACL enum value 18524 BucketCannedACLPublicReadWrite = "public-read-write" 18525 18526 // BucketCannedACLAuthenticatedRead is a BucketCannedACL enum value 18527 BucketCannedACLAuthenticatedRead = "authenticated-read" 18528) 18529 18530// BucketCannedACL_Values returns all elements of the BucketCannedACL enum 18531func BucketCannedACL_Values() []string { 18532 return []string{ 18533 BucketCannedACLPrivate, 18534 BucketCannedACLPublicRead, 18535 BucketCannedACLPublicReadWrite, 18536 BucketCannedACLAuthenticatedRead, 18537 } 18538} 18539 18540const ( 18541 // BucketLocationConstraintEu is a BucketLocationConstraint enum value 18542 BucketLocationConstraintEu = "EU" 18543 18544 // BucketLocationConstraintEuWest1 is a BucketLocationConstraint enum value 18545 BucketLocationConstraintEuWest1 = "eu-west-1" 18546 18547 // BucketLocationConstraintUsWest1 is a BucketLocationConstraint enum value 18548 BucketLocationConstraintUsWest1 = "us-west-1" 18549 18550 // BucketLocationConstraintUsWest2 is a BucketLocationConstraint enum value 18551 BucketLocationConstraintUsWest2 = "us-west-2" 18552 18553 // BucketLocationConstraintApSouth1 is a BucketLocationConstraint enum value 18554 BucketLocationConstraintApSouth1 = "ap-south-1" 18555 18556 // BucketLocationConstraintApSoutheast1 is a BucketLocationConstraint enum value 18557 BucketLocationConstraintApSoutheast1 = "ap-southeast-1" 18558 18559 // BucketLocationConstraintApSoutheast2 is a BucketLocationConstraint enum value 18560 BucketLocationConstraintApSoutheast2 = "ap-southeast-2" 18561 18562 // BucketLocationConstraintApNortheast1 is a BucketLocationConstraint enum value 18563 BucketLocationConstraintApNortheast1 = "ap-northeast-1" 18564 18565 // BucketLocationConstraintSaEast1 is a BucketLocationConstraint enum value 18566 BucketLocationConstraintSaEast1 = "sa-east-1" 18567 18568 // BucketLocationConstraintCnNorth1 is a BucketLocationConstraint enum value 18569 BucketLocationConstraintCnNorth1 = "cn-north-1" 18570 18571 // BucketLocationConstraintEuCentral1 is a BucketLocationConstraint enum value 18572 BucketLocationConstraintEuCentral1 = "eu-central-1" 18573) 18574 18575// BucketLocationConstraint_Values returns all elements of the BucketLocationConstraint enum 18576func BucketLocationConstraint_Values() []string { 18577 return []string{ 18578 BucketLocationConstraintEu, 18579 BucketLocationConstraintEuWest1, 18580 BucketLocationConstraintUsWest1, 18581 BucketLocationConstraintUsWest2, 18582 BucketLocationConstraintApSouth1, 18583 BucketLocationConstraintApSoutheast1, 18584 BucketLocationConstraintApSoutheast2, 18585 BucketLocationConstraintApNortheast1, 18586 BucketLocationConstraintSaEast1, 18587 BucketLocationConstraintCnNorth1, 18588 BucketLocationConstraintEuCentral1, 18589 } 18590} 18591 18592const ( 18593 // ExpirationStatusEnabled is a ExpirationStatus enum value 18594 ExpirationStatusEnabled = "Enabled" 18595 18596 // ExpirationStatusDisabled is a ExpirationStatus enum value 18597 ExpirationStatusDisabled = "Disabled" 18598) 18599 18600// ExpirationStatus_Values returns all elements of the ExpirationStatus enum 18601func ExpirationStatus_Values() []string { 18602 return []string{ 18603 ExpirationStatusEnabled, 18604 ExpirationStatusDisabled, 18605 } 18606} 18607 18608const ( 18609 // FormatCsv is a Format enum value 18610 FormatCsv = "CSV" 18611 18612 // FormatParquet is a Format enum value 18613 FormatParquet = "Parquet" 18614) 18615 18616// Format_Values returns all elements of the Format enum 18617func Format_Values() []string { 18618 return []string{ 18619 FormatCsv, 18620 FormatParquet, 18621 } 18622} 18623 18624const ( 18625 // JobManifestFieldNameIgnore is a JobManifestFieldName enum value 18626 JobManifestFieldNameIgnore = "Ignore" 18627 18628 // JobManifestFieldNameBucket is a JobManifestFieldName enum value 18629 JobManifestFieldNameBucket = "Bucket" 18630 18631 // JobManifestFieldNameKey is a JobManifestFieldName enum value 18632 JobManifestFieldNameKey = "Key" 18633 18634 // JobManifestFieldNameVersionId is a JobManifestFieldName enum value 18635 JobManifestFieldNameVersionId = "VersionId" 18636) 18637 18638// JobManifestFieldName_Values returns all elements of the JobManifestFieldName enum 18639func JobManifestFieldName_Values() []string { 18640 return []string{ 18641 JobManifestFieldNameIgnore, 18642 JobManifestFieldNameBucket, 18643 JobManifestFieldNameKey, 18644 JobManifestFieldNameVersionId, 18645 } 18646} 18647 18648const ( 18649 // JobManifestFormatS3batchOperationsCsv20180820 is a JobManifestFormat enum value 18650 JobManifestFormatS3batchOperationsCsv20180820 = "S3BatchOperations_CSV_20180820" 18651 18652 // JobManifestFormatS3inventoryReportCsv20161130 is a JobManifestFormat enum value 18653 JobManifestFormatS3inventoryReportCsv20161130 = "S3InventoryReport_CSV_20161130" 18654) 18655 18656// JobManifestFormat_Values returns all elements of the JobManifestFormat enum 18657func JobManifestFormat_Values() []string { 18658 return []string{ 18659 JobManifestFormatS3batchOperationsCsv20180820, 18660 JobManifestFormatS3inventoryReportCsv20161130, 18661 } 18662} 18663 18664const ( 18665 // JobReportFormatReportCsv20180820 is a JobReportFormat enum value 18666 JobReportFormatReportCsv20180820 = "Report_CSV_20180820" 18667) 18668 18669// JobReportFormat_Values returns all elements of the JobReportFormat enum 18670func JobReportFormat_Values() []string { 18671 return []string{ 18672 JobReportFormatReportCsv20180820, 18673 } 18674} 18675 18676const ( 18677 // JobReportScopeAllTasks is a JobReportScope enum value 18678 JobReportScopeAllTasks = "AllTasks" 18679 18680 // JobReportScopeFailedTasksOnly is a JobReportScope enum value 18681 JobReportScopeFailedTasksOnly = "FailedTasksOnly" 18682) 18683 18684// JobReportScope_Values returns all elements of the JobReportScope enum 18685func JobReportScope_Values() []string { 18686 return []string{ 18687 JobReportScopeAllTasks, 18688 JobReportScopeFailedTasksOnly, 18689 } 18690} 18691 18692const ( 18693 // JobStatusActive is a JobStatus enum value 18694 JobStatusActive = "Active" 18695 18696 // JobStatusCancelled is a JobStatus enum value 18697 JobStatusCancelled = "Cancelled" 18698 18699 // JobStatusCancelling is a JobStatus enum value 18700 JobStatusCancelling = "Cancelling" 18701 18702 // JobStatusComplete is a JobStatus enum value 18703 JobStatusComplete = "Complete" 18704 18705 // JobStatusCompleting is a JobStatus enum value 18706 JobStatusCompleting = "Completing" 18707 18708 // JobStatusFailed is a JobStatus enum value 18709 JobStatusFailed = "Failed" 18710 18711 // JobStatusFailing is a JobStatus enum value 18712 JobStatusFailing = "Failing" 18713 18714 // JobStatusNew is a JobStatus enum value 18715 JobStatusNew = "New" 18716 18717 // JobStatusPaused is a JobStatus enum value 18718 JobStatusPaused = "Paused" 18719 18720 // JobStatusPausing is a JobStatus enum value 18721 JobStatusPausing = "Pausing" 18722 18723 // JobStatusPreparing is a JobStatus enum value 18724 JobStatusPreparing = "Preparing" 18725 18726 // JobStatusReady is a JobStatus enum value 18727 JobStatusReady = "Ready" 18728 18729 // JobStatusSuspended is a JobStatus enum value 18730 JobStatusSuspended = "Suspended" 18731) 18732 18733// JobStatus_Values returns all elements of the JobStatus enum 18734func JobStatus_Values() []string { 18735 return []string{ 18736 JobStatusActive, 18737 JobStatusCancelled, 18738 JobStatusCancelling, 18739 JobStatusComplete, 18740 JobStatusCompleting, 18741 JobStatusFailed, 18742 JobStatusFailing, 18743 JobStatusNew, 18744 JobStatusPaused, 18745 JobStatusPausing, 18746 JobStatusPreparing, 18747 JobStatusReady, 18748 JobStatusSuspended, 18749 } 18750} 18751 18752const ( 18753 // MultiRegionAccessPointStatusReady is a MultiRegionAccessPointStatus enum value 18754 MultiRegionAccessPointStatusReady = "READY" 18755 18756 // MultiRegionAccessPointStatusInconsistentAcrossRegions is a MultiRegionAccessPointStatus enum value 18757 MultiRegionAccessPointStatusInconsistentAcrossRegions = "INCONSISTENT_ACROSS_REGIONS" 18758 18759 // MultiRegionAccessPointStatusCreating is a MultiRegionAccessPointStatus enum value 18760 MultiRegionAccessPointStatusCreating = "CREATING" 18761 18762 // MultiRegionAccessPointStatusPartiallyCreated is a MultiRegionAccessPointStatus enum value 18763 MultiRegionAccessPointStatusPartiallyCreated = "PARTIALLY_CREATED" 18764 18765 // MultiRegionAccessPointStatusPartiallyDeleted is a MultiRegionAccessPointStatus enum value 18766 MultiRegionAccessPointStatusPartiallyDeleted = "PARTIALLY_DELETED" 18767 18768 // MultiRegionAccessPointStatusDeleting is a MultiRegionAccessPointStatus enum value 18769 MultiRegionAccessPointStatusDeleting = "DELETING" 18770) 18771 18772// MultiRegionAccessPointStatus_Values returns all elements of the MultiRegionAccessPointStatus enum 18773func MultiRegionAccessPointStatus_Values() []string { 18774 return []string{ 18775 MultiRegionAccessPointStatusReady, 18776 MultiRegionAccessPointStatusInconsistentAcrossRegions, 18777 MultiRegionAccessPointStatusCreating, 18778 MultiRegionAccessPointStatusPartiallyCreated, 18779 MultiRegionAccessPointStatusPartiallyDeleted, 18780 MultiRegionAccessPointStatusDeleting, 18781 } 18782} 18783 18784const ( 18785 // NetworkOriginInternet is a NetworkOrigin enum value 18786 NetworkOriginInternet = "Internet" 18787 18788 // NetworkOriginVpc is a NetworkOrigin enum value 18789 NetworkOriginVpc = "VPC" 18790) 18791 18792// NetworkOrigin_Values returns all elements of the NetworkOrigin enum 18793func NetworkOrigin_Values() []string { 18794 return []string{ 18795 NetworkOriginInternet, 18796 NetworkOriginVpc, 18797 } 18798} 18799 18800const ( 18801 // ObjectLambdaAllowedFeatureGetObjectRange is a ObjectLambdaAllowedFeature enum value 18802 ObjectLambdaAllowedFeatureGetObjectRange = "GetObject-Range" 18803 18804 // ObjectLambdaAllowedFeatureGetObjectPartNumber is a ObjectLambdaAllowedFeature enum value 18805 ObjectLambdaAllowedFeatureGetObjectPartNumber = "GetObject-PartNumber" 18806) 18807 18808// ObjectLambdaAllowedFeature_Values returns all elements of the ObjectLambdaAllowedFeature enum 18809func ObjectLambdaAllowedFeature_Values() []string { 18810 return []string{ 18811 ObjectLambdaAllowedFeatureGetObjectRange, 18812 ObjectLambdaAllowedFeatureGetObjectPartNumber, 18813 } 18814} 18815 18816const ( 18817 // ObjectLambdaTransformationConfigurationActionGetObject is a ObjectLambdaTransformationConfigurationAction enum value 18818 ObjectLambdaTransformationConfigurationActionGetObject = "GetObject" 18819) 18820 18821// ObjectLambdaTransformationConfigurationAction_Values returns all elements of the ObjectLambdaTransformationConfigurationAction enum 18822func ObjectLambdaTransformationConfigurationAction_Values() []string { 18823 return []string{ 18824 ObjectLambdaTransformationConfigurationActionGetObject, 18825 } 18826} 18827 18828const ( 18829 // OperationNameLambdaInvoke is a OperationName enum value 18830 OperationNameLambdaInvoke = "LambdaInvoke" 18831 18832 // OperationNameS3putObjectCopy is a OperationName enum value 18833 OperationNameS3putObjectCopy = "S3PutObjectCopy" 18834 18835 // OperationNameS3putObjectAcl is a OperationName enum value 18836 OperationNameS3putObjectAcl = "S3PutObjectAcl" 18837 18838 // OperationNameS3putObjectTagging is a OperationName enum value 18839 OperationNameS3putObjectTagging = "S3PutObjectTagging" 18840 18841 // OperationNameS3deleteObjectTagging is a OperationName enum value 18842 OperationNameS3deleteObjectTagging = "S3DeleteObjectTagging" 18843 18844 // OperationNameS3initiateRestoreObject is a OperationName enum value 18845 OperationNameS3initiateRestoreObject = "S3InitiateRestoreObject" 18846 18847 // OperationNameS3putObjectLegalHold is a OperationName enum value 18848 OperationNameS3putObjectLegalHold = "S3PutObjectLegalHold" 18849 18850 // OperationNameS3putObjectRetention is a OperationName enum value 18851 OperationNameS3putObjectRetention = "S3PutObjectRetention" 18852) 18853 18854// OperationName_Values returns all elements of the OperationName enum 18855func OperationName_Values() []string { 18856 return []string{ 18857 OperationNameLambdaInvoke, 18858 OperationNameS3putObjectCopy, 18859 OperationNameS3putObjectAcl, 18860 OperationNameS3putObjectTagging, 18861 OperationNameS3deleteObjectTagging, 18862 OperationNameS3initiateRestoreObject, 18863 OperationNameS3putObjectLegalHold, 18864 OperationNameS3putObjectRetention, 18865 } 18866} 18867 18868const ( 18869 // OutputSchemaVersionV1 is a OutputSchemaVersion enum value 18870 OutputSchemaVersionV1 = "V_1" 18871) 18872 18873// OutputSchemaVersion_Values returns all elements of the OutputSchemaVersion enum 18874func OutputSchemaVersion_Values() []string { 18875 return []string{ 18876 OutputSchemaVersionV1, 18877 } 18878} 18879 18880const ( 18881 // RequestedJobStatusCancelled is a RequestedJobStatus enum value 18882 RequestedJobStatusCancelled = "Cancelled" 18883 18884 // RequestedJobStatusReady is a RequestedJobStatus enum value 18885 RequestedJobStatusReady = "Ready" 18886) 18887 18888// RequestedJobStatus_Values returns all elements of the RequestedJobStatus enum 18889func RequestedJobStatus_Values() []string { 18890 return []string{ 18891 RequestedJobStatusCancelled, 18892 RequestedJobStatusReady, 18893 } 18894} 18895 18896const ( 18897 // S3CannedAccessControlListPrivate is a S3CannedAccessControlList enum value 18898 S3CannedAccessControlListPrivate = "private" 18899 18900 // S3CannedAccessControlListPublicRead is a S3CannedAccessControlList enum value 18901 S3CannedAccessControlListPublicRead = "public-read" 18902 18903 // S3CannedAccessControlListPublicReadWrite is a S3CannedAccessControlList enum value 18904 S3CannedAccessControlListPublicReadWrite = "public-read-write" 18905 18906 // S3CannedAccessControlListAwsExecRead is a S3CannedAccessControlList enum value 18907 S3CannedAccessControlListAwsExecRead = "aws-exec-read" 18908 18909 // S3CannedAccessControlListAuthenticatedRead is a S3CannedAccessControlList enum value 18910 S3CannedAccessControlListAuthenticatedRead = "authenticated-read" 18911 18912 // S3CannedAccessControlListBucketOwnerRead is a S3CannedAccessControlList enum value 18913 S3CannedAccessControlListBucketOwnerRead = "bucket-owner-read" 18914 18915 // S3CannedAccessControlListBucketOwnerFullControl is a S3CannedAccessControlList enum value 18916 S3CannedAccessControlListBucketOwnerFullControl = "bucket-owner-full-control" 18917) 18918 18919// S3CannedAccessControlList_Values returns all elements of the S3CannedAccessControlList enum 18920func S3CannedAccessControlList_Values() []string { 18921 return []string{ 18922 S3CannedAccessControlListPrivate, 18923 S3CannedAccessControlListPublicRead, 18924 S3CannedAccessControlListPublicReadWrite, 18925 S3CannedAccessControlListAwsExecRead, 18926 S3CannedAccessControlListAuthenticatedRead, 18927 S3CannedAccessControlListBucketOwnerRead, 18928 S3CannedAccessControlListBucketOwnerFullControl, 18929 } 18930} 18931 18932const ( 18933 // S3GlacierJobTierBulk is a S3GlacierJobTier enum value 18934 S3GlacierJobTierBulk = "BULK" 18935 18936 // S3GlacierJobTierStandard is a S3GlacierJobTier enum value 18937 S3GlacierJobTierStandard = "STANDARD" 18938) 18939 18940// S3GlacierJobTier_Values returns all elements of the S3GlacierJobTier enum 18941func S3GlacierJobTier_Values() []string { 18942 return []string{ 18943 S3GlacierJobTierBulk, 18944 S3GlacierJobTierStandard, 18945 } 18946} 18947 18948const ( 18949 // S3GranteeTypeIdentifierId is a S3GranteeTypeIdentifier enum value 18950 S3GranteeTypeIdentifierId = "id" 18951 18952 // S3GranteeTypeIdentifierEmailAddress is a S3GranteeTypeIdentifier enum value 18953 S3GranteeTypeIdentifierEmailAddress = "emailAddress" 18954 18955 // S3GranteeTypeIdentifierUri is a S3GranteeTypeIdentifier enum value 18956 S3GranteeTypeIdentifierUri = "uri" 18957) 18958 18959// S3GranteeTypeIdentifier_Values returns all elements of the S3GranteeTypeIdentifier enum 18960func S3GranteeTypeIdentifier_Values() []string { 18961 return []string{ 18962 S3GranteeTypeIdentifierId, 18963 S3GranteeTypeIdentifierEmailAddress, 18964 S3GranteeTypeIdentifierUri, 18965 } 18966} 18967 18968const ( 18969 // S3MetadataDirectiveCopy is a S3MetadataDirective enum value 18970 S3MetadataDirectiveCopy = "COPY" 18971 18972 // S3MetadataDirectiveReplace is a S3MetadataDirective enum value 18973 S3MetadataDirectiveReplace = "REPLACE" 18974) 18975 18976// S3MetadataDirective_Values returns all elements of the S3MetadataDirective enum 18977func S3MetadataDirective_Values() []string { 18978 return []string{ 18979 S3MetadataDirectiveCopy, 18980 S3MetadataDirectiveReplace, 18981 } 18982} 18983 18984const ( 18985 // S3ObjectLockLegalHoldStatusOff is a S3ObjectLockLegalHoldStatus enum value 18986 S3ObjectLockLegalHoldStatusOff = "OFF" 18987 18988 // S3ObjectLockLegalHoldStatusOn is a S3ObjectLockLegalHoldStatus enum value 18989 S3ObjectLockLegalHoldStatusOn = "ON" 18990) 18991 18992// S3ObjectLockLegalHoldStatus_Values returns all elements of the S3ObjectLockLegalHoldStatus enum 18993func S3ObjectLockLegalHoldStatus_Values() []string { 18994 return []string{ 18995 S3ObjectLockLegalHoldStatusOff, 18996 S3ObjectLockLegalHoldStatusOn, 18997 } 18998} 18999 19000const ( 19001 // S3ObjectLockModeCompliance is a S3ObjectLockMode enum value 19002 S3ObjectLockModeCompliance = "COMPLIANCE" 19003 19004 // S3ObjectLockModeGovernance is a S3ObjectLockMode enum value 19005 S3ObjectLockModeGovernance = "GOVERNANCE" 19006) 19007 19008// S3ObjectLockMode_Values returns all elements of the S3ObjectLockMode enum 19009func S3ObjectLockMode_Values() []string { 19010 return []string{ 19011 S3ObjectLockModeCompliance, 19012 S3ObjectLockModeGovernance, 19013 } 19014} 19015 19016const ( 19017 // S3ObjectLockRetentionModeCompliance is a S3ObjectLockRetentionMode enum value 19018 S3ObjectLockRetentionModeCompliance = "COMPLIANCE" 19019 19020 // S3ObjectLockRetentionModeGovernance is a S3ObjectLockRetentionMode enum value 19021 S3ObjectLockRetentionModeGovernance = "GOVERNANCE" 19022) 19023 19024// S3ObjectLockRetentionMode_Values returns all elements of the S3ObjectLockRetentionMode enum 19025func S3ObjectLockRetentionMode_Values() []string { 19026 return []string{ 19027 S3ObjectLockRetentionModeCompliance, 19028 S3ObjectLockRetentionModeGovernance, 19029 } 19030} 19031 19032const ( 19033 // S3PermissionFullControl is a S3Permission enum value 19034 S3PermissionFullControl = "FULL_CONTROL" 19035 19036 // S3PermissionRead is a S3Permission enum value 19037 S3PermissionRead = "READ" 19038 19039 // S3PermissionWrite is a S3Permission enum value 19040 S3PermissionWrite = "WRITE" 19041 19042 // S3PermissionReadAcp is a S3Permission enum value 19043 S3PermissionReadAcp = "READ_ACP" 19044 19045 // S3PermissionWriteAcp is a S3Permission enum value 19046 S3PermissionWriteAcp = "WRITE_ACP" 19047) 19048 19049// S3Permission_Values returns all elements of the S3Permission enum 19050func S3Permission_Values() []string { 19051 return []string{ 19052 S3PermissionFullControl, 19053 S3PermissionRead, 19054 S3PermissionWrite, 19055 S3PermissionReadAcp, 19056 S3PermissionWriteAcp, 19057 } 19058} 19059 19060const ( 19061 // S3SSEAlgorithmAes256 is a S3SSEAlgorithm enum value 19062 S3SSEAlgorithmAes256 = "AES256" 19063 19064 // S3SSEAlgorithmKms is a S3SSEAlgorithm enum value 19065 S3SSEAlgorithmKms = "KMS" 19066) 19067 19068// S3SSEAlgorithm_Values returns all elements of the S3SSEAlgorithm enum 19069func S3SSEAlgorithm_Values() []string { 19070 return []string{ 19071 S3SSEAlgorithmAes256, 19072 S3SSEAlgorithmKms, 19073 } 19074} 19075 19076const ( 19077 // S3StorageClassStandard is a S3StorageClass enum value 19078 S3StorageClassStandard = "STANDARD" 19079 19080 // S3StorageClassStandardIa is a S3StorageClass enum value 19081 S3StorageClassStandardIa = "STANDARD_IA" 19082 19083 // S3StorageClassOnezoneIa is a S3StorageClass enum value 19084 S3StorageClassOnezoneIa = "ONEZONE_IA" 19085 19086 // S3StorageClassGlacier is a S3StorageClass enum value 19087 S3StorageClassGlacier = "GLACIER" 19088 19089 // S3StorageClassIntelligentTiering is a S3StorageClass enum value 19090 S3StorageClassIntelligentTiering = "INTELLIGENT_TIERING" 19091 19092 // S3StorageClassDeepArchive is a S3StorageClass enum value 19093 S3StorageClassDeepArchive = "DEEP_ARCHIVE" 19094) 19095 19096// S3StorageClass_Values returns all elements of the S3StorageClass enum 19097func S3StorageClass_Values() []string { 19098 return []string{ 19099 S3StorageClassStandard, 19100 S3StorageClassStandardIa, 19101 S3StorageClassOnezoneIa, 19102 S3StorageClassGlacier, 19103 S3StorageClassIntelligentTiering, 19104 S3StorageClassDeepArchive, 19105 } 19106} 19107 19108const ( 19109 // TransitionStorageClassGlacier is a TransitionStorageClass enum value 19110 TransitionStorageClassGlacier = "GLACIER" 19111 19112 // TransitionStorageClassStandardIa is a TransitionStorageClass enum value 19113 TransitionStorageClassStandardIa = "STANDARD_IA" 19114 19115 // TransitionStorageClassOnezoneIa is a TransitionStorageClass enum value 19116 TransitionStorageClassOnezoneIa = "ONEZONE_IA" 19117 19118 // TransitionStorageClassIntelligentTiering is a TransitionStorageClass enum value 19119 TransitionStorageClassIntelligentTiering = "INTELLIGENT_TIERING" 19120 19121 // TransitionStorageClassDeepArchive is a TransitionStorageClass enum value 19122 TransitionStorageClassDeepArchive = "DEEP_ARCHIVE" 19123) 19124 19125// TransitionStorageClass_Values returns all elements of the TransitionStorageClass enum 19126func TransitionStorageClass_Values() []string { 19127 return []string{ 19128 TransitionStorageClassGlacier, 19129 TransitionStorageClassStandardIa, 19130 TransitionStorageClassOnezoneIa, 19131 TransitionStorageClassIntelligentTiering, 19132 TransitionStorageClassDeepArchive, 19133 } 19134} 19135