github.com/aavshr/aws-sdk-go@v1.41.3/service/s3control/api.go (about) 1 // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3 package s3control 4 5 import ( 6 "fmt" 7 "time" 8 9 "github.com/aavshr/aws-sdk-go/aws" 10 "github.com/aavshr/aws-sdk-go/aws/awsutil" 11 "github.com/aavshr/aws-sdk-go/aws/request" 12 "github.com/aavshr/aws-sdk-go/internal/s3shared/arn" 13 "github.com/aavshr/aws-sdk-go/private/checksum" 14 "github.com/aavshr/aws-sdk-go/private/protocol" 15 "github.com/aavshr/aws-sdk-go/private/protocol/restxml" 16 ) 17 18 const 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 44 func (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 100 func (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. 114 func (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 121 const 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 147 func (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 186 func (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. 200 func (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 207 const 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 233 func (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 311 func (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. 325 func (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 332 const 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 358 func (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 414 func (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. 428 func (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 435 const 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 461 func (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 516 func (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. 530 func (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 537 const 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 563 func (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 612 func (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. 626 func (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 633 const 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 659 func (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 697 func (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. 711 func (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 718 const 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 744 func (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 791 func (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. 805 func (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 812 const 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 838 func (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 874 func (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. 888 func (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 895 const 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 921 func (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 979 func (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. 993 func (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 1000 const 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 1026 func (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 1092 func (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. 1106 func (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 1113 const 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 1139 func (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 1210 func (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. 1224 func (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 1231 const 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 1257 func (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 1315 func (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. 1329 func (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 1336 const 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 1362 func (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 1412 func (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. 1426 func (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 1433 const 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 1459 func (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 1513 func (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. 1527 func (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 1534 const 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 1560 func (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 1597 func (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. 1611 func (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 1618 const 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 1644 func (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 1682 func (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. 1696 func (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 1703 const 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 1729 func (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 1767 func (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. 1781 func (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 1788 const 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 1814 func (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 1865 func (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. 1879 func (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 1886 const 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 1912 func (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 1959 func (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. 1973 func (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 1980 const 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 2006 func (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 2054 func (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. 2068 func (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 2075 const 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 2101 func (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 2134 func (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. 2148 func (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 2155 const 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 2181 func (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 2219 func (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. 2233 func (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 2240 const 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 2266 func (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 2304 func (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. 2318 func (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 2325 const 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 2351 func (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 2386 func (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. 2400 func (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 2407 const 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 2433 func (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 2465 func (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. 2479 func (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 2486 const 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 2512 func (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 2542 func (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. 2556 func (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 2563 const 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 2589 func (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 2650 func (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. 2664 func (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 2671 const 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 2697 func (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 2765 func (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. 2779 func (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 2786 const 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 2812 func (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 2884 func (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. 2898 func (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 2905 const 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 2931 func (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 2993 func (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. 3007 func (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 3014 const 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 3040 func (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 3088 func (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. 3102 func (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 3109 const 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 3135 func (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 3184 func (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. 3198 func (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 3205 const 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 3231 func (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 3275 func (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. 3289 func (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 3296 const 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 3322 func (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 3367 func (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. 3381 func (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 3388 const 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 3414 func (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 3456 func (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. 3470 func (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 3477 const 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 3503 func (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 3539 func (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. 3553 func (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 3560 const 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 3586 func (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 3623 func (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. 3637 func (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 3644 const 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 3670 func (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 3728 func (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. 3742 func (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 // 3766 func (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. 3777 func (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 3801 const 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 3827 func (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 3874 func (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. 3888 func (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 // 3912 func (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. 3923 func (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 3947 const 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 3973 func (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 4029 func (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. 4043 func (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 // 4067 func (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. 4078 func (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 4102 const 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 4128 func (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 4185 func (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. 4199 func (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 // 4223 func (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. 4234 func (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 4258 const 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 4284 func (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 4327 func (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. 4341 func (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 // 4365 func (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. 4376 func (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 4400 const 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 4426 func (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 4469 func (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. 4483 func (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 // 4507 func (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. 4518 func (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 4542 const 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 4568 func (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 4602 func (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. 4616 func (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 4623 const 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 4649 func (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 4698 func (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. 4712 func (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 4719 const 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 4745 func (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 4783 func (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. 4797 func (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 4804 const 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 4830 func (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 4890 func (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. 4904 func (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 4911 const 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 4937 func (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 5012 func (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. 5026 func (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 5033 const 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 5059 func (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 5153 func (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. 5167 func (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 5174 const 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 5200 func (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 5281 func (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. 5295 func (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 5302 const 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 5328 func (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 5375 func (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. 5389 func (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 5396 const 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 5422 func (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 5460 func (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. 5474 func (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 5481 const 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 5507 func (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 5544 func (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. 5558 func (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 5565 const 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 5591 func (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 5629 func (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. 5643 func (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 5650 const 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 5676 func (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 5727 func (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. 5741 func (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 5748 const 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 5774 func (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 5828 func (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. 5842 func (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 5850 type 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". 5863 func (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". 5872 func (s AbortIncompleteMultipartUpload) GoString() string { 5873 return s.String() 5874 } 5875 5876 // SetDaysAfterInitiation sets the DaysAfterInitiation field's value. 5877 func (s *AbortIncompleteMultipartUpload) SetDaysAfterInitiation(v int64) *AbortIncompleteMultipartUpload { 5878 s.DaysAfterInitiation = &v 5879 return s 5880 } 5881 5882 // An access point used to access a bucket. 5883 type 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". 5924 func (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". 5933 func (s AccessPoint) GoString() string { 5934 return s.String() 5935 } 5936 5937 // SetAccessPointArn sets the AccessPointArn field's value. 5938 func (s *AccessPoint) SetAccessPointArn(v string) *AccessPoint { 5939 s.AccessPointArn = &v 5940 return s 5941 } 5942 5943 // SetAlias sets the Alias field's value. 5944 func (s *AccessPoint) SetAlias(v string) *AccessPoint { 5945 s.Alias = &v 5946 return s 5947 } 5948 5949 // SetBucket sets the Bucket field's value. 5950 func (s *AccessPoint) SetBucket(v string) *AccessPoint { 5951 s.Bucket = &v 5952 return s 5953 } 5954 5955 // SetName sets the Name field's value. 5956 func (s *AccessPoint) SetName(v string) *AccessPoint { 5957 s.Name = &v 5958 return s 5959 } 5960 5961 // SetNetworkOrigin sets the NetworkOrigin field's value. 5962 func (s *AccessPoint) SetNetworkOrigin(v string) *AccessPoint { 5963 s.NetworkOrigin = &v 5964 return s 5965 } 5966 5967 // SetVpcConfiguration sets the VpcConfiguration field's value. 5968 func (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. 5974 type 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". 5991 func (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". 6000 func (s AccountLevel) GoString() string { 6001 return s.String() 6002 } 6003 6004 // Validate inspects the fields of the type to determine if they are valid. 6005 func (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. 6023 func (s *AccountLevel) SetActivityMetrics(v *ActivityMetrics) *AccountLevel { 6024 s.ActivityMetrics = v 6025 return s 6026 } 6027 6028 // SetBucketLevel sets the BucketLevel field's value. 6029 func (s *AccountLevel) SetBucketLevel(v *BucketLevel) *AccountLevel { 6030 s.BucketLevel = v 6031 return s 6032 } 6033 6034 // A container for the activity metrics. 6035 type 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". 6047 func (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". 6056 func (s ActivityMetrics) GoString() string { 6057 return s.String() 6058 } 6059 6060 // SetIsEnabled sets the IsEnabled field's value. 6061 func (s *ActivityMetrics) SetIsEnabled(v bool) *ActivityMetrics { 6062 s.IsEnabled = &v 6063 return s 6064 } 6065 6066 // Error details for the failed asynchronous operation. 6067 type 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". 6088 func (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". 6097 func (s AsyncErrorDetails) GoString() string { 6098 return s.String() 6099 } 6100 6101 // SetCode sets the Code field's value. 6102 func (s *AsyncErrorDetails) SetCode(v string) *AsyncErrorDetails { 6103 s.Code = &v 6104 return s 6105 } 6106 6107 // SetMessage sets the Message field's value. 6108 func (s *AsyncErrorDetails) SetMessage(v string) *AsyncErrorDetails { 6109 s.Message = &v 6110 return s 6111 } 6112 6113 // SetRequestId sets the RequestId field's value. 6114 func (s *AsyncErrorDetails) SetRequestId(v string) *AsyncErrorDetails { 6115 s.RequestId = &v 6116 return s 6117 } 6118 6119 // SetResource sets the Resource field's value. 6120 func (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. 6126 type 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". 6153 func (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". 6162 func (s AsyncOperation) GoString() string { 6163 return s.String() 6164 } 6165 6166 // SetCreationTime sets the CreationTime field's value. 6167 func (s *AsyncOperation) SetCreationTime(v time.Time) *AsyncOperation { 6168 s.CreationTime = &v 6169 return s 6170 } 6171 6172 // SetOperation sets the Operation field's value. 6173 func (s *AsyncOperation) SetOperation(v string) *AsyncOperation { 6174 s.Operation = &v 6175 return s 6176 } 6177 6178 // SetRequestParameters sets the RequestParameters field's value. 6179 func (s *AsyncOperation) SetRequestParameters(v *AsyncRequestParameters) *AsyncOperation { 6180 s.RequestParameters = v 6181 return s 6182 } 6183 6184 // SetRequestStatus sets the RequestStatus field's value. 6185 func (s *AsyncOperation) SetRequestStatus(v string) *AsyncOperation { 6186 s.RequestStatus = &v 6187 return s 6188 } 6189 6190 // SetRequestTokenARN sets the RequestTokenARN field's value. 6191 func (s *AsyncOperation) SetRequestTokenARN(v string) *AsyncOperation { 6192 s.RequestTokenARN = &v 6193 return s 6194 } 6195 6196 // SetResponseDetails sets the ResponseDetails field's value. 6197 func (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. 6203 type 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". 6224 func (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". 6233 func (s AsyncRequestParameters) GoString() string { 6234 return s.String() 6235 } 6236 6237 // SetCreateMultiRegionAccessPointRequest sets the CreateMultiRegionAccessPointRequest field's value. 6238 func (s *AsyncRequestParameters) SetCreateMultiRegionAccessPointRequest(v *CreateMultiRegionAccessPointInput_) *AsyncRequestParameters { 6239 s.CreateMultiRegionAccessPointRequest = v 6240 return s 6241 } 6242 6243 // SetDeleteMultiRegionAccessPointRequest sets the DeleteMultiRegionAccessPointRequest field's value. 6244 func (s *AsyncRequestParameters) SetDeleteMultiRegionAccessPointRequest(v *DeleteMultiRegionAccessPointInput_) *AsyncRequestParameters { 6245 s.DeleteMultiRegionAccessPointRequest = v 6246 return s 6247 } 6248 6249 // SetPutMultiRegionAccessPointPolicyRequest sets the PutMultiRegionAccessPointPolicyRequest field's value. 6250 func (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. 6257 type 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". 6272 func (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". 6281 func (s AsyncResponseDetails) GoString() string { 6282 return s.String() 6283 } 6284 6285 // SetErrorDetails sets the ErrorDetails field's value. 6286 func (s *AsyncResponseDetails) SetErrorDetails(v *AsyncErrorDetails) *AsyncResponseDetails { 6287 s.ErrorDetails = v 6288 return s 6289 } 6290 6291 // SetMultiRegionAccessPointDetails sets the MultiRegionAccessPointDetails field's value. 6292 func (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. 6299 type 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". 6317 func (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". 6326 func (s AwsLambdaTransformation) GoString() string { 6327 return s.String() 6328 } 6329 6330 // Validate inspects the fields of the type to determine if they are valid. 6331 func (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. 6347 func (s *AwsLambdaTransformation) SetFunctionArn(v string) *AwsLambdaTransformation { 6348 s.FunctionArn = &v 6349 return s 6350 } 6351 6352 // SetFunctionPayload sets the FunctionPayload field's value. 6353 func (s *AwsLambdaTransformation) SetFunctionPayload(v string) *AwsLambdaTransformation { 6354 s.FunctionPayload = &v 6355 return s 6356 } 6357 6358 // A container for the bucket-level configuration. 6359 type 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". 6374 func (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". 6383 func (s BucketLevel) GoString() string { 6384 return s.String() 6385 } 6386 6387 // Validate inspects the fields of the type to determine if they are valid. 6388 func (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. 6403 func (s *BucketLevel) SetActivityMetrics(v *ActivityMetrics) *BucketLevel { 6404 s.ActivityMetrics = v 6405 return s 6406 } 6407 6408 // SetPrefixLevel sets the PrefixLevel field's value. 6409 func (s *BucketLevel) SetPrefixLevel(v *PrefixLevel) *BucketLevel { 6410 s.PrefixLevel = v 6411 return s 6412 } 6413 6414 type 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". 6439 func (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". 6448 func (s CreateAccessPointForObjectLambdaInput) GoString() string { 6449 return s.String() 6450 } 6451 6452 // Validate inspects the fields of the type to determine if they are valid. 6453 func (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. 6483 func (s *CreateAccessPointForObjectLambdaInput) SetAccountId(v string) *CreateAccessPointForObjectLambdaInput { 6484 s.AccountId = &v 6485 return s 6486 } 6487 6488 // SetConfiguration sets the Configuration field's value. 6489 func (s *CreateAccessPointForObjectLambdaInput) SetConfiguration(v *ObjectLambdaConfiguration) *CreateAccessPointForObjectLambdaInput { 6490 s.Configuration = v 6491 return s 6492 } 6493 6494 // SetName sets the Name field's value. 6495 func (s *CreateAccessPointForObjectLambdaInput) SetName(v string) *CreateAccessPointForObjectLambdaInput { 6496 s.Name = &v 6497 return s 6498 } 6499 6500 func (s *CreateAccessPointForObjectLambdaInput) hostLabels() map[string]string { 6501 return map[string]string{ 6502 "AccountId": aws.StringValue(s.AccountId), 6503 } 6504 } 6505 6506 type 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". 6518 func (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". 6527 func (s CreateAccessPointForObjectLambdaOutput) GoString() string { 6528 return s.String() 6529 } 6530 6531 // SetObjectLambdaAccessPointArn sets the ObjectLambdaAccessPointArn field's value. 6532 func (s *CreateAccessPointForObjectLambdaOutput) SetObjectLambdaAccessPointArn(v string) *CreateAccessPointForObjectLambdaOutput { 6533 s.ObjectLambdaAccessPointArn = &v 6534 return s 6535 } 6536 6537 type 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". 6582 func (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". 6591 func (s CreateAccessPointInput) GoString() string { 6592 return s.String() 6593 } 6594 6595 // Validate inspects the fields of the type to determine if they are valid. 6596 func (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. 6629 func (s *CreateAccessPointInput) SetAccountId(v string) *CreateAccessPointInput { 6630 s.AccountId = &v 6631 return s 6632 } 6633 6634 // SetBucket sets the Bucket field's value. 6635 func (s *CreateAccessPointInput) SetBucket(v string) *CreateAccessPointInput { 6636 s.Bucket = &v 6637 return s 6638 } 6639 6640 // SetName sets the Name field's value. 6641 func (s *CreateAccessPointInput) SetName(v string) *CreateAccessPointInput { 6642 s.Name = &v 6643 return s 6644 } 6645 6646 // SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value. 6647 func (s *CreateAccessPointInput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *CreateAccessPointInput { 6648 s.PublicAccessBlockConfiguration = v 6649 return s 6650 } 6651 6652 // SetVpcConfiguration sets the VpcConfiguration field's value. 6653 func (s *CreateAccessPointInput) SetVpcConfiguration(v *VpcConfiguration) *CreateAccessPointInput { 6654 s.VpcConfiguration = v 6655 return s 6656 } 6657 6658 func (s *CreateAccessPointInput) hostLabels() map[string]string { 6659 return map[string]string{ 6660 "AccountId": aws.StringValue(s.AccountId), 6661 } 6662 } 6663 6664 func (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 6671 func (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. 6683 func (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. 6695 func (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 6705 type 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". 6722 func (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". 6731 func (s CreateAccessPointOutput) GoString() string { 6732 return s.String() 6733 } 6734 6735 // SetAccessPointArn sets the AccessPointArn field's value. 6736 func (s *CreateAccessPointOutput) SetAccessPointArn(v string) *CreateAccessPointOutput { 6737 s.AccessPointArn = &v 6738 return s 6739 } 6740 6741 // SetAlias sets the Alias field's value. 6742 func (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. 6750 type 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". 6766 func (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". 6775 func (s CreateBucketConfiguration) GoString() string { 6776 return s.String() 6777 } 6778 6779 // SetLocationConstraint sets the LocationConstraint field's value. 6780 func (s *CreateBucketConfiguration) SetLocationConstraint(v string) *CreateBucketConfiguration { 6781 s.LocationConstraint = &v 6782 return s 6783 } 6784 6785 type 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". 6845 func (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". 6854 func (s CreateBucketInput) GoString() string { 6855 return s.String() 6856 } 6857 6858 // Validate inspects the fields of the type to determine if they are valid. 6859 func (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. 6878 func (s *CreateBucketInput) SetACL(v string) *CreateBucketInput { 6879 s.ACL = &v 6880 return s 6881 } 6882 6883 // SetBucket sets the Bucket field's value. 6884 func (s *CreateBucketInput) SetBucket(v string) *CreateBucketInput { 6885 s.Bucket = &v 6886 return s 6887 } 6888 6889 // SetCreateBucketConfiguration sets the CreateBucketConfiguration field's value. 6890 func (s *CreateBucketInput) SetCreateBucketConfiguration(v *CreateBucketConfiguration) *CreateBucketInput { 6891 s.CreateBucketConfiguration = v 6892 return s 6893 } 6894 6895 // SetGrantFullControl sets the GrantFullControl field's value. 6896 func (s *CreateBucketInput) SetGrantFullControl(v string) *CreateBucketInput { 6897 s.GrantFullControl = &v 6898 return s 6899 } 6900 6901 // SetGrantRead sets the GrantRead field's value. 6902 func (s *CreateBucketInput) SetGrantRead(v string) *CreateBucketInput { 6903 s.GrantRead = &v 6904 return s 6905 } 6906 6907 // SetGrantReadACP sets the GrantReadACP field's value. 6908 func (s *CreateBucketInput) SetGrantReadACP(v string) *CreateBucketInput { 6909 s.GrantReadACP = &v 6910 return s 6911 } 6912 6913 // SetGrantWrite sets the GrantWrite field's value. 6914 func (s *CreateBucketInput) SetGrantWrite(v string) *CreateBucketInput { 6915 s.GrantWrite = &v 6916 return s 6917 } 6918 6919 // SetGrantWriteACP sets the GrantWriteACP field's value. 6920 func (s *CreateBucketInput) SetGrantWriteACP(v string) *CreateBucketInput { 6921 s.GrantWriteACP = &v 6922 return s 6923 } 6924 6925 // SetObjectLockEnabledForBucket sets the ObjectLockEnabledForBucket field's value. 6926 func (s *CreateBucketInput) SetObjectLockEnabledForBucket(v bool) *CreateBucketInput { 6927 s.ObjectLockEnabledForBucket = &v 6928 return s 6929 } 6930 6931 // SetOutpostId sets the OutpostId field's value. 6932 func (s *CreateBucketInput) SetOutpostId(v string) *CreateBucketInput { 6933 s.OutpostId = &v 6934 return s 6935 } 6936 6937 func (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 6944 func (s *CreateBucketInput) hasOutpostID() bool { 6945 if s.OutpostId == nil { 6946 return false 6947 } 6948 return true 6949 } 6950 6951 type 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". 6976 func (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". 6985 func (s CreateBucketOutput) GoString() string { 6986 return s.String() 6987 } 6988 6989 // SetBucketArn sets the BucketArn field's value. 6990 func (s *CreateBucketOutput) SetBucketArn(v string) *CreateBucketOutput { 6991 s.BucketArn = &v 6992 return s 6993 } 6994 6995 // SetLocation sets the Location field's value. 6996 func (s *CreateBucketOutput) SetLocation(v string) *CreateBucketOutput { 6997 s.Location = &v 6998 return s 6999 } 7000 7001 type 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". 7061 func (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". 7070 func (s CreateJobInput) GoString() string { 7071 return s.String() 7072 } 7073 7074 // Validate inspects the fields of the type to determine if they are valid. 7075 func (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. 7140 func (s *CreateJobInput) SetAccountId(v string) *CreateJobInput { 7141 s.AccountId = &v 7142 return s 7143 } 7144 7145 // SetClientRequestToken sets the ClientRequestToken field's value. 7146 func (s *CreateJobInput) SetClientRequestToken(v string) *CreateJobInput { 7147 s.ClientRequestToken = &v 7148 return s 7149 } 7150 7151 // SetConfirmationRequired sets the ConfirmationRequired field's value. 7152 func (s *CreateJobInput) SetConfirmationRequired(v bool) *CreateJobInput { 7153 s.ConfirmationRequired = &v 7154 return s 7155 } 7156 7157 // SetDescription sets the Description field's value. 7158 func (s *CreateJobInput) SetDescription(v string) *CreateJobInput { 7159 s.Description = &v 7160 return s 7161 } 7162 7163 // SetManifest sets the Manifest field's value. 7164 func (s *CreateJobInput) SetManifest(v *JobManifest) *CreateJobInput { 7165 s.Manifest = v 7166 return s 7167 } 7168 7169 // SetOperation sets the Operation field's value. 7170 func (s *CreateJobInput) SetOperation(v *JobOperation) *CreateJobInput { 7171 s.Operation = v 7172 return s 7173 } 7174 7175 // SetPriority sets the Priority field's value. 7176 func (s *CreateJobInput) SetPriority(v int64) *CreateJobInput { 7177 s.Priority = &v 7178 return s 7179 } 7180 7181 // SetReport sets the Report field's value. 7182 func (s *CreateJobInput) SetReport(v *JobReport) *CreateJobInput { 7183 s.Report = v 7184 return s 7185 } 7186 7187 // SetRoleArn sets the RoleArn field's value. 7188 func (s *CreateJobInput) SetRoleArn(v string) *CreateJobInput { 7189 s.RoleArn = &v 7190 return s 7191 } 7192 7193 // SetTags sets the Tags field's value. 7194 func (s *CreateJobInput) SetTags(v []*S3Tag) *CreateJobInput { 7195 s.Tags = v 7196 return s 7197 } 7198 7199 func (s *CreateJobInput) hostLabels() map[string]string { 7200 return map[string]string{ 7201 "AccountId": aws.StringValue(s.AccountId), 7202 } 7203 } 7204 7205 type 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". 7218 func (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". 7227 func (s CreateJobOutput) GoString() string { 7228 return s.String() 7229 } 7230 7231 // SetJobId sets the JobId field's value. 7232 func (s *CreateJobOutput) SetJobId(v string) *CreateJobOutput { 7233 s.JobId = &v 7234 return s 7235 } 7236 7237 type 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". 7262 func (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". 7271 func (s CreateMultiRegionAccessPointInput) GoString() string { 7272 return s.String() 7273 } 7274 7275 // Validate inspects the fields of the type to determine if they are valid. 7276 func (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. 7300 func (s *CreateMultiRegionAccessPointInput) SetAccountId(v string) *CreateMultiRegionAccessPointInput { 7301 s.AccountId = &v 7302 return s 7303 } 7304 7305 // SetClientToken sets the ClientToken field's value. 7306 func (s *CreateMultiRegionAccessPointInput) SetClientToken(v string) *CreateMultiRegionAccessPointInput { 7307 s.ClientToken = &v 7308 return s 7309 } 7310 7311 // SetDetails sets the Details field's value. 7312 func (s *CreateMultiRegionAccessPointInput) SetDetails(v *CreateMultiRegionAccessPointInput_) *CreateMultiRegionAccessPointInput { 7313 s.Details = v 7314 return s 7315 } 7316 7317 func (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. 7326 type 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". 7355 func (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". 7364 func (s CreateMultiRegionAccessPointInput_) GoString() string { 7365 return s.String() 7366 } 7367 7368 // Validate inspects the fields of the type to determine if they are valid. 7369 func (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. 7395 func (s *CreateMultiRegionAccessPointInput_) SetName(v string) *CreateMultiRegionAccessPointInput_ { 7396 s.Name = &v 7397 return s 7398 } 7399 7400 // SetPublicAccessBlock sets the PublicAccessBlock field's value. 7401 func (s *CreateMultiRegionAccessPointInput_) SetPublicAccessBlock(v *PublicAccessBlockConfiguration) *CreateMultiRegionAccessPointInput_ { 7402 s.PublicAccessBlock = v 7403 return s 7404 } 7405 7406 // SetRegions sets the Regions field's value. 7407 func (s *CreateMultiRegionAccessPointInput_) SetRegions(v []*Region) *CreateMultiRegionAccessPointInput_ { 7408 s.Regions = v 7409 return s 7410 } 7411 7412 type 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". 7426 func (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". 7435 func (s CreateMultiRegionAccessPointOutput) GoString() string { 7436 return s.String() 7437 } 7438 7439 // SetRequestTokenARN sets the RequestTokenARN field's value. 7440 func (s *CreateMultiRegionAccessPointOutput) SetRequestTokenARN(v string) *CreateMultiRegionAccessPointOutput { 7441 s.RequestTokenARN = &v 7442 return s 7443 } 7444 7445 type 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". 7465 func (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". 7474 func (s DeleteAccessPointForObjectLambdaInput) GoString() string { 7475 return s.String() 7476 } 7477 7478 // Validate inspects the fields of the type to determine if they are valid. 7479 func (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. 7501 func (s *DeleteAccessPointForObjectLambdaInput) SetAccountId(v string) *DeleteAccessPointForObjectLambdaInput { 7502 s.AccountId = &v 7503 return s 7504 } 7505 7506 // SetName sets the Name field's value. 7507 func (s *DeleteAccessPointForObjectLambdaInput) SetName(v string) *DeleteAccessPointForObjectLambdaInput { 7508 s.Name = &v 7509 return s 7510 } 7511 7512 func (s *DeleteAccessPointForObjectLambdaInput) hostLabels() map[string]string { 7513 return map[string]string{ 7514 "AccountId": aws.StringValue(s.AccountId), 7515 } 7516 } 7517 7518 type 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". 7527 func (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". 7536 func (s DeleteAccessPointForObjectLambdaOutput) GoString() string { 7537 return s.String() 7538 } 7539 7540 type 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". 7570 func (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". 7579 func (s DeleteAccessPointInput) GoString() string { 7580 return s.String() 7581 } 7582 7583 // Validate inspects the fields of the type to determine if they are valid. 7584 func (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. 7606 func (s *DeleteAccessPointInput) SetAccountId(v string) *DeleteAccessPointInput { 7607 s.AccountId = &v 7608 return s 7609 } 7610 7611 // SetName sets the Name field's value. 7612 func (s *DeleteAccessPointInput) SetName(v string) *DeleteAccessPointInput { 7613 s.Name = &v 7614 return s 7615 } 7616 7617 func (s *DeleteAccessPointInput) hostLabels() map[string]string { 7618 return map[string]string{ 7619 "AccountId": aws.StringValue(s.AccountId), 7620 } 7621 } 7622 7623 func (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 7630 func (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. 7642 func (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. 7654 func (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 7664 type 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". 7673 func (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". 7682 func (s DeleteAccessPointOutput) GoString() string { 7683 return s.String() 7684 } 7685 7686 type 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". 7707 func (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". 7716 func (s DeleteAccessPointPolicyForObjectLambdaInput) GoString() string { 7717 return s.String() 7718 } 7719 7720 // Validate inspects the fields of the type to determine if they are valid. 7721 func (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. 7743 func (s *DeleteAccessPointPolicyForObjectLambdaInput) SetAccountId(v string) *DeleteAccessPointPolicyForObjectLambdaInput { 7744 s.AccountId = &v 7745 return s 7746 } 7747 7748 // SetName sets the Name field's value. 7749 func (s *DeleteAccessPointPolicyForObjectLambdaInput) SetName(v string) *DeleteAccessPointPolicyForObjectLambdaInput { 7750 s.Name = &v 7751 return s 7752 } 7753 7754 func (s *DeleteAccessPointPolicyForObjectLambdaInput) hostLabels() map[string]string { 7755 return map[string]string{ 7756 "AccountId": aws.StringValue(s.AccountId), 7757 } 7758 } 7759 7760 type 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". 7769 func (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". 7778 func (s DeleteAccessPointPolicyForObjectLambdaOutput) GoString() string { 7779 return s.String() 7780 } 7781 7782 type 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". 7812 func (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". 7821 func (s DeleteAccessPointPolicyInput) GoString() string { 7822 return s.String() 7823 } 7824 7825 // Validate inspects the fields of the type to determine if they are valid. 7826 func (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. 7848 func (s *DeleteAccessPointPolicyInput) SetAccountId(v string) *DeleteAccessPointPolicyInput { 7849 s.AccountId = &v 7850 return s 7851 } 7852 7853 // SetName sets the Name field's value. 7854 func (s *DeleteAccessPointPolicyInput) SetName(v string) *DeleteAccessPointPolicyInput { 7855 s.Name = &v 7856 return s 7857 } 7858 7859 func (s *DeleteAccessPointPolicyInput) hostLabels() map[string]string { 7860 return map[string]string{ 7861 "AccountId": aws.StringValue(s.AccountId), 7862 } 7863 } 7864 7865 func (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 7872 func (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. 7884 func (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. 7896 func (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 7906 type 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". 7915 func (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". 7924 func (s DeleteAccessPointPolicyOutput) GoString() string { 7925 return s.String() 7926 } 7927 7928 type 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". 7957 func (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". 7966 func (s DeleteBucketInput) GoString() string { 7967 return s.String() 7968 } 7969 7970 // Validate inspects the fields of the type to determine if they are valid. 7971 func (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. 7993 func (s *DeleteBucketInput) SetAccountId(v string) *DeleteBucketInput { 7994 s.AccountId = &v 7995 return s 7996 } 7997 7998 // SetBucket sets the Bucket field's value. 7999 func (s *DeleteBucketInput) SetBucket(v string) *DeleteBucketInput { 8000 s.Bucket = &v 8001 return s 8002 } 8003 8004 func (s *DeleteBucketInput) hostLabels() map[string]string { 8005 return map[string]string{ 8006 "AccountId": aws.StringValue(s.AccountId), 8007 } 8008 } 8009 8010 func (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 8017 func (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. 8029 func (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. 8041 func (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 8051 type 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". 8080 func (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". 8089 func (s DeleteBucketLifecycleConfigurationInput) GoString() string { 8090 return s.String() 8091 } 8092 8093 // Validate inspects the fields of the type to determine if they are valid. 8094 func (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. 8116 func (s *DeleteBucketLifecycleConfigurationInput) SetAccountId(v string) *DeleteBucketLifecycleConfigurationInput { 8117 s.AccountId = &v 8118 return s 8119 } 8120 8121 // SetBucket sets the Bucket field's value. 8122 func (s *DeleteBucketLifecycleConfigurationInput) SetBucket(v string) *DeleteBucketLifecycleConfigurationInput { 8123 s.Bucket = &v 8124 return s 8125 } 8126 8127 func (s *DeleteBucketLifecycleConfigurationInput) hostLabels() map[string]string { 8128 return map[string]string{ 8129 "AccountId": aws.StringValue(s.AccountId), 8130 } 8131 } 8132 8133 func (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 8140 func (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. 8152 func (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. 8164 func (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 8174 type 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". 8183 func (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". 8192 func (s DeleteBucketLifecycleConfigurationOutput) GoString() string { 8193 return s.String() 8194 } 8195 8196 type 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". 8205 func (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". 8214 func (s DeleteBucketOutput) GoString() string { 8215 return s.String() 8216 } 8217 8218 type 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". 8247 func (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". 8256 func (s DeleteBucketPolicyInput) GoString() string { 8257 return s.String() 8258 } 8259 8260 // Validate inspects the fields of the type to determine if they are valid. 8261 func (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. 8283 func (s *DeleteBucketPolicyInput) SetAccountId(v string) *DeleteBucketPolicyInput { 8284 s.AccountId = &v 8285 return s 8286 } 8287 8288 // SetBucket sets the Bucket field's value. 8289 func (s *DeleteBucketPolicyInput) SetBucket(v string) *DeleteBucketPolicyInput { 8290 s.Bucket = &v 8291 return s 8292 } 8293 8294 func (s *DeleteBucketPolicyInput) hostLabels() map[string]string { 8295 return map[string]string{ 8296 "AccountId": aws.StringValue(s.AccountId), 8297 } 8298 } 8299 8300 func (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 8307 func (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. 8319 func (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. 8331 func (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 8341 type 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". 8350 func (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". 8359 func (s DeleteBucketPolicyOutput) GoString() string { 8360 return s.String() 8361 } 8362 8363 type 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". 8392 func (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". 8401 func (s DeleteBucketTaggingInput) GoString() string { 8402 return s.String() 8403 } 8404 8405 // Validate inspects the fields of the type to determine if they are valid. 8406 func (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. 8428 func (s *DeleteBucketTaggingInput) SetAccountId(v string) *DeleteBucketTaggingInput { 8429 s.AccountId = &v 8430 return s 8431 } 8432 8433 // SetBucket sets the Bucket field's value. 8434 func (s *DeleteBucketTaggingInput) SetBucket(v string) *DeleteBucketTaggingInput { 8435 s.Bucket = &v 8436 return s 8437 } 8438 8439 func (s *DeleteBucketTaggingInput) hostLabels() map[string]string { 8440 return map[string]string{ 8441 "AccountId": aws.StringValue(s.AccountId), 8442 } 8443 } 8444 8445 func (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 8452 func (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. 8464 func (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. 8476 func (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 8486 type 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". 8495 func (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". 8504 func (s DeleteBucketTaggingOutput) GoString() string { 8505 return s.String() 8506 } 8507 8508 type 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". 8528 func (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". 8537 func (s DeleteJobTaggingInput) GoString() string { 8538 return s.String() 8539 } 8540 8541 // Validate inspects the fields of the type to determine if they are valid. 8542 func (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. 8564 func (s *DeleteJobTaggingInput) SetAccountId(v string) *DeleteJobTaggingInput { 8565 s.AccountId = &v 8566 return s 8567 } 8568 8569 // SetJobId sets the JobId field's value. 8570 func (s *DeleteJobTaggingInput) SetJobId(v string) *DeleteJobTaggingInput { 8571 s.JobId = &v 8572 return s 8573 } 8574 8575 func (s *DeleteJobTaggingInput) hostLabels() map[string]string { 8576 return map[string]string{ 8577 "AccountId": aws.StringValue(s.AccountId), 8578 } 8579 } 8580 8581 type 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". 8590 func (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". 8599 func (s DeleteJobTaggingOutput) GoString() string { 8600 return s.String() 8601 } 8602 8603 type 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". 8627 func (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". 8636 func (s DeleteMultiRegionAccessPointInput) GoString() string { 8637 return s.String() 8638 } 8639 8640 // Validate inspects the fields of the type to determine if they are valid. 8641 func (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. 8665 func (s *DeleteMultiRegionAccessPointInput) SetAccountId(v string) *DeleteMultiRegionAccessPointInput { 8666 s.AccountId = &v 8667 return s 8668 } 8669 8670 // SetClientToken sets the ClientToken field's value. 8671 func (s *DeleteMultiRegionAccessPointInput) SetClientToken(v string) *DeleteMultiRegionAccessPointInput { 8672 s.ClientToken = &v 8673 return s 8674 } 8675 8676 // SetDetails sets the Details field's value. 8677 func (s *DeleteMultiRegionAccessPointInput) SetDetails(v *DeleteMultiRegionAccessPointInput_) *DeleteMultiRegionAccessPointInput { 8678 s.Details = v 8679 return s 8680 } 8681 8682 func (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. 8691 type 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". 8705 func (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". 8714 func (s DeleteMultiRegionAccessPointInput_) GoString() string { 8715 return s.String() 8716 } 8717 8718 // Validate inspects the fields of the type to determine if they are valid. 8719 func (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. 8732 func (s *DeleteMultiRegionAccessPointInput_) SetName(v string) *DeleteMultiRegionAccessPointInput_ { 8733 s.Name = &v 8734 return s 8735 } 8736 8737 type 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". 8751 func (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". 8760 func (s DeleteMultiRegionAccessPointOutput) GoString() string { 8761 return s.String() 8762 } 8763 8764 // SetRequestTokenARN sets the RequestTokenARN field's value. 8765 func (s *DeleteMultiRegionAccessPointOutput) SetRequestTokenARN(v string) *DeleteMultiRegionAccessPointOutput { 8766 s.RequestTokenARN = &v 8767 return s 8768 } 8769 8770 type 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". 8785 func (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". 8794 func (s DeletePublicAccessBlockInput) GoString() string { 8795 return s.String() 8796 } 8797 8798 // Validate inspects the fields of the type to determine if they are valid. 8799 func (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. 8815 func (s *DeletePublicAccessBlockInput) SetAccountId(v string) *DeletePublicAccessBlockInput { 8816 s.AccountId = &v 8817 return s 8818 } 8819 8820 func (s *DeletePublicAccessBlockInput) hostLabels() map[string]string { 8821 return map[string]string{ 8822 "AccountId": aws.StringValue(s.AccountId), 8823 } 8824 } 8825 8826 type 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". 8835 func (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". 8844 func (s DeletePublicAccessBlockOutput) GoString() string { 8845 return s.String() 8846 } 8847 8848 type 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". 8867 func (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". 8876 func (s DeleteStorageLensConfigurationInput) GoString() string { 8877 return s.String() 8878 } 8879 8880 // Validate inspects the fields of the type to determine if they are valid. 8881 func (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. 8903 func (s *DeleteStorageLensConfigurationInput) SetAccountId(v string) *DeleteStorageLensConfigurationInput { 8904 s.AccountId = &v 8905 return s 8906 } 8907 8908 // SetConfigId sets the ConfigId field's value. 8909 func (s *DeleteStorageLensConfigurationInput) SetConfigId(v string) *DeleteStorageLensConfigurationInput { 8910 s.ConfigId = &v 8911 return s 8912 } 8913 8914 func (s *DeleteStorageLensConfigurationInput) hostLabels() map[string]string { 8915 return map[string]string{ 8916 "AccountId": aws.StringValue(s.AccountId), 8917 } 8918 } 8919 8920 type 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". 8929 func (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". 8938 func (s DeleteStorageLensConfigurationOutput) GoString() string { 8939 return s.String() 8940 } 8941 8942 type 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". 8961 func (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". 8970 func (s DeleteStorageLensConfigurationTaggingInput) GoString() string { 8971 return s.String() 8972 } 8973 8974 // Validate inspects the fields of the type to determine if they are valid. 8975 func (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. 8997 func (s *DeleteStorageLensConfigurationTaggingInput) SetAccountId(v string) *DeleteStorageLensConfigurationTaggingInput { 8998 s.AccountId = &v 8999 return s 9000 } 9001 9002 // SetConfigId sets the ConfigId field's value. 9003 func (s *DeleteStorageLensConfigurationTaggingInput) SetConfigId(v string) *DeleteStorageLensConfigurationTaggingInput { 9004 s.ConfigId = &v 9005 return s 9006 } 9007 9008 func (s *DeleteStorageLensConfigurationTaggingInput) hostLabels() map[string]string { 9009 return map[string]string{ 9010 "AccountId": aws.StringValue(s.AccountId), 9011 } 9012 } 9013 9014 type 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". 9023 func (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". 9032 func (s DeleteStorageLensConfigurationTaggingOutput) GoString() string { 9033 return s.String() 9034 } 9035 9036 type 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". 9056 func (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". 9065 func (s DescribeJobInput) GoString() string { 9066 return s.String() 9067 } 9068 9069 // Validate inspects the fields of the type to determine if they are valid. 9070 func (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. 9092 func (s *DescribeJobInput) SetAccountId(v string) *DescribeJobInput { 9093 s.AccountId = &v 9094 return s 9095 } 9096 9097 // SetJobId sets the JobId field's value. 9098 func (s *DescribeJobInput) SetJobId(v string) *DescribeJobInput { 9099 s.JobId = &v 9100 return s 9101 } 9102 9103 func (s *DescribeJobInput) hostLabels() map[string]string { 9104 return map[string]string{ 9105 "AccountId": aws.StringValue(s.AccountId), 9106 } 9107 } 9108 9109 type 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". 9122 func (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". 9131 func (s DescribeJobOutput) GoString() string { 9132 return s.String() 9133 } 9134 9135 // SetJob sets the Job field's value. 9136 func (s *DescribeJobOutput) SetJob(v *JobDescriptor) *DescribeJobOutput { 9137 s.Job = v 9138 return s 9139 } 9140 9141 type 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". 9164 func (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". 9173 func (s DescribeMultiRegionAccessPointOperationInput) GoString() string { 9174 return s.String() 9175 } 9176 9177 // Validate inspects the fields of the type to determine if they are valid. 9178 func (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. 9200 func (s *DescribeMultiRegionAccessPointOperationInput) SetAccountId(v string) *DescribeMultiRegionAccessPointOperationInput { 9201 s.AccountId = &v 9202 return s 9203 } 9204 9205 // SetRequestTokenARN sets the RequestTokenARN field's value. 9206 func (s *DescribeMultiRegionAccessPointOperationInput) SetRequestTokenARN(v string) *DescribeMultiRegionAccessPointOperationInput { 9207 s.RequestTokenARN = &v 9208 return s 9209 } 9210 9211 func (s *DescribeMultiRegionAccessPointOperationInput) hostLabels() map[string]string { 9212 return map[string]string{ 9213 "AccountId": aws.StringValue(s.AccountId), 9214 } 9215 } 9216 9217 type 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". 9229 func (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". 9238 func (s DescribeMultiRegionAccessPointOperationOutput) GoString() string { 9239 return s.String() 9240 } 9241 9242 // SetAsyncOperation sets the AsyncOperation field's value. 9243 func (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. 9254 type 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". 9266 func (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". 9275 func (s EstablishedMultiRegionAccessPointPolicy) GoString() string { 9276 return s.String() 9277 } 9278 9279 // SetPolicy sets the Policy field's value. 9280 func (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. 9286 type 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". 9301 func (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". 9310 func (s Exclude) GoString() string { 9311 return s.String() 9312 } 9313 9314 // SetBuckets sets the Buckets field's value. 9315 func (s *Exclude) SetBuckets(v []*string) *Exclude { 9316 s.Buckets = v 9317 return s 9318 } 9319 9320 // SetRegions sets the Regions field's value. 9321 func (s *Exclude) SetRegions(v []*string) *Exclude { 9322 s.Regions = v 9323 return s 9324 } 9325 9326 type 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". 9347 func (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". 9356 func (s GetAccessPointConfigurationForObjectLambdaInput) GoString() string { 9357 return s.String() 9358 } 9359 9360 // Validate inspects the fields of the type to determine if they are valid. 9361 func (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. 9383 func (s *GetAccessPointConfigurationForObjectLambdaInput) SetAccountId(v string) *GetAccessPointConfigurationForObjectLambdaInput { 9384 s.AccountId = &v 9385 return s 9386 } 9387 9388 // SetName sets the Name field's value. 9389 func (s *GetAccessPointConfigurationForObjectLambdaInput) SetName(v string) *GetAccessPointConfigurationForObjectLambdaInput { 9390 s.Name = &v 9391 return s 9392 } 9393 9394 func (s *GetAccessPointConfigurationForObjectLambdaInput) hostLabels() map[string]string { 9395 return map[string]string{ 9396 "AccountId": aws.StringValue(s.AccountId), 9397 } 9398 } 9399 9400 type 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". 9412 func (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". 9421 func (s GetAccessPointConfigurationForObjectLambdaOutput) GoString() string { 9422 return s.String() 9423 } 9424 9425 // SetConfiguration sets the Configuration field's value. 9426 func (s *GetAccessPointConfigurationForObjectLambdaOutput) SetConfiguration(v *ObjectLambdaConfiguration) *GetAccessPointConfigurationForObjectLambdaOutput { 9427 s.Configuration = v 9428 return s 9429 } 9430 9431 type 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". 9451 func (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". 9460 func (s GetAccessPointForObjectLambdaInput) GoString() string { 9461 return s.String() 9462 } 9463 9464 // Validate inspects the fields of the type to determine if they are valid. 9465 func (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. 9487 func (s *GetAccessPointForObjectLambdaInput) SetAccountId(v string) *GetAccessPointForObjectLambdaInput { 9488 s.AccountId = &v 9489 return s 9490 } 9491 9492 // SetName sets the Name field's value. 9493 func (s *GetAccessPointForObjectLambdaInput) SetName(v string) *GetAccessPointForObjectLambdaInput { 9494 s.Name = &v 9495 return s 9496 } 9497 9498 func (s *GetAccessPointForObjectLambdaInput) hostLabels() map[string]string { 9499 return map[string]string{ 9500 "AccountId": aws.StringValue(s.AccountId), 9501 } 9502 } 9503 9504 type 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". 9523 func (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". 9532 func (s GetAccessPointForObjectLambdaOutput) GoString() string { 9533 return s.String() 9534 } 9535 9536 // SetCreationDate sets the CreationDate field's value. 9537 func (s *GetAccessPointForObjectLambdaOutput) SetCreationDate(v time.Time) *GetAccessPointForObjectLambdaOutput { 9538 s.CreationDate = &v 9539 return s 9540 } 9541 9542 // SetName sets the Name field's value. 9543 func (s *GetAccessPointForObjectLambdaOutput) SetName(v string) *GetAccessPointForObjectLambdaOutput { 9544 s.Name = &v 9545 return s 9546 } 9547 9548 // SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value. 9549 func (s *GetAccessPointForObjectLambdaOutput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *GetAccessPointForObjectLambdaOutput { 9550 s.PublicAccessBlockConfiguration = v 9551 return s 9552 } 9553 9554 type 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". 9585 func (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". 9594 func (s GetAccessPointInput) GoString() string { 9595 return s.String() 9596 } 9597 9598 // Validate inspects the fields of the type to determine if they are valid. 9599 func (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. 9621 func (s *GetAccessPointInput) SetAccountId(v string) *GetAccessPointInput { 9622 s.AccountId = &v 9623 return s 9624 } 9625 9626 // SetName sets the Name field's value. 9627 func (s *GetAccessPointInput) SetName(v string) *GetAccessPointInput { 9628 s.Name = &v 9629 return s 9630 } 9631 9632 func (s *GetAccessPointInput) hostLabels() map[string]string { 9633 return map[string]string{ 9634 "AccountId": aws.StringValue(s.AccountId), 9635 } 9636 } 9637 9638 func (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 9645 func (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. 9657 func (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. 9669 func (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 9679 type 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". 9731 func (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". 9740 func (s GetAccessPointOutput) GoString() string { 9741 return s.String() 9742 } 9743 9744 // SetAccessPointArn sets the AccessPointArn field's value. 9745 func (s *GetAccessPointOutput) SetAccessPointArn(v string) *GetAccessPointOutput { 9746 s.AccessPointArn = &v 9747 return s 9748 } 9749 9750 // SetAlias sets the Alias field's value. 9751 func (s *GetAccessPointOutput) SetAlias(v string) *GetAccessPointOutput { 9752 s.Alias = &v 9753 return s 9754 } 9755 9756 // SetBucket sets the Bucket field's value. 9757 func (s *GetAccessPointOutput) SetBucket(v string) *GetAccessPointOutput { 9758 s.Bucket = &v 9759 return s 9760 } 9761 9762 // SetCreationDate sets the CreationDate field's value. 9763 func (s *GetAccessPointOutput) SetCreationDate(v time.Time) *GetAccessPointOutput { 9764 s.CreationDate = &v 9765 return s 9766 } 9767 9768 // SetEndpoints sets the Endpoints field's value. 9769 func (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. 9775 func (s *GetAccessPointOutput) SetName(v string) *GetAccessPointOutput { 9776 s.Name = &v 9777 return s 9778 } 9779 9780 // SetNetworkOrigin sets the NetworkOrigin field's value. 9781 func (s *GetAccessPointOutput) SetNetworkOrigin(v string) *GetAccessPointOutput { 9782 s.NetworkOrigin = &v 9783 return s 9784 } 9785 9786 // SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value. 9787 func (s *GetAccessPointOutput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *GetAccessPointOutput { 9788 s.PublicAccessBlockConfiguration = v 9789 return s 9790 } 9791 9792 // SetVpcConfiguration sets the VpcConfiguration field's value. 9793 func (s *GetAccessPointOutput) SetVpcConfiguration(v *VpcConfiguration) *GetAccessPointOutput { 9794 s.VpcConfiguration = v 9795 return s 9796 } 9797 9798 type 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". 9818 func (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". 9827 func (s GetAccessPointPolicyForObjectLambdaInput) GoString() string { 9828 return s.String() 9829 } 9830 9831 // Validate inspects the fields of the type to determine if they are valid. 9832 func (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. 9854 func (s *GetAccessPointPolicyForObjectLambdaInput) SetAccountId(v string) *GetAccessPointPolicyForObjectLambdaInput { 9855 s.AccountId = &v 9856 return s 9857 } 9858 9859 // SetName sets the Name field's value. 9860 func (s *GetAccessPointPolicyForObjectLambdaInput) SetName(v string) *GetAccessPointPolicyForObjectLambdaInput { 9861 s.Name = &v 9862 return s 9863 } 9864 9865 func (s *GetAccessPointPolicyForObjectLambdaInput) hostLabels() map[string]string { 9866 return map[string]string{ 9867 "AccountId": aws.StringValue(s.AccountId), 9868 } 9869 } 9870 9871 type 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". 9883 func (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". 9892 func (s GetAccessPointPolicyForObjectLambdaOutput) GoString() string { 9893 return s.String() 9894 } 9895 9896 // SetPolicy sets the Policy field's value. 9897 func (s *GetAccessPointPolicyForObjectLambdaOutput) SetPolicy(v string) *GetAccessPointPolicyForObjectLambdaOutput { 9898 s.Policy = &v 9899 return s 9900 } 9901 9902 type 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". 9932 func (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". 9941 func (s GetAccessPointPolicyInput) GoString() string { 9942 return s.String() 9943 } 9944 9945 // Validate inspects the fields of the type to determine if they are valid. 9946 func (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. 9968 func (s *GetAccessPointPolicyInput) SetAccountId(v string) *GetAccessPointPolicyInput { 9969 s.AccountId = &v 9970 return s 9971 } 9972 9973 // SetName sets the Name field's value. 9974 func (s *GetAccessPointPolicyInput) SetName(v string) *GetAccessPointPolicyInput { 9975 s.Name = &v 9976 return s 9977 } 9978 9979 func (s *GetAccessPointPolicyInput) hostLabels() map[string]string { 9980 return map[string]string{ 9981 "AccountId": aws.StringValue(s.AccountId), 9982 } 9983 } 9984 9985 func (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 9992 func (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. 10004 func (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. 10016 func (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 10026 type 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". 10038 func (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". 10047 func (s GetAccessPointPolicyOutput) GoString() string { 10048 return s.String() 10049 } 10050 10051 // SetPolicy sets the Policy field's value. 10052 func (s *GetAccessPointPolicyOutput) SetPolicy(v string) *GetAccessPointPolicyOutput { 10053 s.Policy = &v 10054 return s 10055 } 10056 10057 type 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". 10077 func (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". 10086 func (s GetAccessPointPolicyStatusForObjectLambdaInput) GoString() string { 10087 return s.String() 10088 } 10089 10090 // Validate inspects the fields of the type to determine if they are valid. 10091 func (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. 10113 func (s *GetAccessPointPolicyStatusForObjectLambdaInput) SetAccountId(v string) *GetAccessPointPolicyStatusForObjectLambdaInput { 10114 s.AccountId = &v 10115 return s 10116 } 10117 10118 // SetName sets the Name field's value. 10119 func (s *GetAccessPointPolicyStatusForObjectLambdaInput) SetName(v string) *GetAccessPointPolicyStatusForObjectLambdaInput { 10120 s.Name = &v 10121 return s 10122 } 10123 10124 func (s *GetAccessPointPolicyStatusForObjectLambdaInput) hostLabels() map[string]string { 10125 return map[string]string{ 10126 "AccountId": aws.StringValue(s.AccountId), 10127 } 10128 } 10129 10130 type 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". 10145 func (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". 10154 func (s GetAccessPointPolicyStatusForObjectLambdaOutput) GoString() string { 10155 return s.String() 10156 } 10157 10158 // SetPolicyStatus sets the PolicyStatus field's value. 10159 func (s *GetAccessPointPolicyStatusForObjectLambdaOutput) SetPolicyStatus(v *PolicyStatus) *GetAccessPointPolicyStatusForObjectLambdaOutput { 10160 s.PolicyStatus = v 10161 return s 10162 } 10163 10164 type 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". 10183 func (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". 10192 func (s GetAccessPointPolicyStatusInput) GoString() string { 10193 return s.String() 10194 } 10195 10196 // Validate inspects the fields of the type to determine if they are valid. 10197 func (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. 10219 func (s *GetAccessPointPolicyStatusInput) SetAccountId(v string) *GetAccessPointPolicyStatusInput { 10220 s.AccountId = &v 10221 return s 10222 } 10223 10224 // SetName sets the Name field's value. 10225 func (s *GetAccessPointPolicyStatusInput) SetName(v string) *GetAccessPointPolicyStatusInput { 10226 s.Name = &v 10227 return s 10228 } 10229 10230 func (s *GetAccessPointPolicyStatusInput) hostLabels() map[string]string { 10231 return map[string]string{ 10232 "AccountId": aws.StringValue(s.AccountId), 10233 } 10234 } 10235 10236 type 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". 10248 func (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". 10257 func (s GetAccessPointPolicyStatusOutput) GoString() string { 10258 return s.String() 10259 } 10260 10261 // SetPolicyStatus sets the PolicyStatus field's value. 10262 func (s *GetAccessPointPolicyStatusOutput) SetPolicyStatus(v *PolicyStatus) *GetAccessPointPolicyStatusOutput { 10263 s.PolicyStatus = v 10264 return s 10265 } 10266 10267 type 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". 10296 func (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". 10305 func (s GetBucketInput) GoString() string { 10306 return s.String() 10307 } 10308 10309 // Validate inspects the fields of the type to determine if they are valid. 10310 func (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. 10332 func (s *GetBucketInput) SetAccountId(v string) *GetBucketInput { 10333 s.AccountId = &v 10334 return s 10335 } 10336 10337 // SetBucket sets the Bucket field's value. 10338 func (s *GetBucketInput) SetBucket(v string) *GetBucketInput { 10339 s.Bucket = &v 10340 return s 10341 } 10342 10343 func (s *GetBucketInput) hostLabels() map[string]string { 10344 return map[string]string{ 10345 "AccountId": aws.StringValue(s.AccountId), 10346 } 10347 } 10348 10349 func (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 10356 func (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. 10368 func (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. 10380 func (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 10390 type 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". 10419 func (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". 10428 func (s GetBucketLifecycleConfigurationInput) GoString() string { 10429 return s.String() 10430 } 10431 10432 // Validate inspects the fields of the type to determine if they are valid. 10433 func (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. 10455 func (s *GetBucketLifecycleConfigurationInput) SetAccountId(v string) *GetBucketLifecycleConfigurationInput { 10456 s.AccountId = &v 10457 return s 10458 } 10459 10460 // SetBucket sets the Bucket field's value. 10461 func (s *GetBucketLifecycleConfigurationInput) SetBucket(v string) *GetBucketLifecycleConfigurationInput { 10462 s.Bucket = &v 10463 return s 10464 } 10465 10466 func (s *GetBucketLifecycleConfigurationInput) hostLabels() map[string]string { 10467 return map[string]string{ 10468 "AccountId": aws.StringValue(s.AccountId), 10469 } 10470 } 10471 10472 func (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 10479 func (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. 10491 func (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. 10503 func (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 10513 type 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". 10525 func (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". 10534 func (s GetBucketLifecycleConfigurationOutput) GoString() string { 10535 return s.String() 10536 } 10537 10538 // SetRules sets the Rules field's value. 10539 func (s *GetBucketLifecycleConfigurationOutput) SetRules(v []*LifecycleRule) *GetBucketLifecycleConfigurationOutput { 10540 s.Rules = v 10541 return s 10542 } 10543 10544 type 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". 10561 func (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". 10570 func (s GetBucketOutput) GoString() string { 10571 return s.String() 10572 } 10573 10574 // SetBucket sets the Bucket field's value. 10575 func (s *GetBucketOutput) SetBucket(v string) *GetBucketOutput { 10576 s.Bucket = &v 10577 return s 10578 } 10579 10580 // SetCreationDate sets the CreationDate field's value. 10581 func (s *GetBucketOutput) SetCreationDate(v time.Time) *GetBucketOutput { 10582 s.CreationDate = &v 10583 return s 10584 } 10585 10586 // SetPublicAccessBlockEnabled sets the PublicAccessBlockEnabled field's value. 10587 func (s *GetBucketOutput) SetPublicAccessBlockEnabled(v bool) *GetBucketOutput { 10588 s.PublicAccessBlockEnabled = &v 10589 return s 10590 } 10591 10592 type 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". 10621 func (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". 10630 func (s GetBucketPolicyInput) GoString() string { 10631 return s.String() 10632 } 10633 10634 // Validate inspects the fields of the type to determine if they are valid. 10635 func (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. 10657 func (s *GetBucketPolicyInput) SetAccountId(v string) *GetBucketPolicyInput { 10658 s.AccountId = &v 10659 return s 10660 } 10661 10662 // SetBucket sets the Bucket field's value. 10663 func (s *GetBucketPolicyInput) SetBucket(v string) *GetBucketPolicyInput { 10664 s.Bucket = &v 10665 return s 10666 } 10667 10668 func (s *GetBucketPolicyInput) hostLabels() map[string]string { 10669 return map[string]string{ 10670 "AccountId": aws.StringValue(s.AccountId), 10671 } 10672 } 10673 10674 func (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 10681 func (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. 10693 func (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. 10705 func (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 10715 type 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". 10727 func (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". 10736 func (s GetBucketPolicyOutput) GoString() string { 10737 return s.String() 10738 } 10739 10740 // SetPolicy sets the Policy field's value. 10741 func (s *GetBucketPolicyOutput) SetPolicy(v string) *GetBucketPolicyOutput { 10742 s.Policy = &v 10743 return s 10744 } 10745 10746 type 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". 10775 func (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". 10784 func (s GetBucketTaggingInput) GoString() string { 10785 return s.String() 10786 } 10787 10788 // Validate inspects the fields of the type to determine if they are valid. 10789 func (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. 10811 func (s *GetBucketTaggingInput) SetAccountId(v string) *GetBucketTaggingInput { 10812 s.AccountId = &v 10813 return s 10814 } 10815 10816 // SetBucket sets the Bucket field's value. 10817 func (s *GetBucketTaggingInput) SetBucket(v string) *GetBucketTaggingInput { 10818 s.Bucket = &v 10819 return s 10820 } 10821 10822 func (s *GetBucketTaggingInput) hostLabels() map[string]string { 10823 return map[string]string{ 10824 "AccountId": aws.StringValue(s.AccountId), 10825 } 10826 } 10827 10828 func (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 10835 func (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. 10847 func (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. 10859 func (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 10869 type 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". 10883 func (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". 10892 func (s GetBucketTaggingOutput) GoString() string { 10893 return s.String() 10894 } 10895 10896 // SetTagSet sets the TagSet field's value. 10897 func (s *GetBucketTaggingOutput) SetTagSet(v []*S3Tag) *GetBucketTaggingOutput { 10898 s.TagSet = v 10899 return s 10900 } 10901 10902 type 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". 10922 func (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". 10931 func (s GetJobTaggingInput) GoString() string { 10932 return s.String() 10933 } 10934 10935 // Validate inspects the fields of the type to determine if they are valid. 10936 func (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. 10958 func (s *GetJobTaggingInput) SetAccountId(v string) *GetJobTaggingInput { 10959 s.AccountId = &v 10960 return s 10961 } 10962 10963 // SetJobId sets the JobId field's value. 10964 func (s *GetJobTaggingInput) SetJobId(v string) *GetJobTaggingInput { 10965 s.JobId = &v 10966 return s 10967 } 10968 10969 func (s *GetJobTaggingInput) hostLabels() map[string]string { 10970 return map[string]string{ 10971 "AccountId": aws.StringValue(s.AccountId), 10972 } 10973 } 10974 10975 type 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". 10987 func (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". 10996 func (s GetJobTaggingOutput) GoString() string { 10997 return s.String() 10998 } 10999 11000 // SetTags sets the Tags field's value. 11001 func (s *GetJobTaggingOutput) SetTags(v []*S3Tag) *GetJobTaggingOutput { 11002 s.Tags = v 11003 return s 11004 } 11005 11006 type 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". 11031 func (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". 11040 func (s GetMultiRegionAccessPointInput) GoString() string { 11041 return s.String() 11042 } 11043 11044 // Validate inspects the fields of the type to determine if they are valid. 11045 func (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. 11067 func (s *GetMultiRegionAccessPointInput) SetAccountId(v string) *GetMultiRegionAccessPointInput { 11068 s.AccountId = &v 11069 return s 11070 } 11071 11072 // SetName sets the Name field's value. 11073 func (s *GetMultiRegionAccessPointInput) SetName(v string) *GetMultiRegionAccessPointInput { 11074 s.Name = &v 11075 return s 11076 } 11077 11078 func (s *GetMultiRegionAccessPointInput) hostLabels() map[string]string { 11079 return map[string]string{ 11080 "AccountId": aws.StringValue(s.AccountId), 11081 } 11082 } 11083 11084 type 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". 11097 func (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". 11106 func (s GetMultiRegionAccessPointOutput) GoString() string { 11107 return s.String() 11108 } 11109 11110 // SetAccessPoint sets the AccessPoint field's value. 11111 func (s *GetMultiRegionAccessPointOutput) SetAccessPoint(v *MultiRegionAccessPointReport) *GetMultiRegionAccessPointOutput { 11112 s.AccessPoint = v 11113 return s 11114 } 11115 11116 type 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". 11140 func (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". 11149 func (s GetMultiRegionAccessPointPolicyInput) GoString() string { 11150 return s.String() 11151 } 11152 11153 // Validate inspects the fields of the type to determine if they are valid. 11154 func (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. 11176 func (s *GetMultiRegionAccessPointPolicyInput) SetAccountId(v string) *GetMultiRegionAccessPointPolicyInput { 11177 s.AccountId = &v 11178 return s 11179 } 11180 11181 // SetName sets the Name field's value. 11182 func (s *GetMultiRegionAccessPointPolicyInput) SetName(v string) *GetMultiRegionAccessPointPolicyInput { 11183 s.Name = &v 11184 return s 11185 } 11186 11187 func (s *GetMultiRegionAccessPointPolicyInput) hostLabels() map[string]string { 11188 return map[string]string{ 11189 "AccountId": aws.StringValue(s.AccountId), 11190 } 11191 } 11192 11193 type 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". 11205 func (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". 11214 func (s GetMultiRegionAccessPointPolicyOutput) GoString() string { 11215 return s.String() 11216 } 11217 11218 // SetPolicy sets the Policy field's value. 11219 func (s *GetMultiRegionAccessPointPolicyOutput) SetPolicy(v *MultiRegionAccessPointPolicyDocument) *GetMultiRegionAccessPointPolicyOutput { 11220 s.Policy = v 11221 return s 11222 } 11223 11224 type 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". 11248 func (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". 11257 func (s GetMultiRegionAccessPointPolicyStatusInput) GoString() string { 11258 return s.String() 11259 } 11260 11261 // Validate inspects the fields of the type to determine if they are valid. 11262 func (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. 11284 func (s *GetMultiRegionAccessPointPolicyStatusInput) SetAccountId(v string) *GetMultiRegionAccessPointPolicyStatusInput { 11285 s.AccountId = &v 11286 return s 11287 } 11288 11289 // SetName sets the Name field's value. 11290 func (s *GetMultiRegionAccessPointPolicyStatusInput) SetName(v string) *GetMultiRegionAccessPointPolicyStatusInput { 11291 s.Name = &v 11292 return s 11293 } 11294 11295 func (s *GetMultiRegionAccessPointPolicyStatusInput) hostLabels() map[string]string { 11296 return map[string]string{ 11297 "AccountId": aws.StringValue(s.AccountId), 11298 } 11299 } 11300 11301 type 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". 11316 func (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". 11325 func (s GetMultiRegionAccessPointPolicyStatusOutput) GoString() string { 11326 return s.String() 11327 } 11328 11329 // SetEstablished sets the Established field's value. 11330 func (s *GetMultiRegionAccessPointPolicyStatusOutput) SetEstablished(v *PolicyStatus) *GetMultiRegionAccessPointPolicyStatusOutput { 11331 s.Established = v 11332 return s 11333 } 11334 11335 type 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". 11350 func (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". 11359 func (s GetPublicAccessBlockInput) GoString() string { 11360 return s.String() 11361 } 11362 11363 // Validate inspects the fields of the type to determine if they are valid. 11364 func (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. 11380 func (s *GetPublicAccessBlockInput) SetAccountId(v string) *GetPublicAccessBlockInput { 11381 s.AccountId = &v 11382 return s 11383 } 11384 11385 func (s *GetPublicAccessBlockInput) hostLabels() map[string]string { 11386 return map[string]string{ 11387 "AccountId": aws.StringValue(s.AccountId), 11388 } 11389 } 11390 11391 type 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". 11404 func (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". 11413 func (s GetPublicAccessBlockOutput) GoString() string { 11414 return s.String() 11415 } 11416 11417 // SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value. 11418 func (s *GetPublicAccessBlockOutput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *GetPublicAccessBlockOutput { 11419 s.PublicAccessBlockConfiguration = v 11420 return s 11421 } 11422 11423 type 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". 11442 func (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". 11451 func (s GetStorageLensConfigurationInput) GoString() string { 11452 return s.String() 11453 } 11454 11455 // Validate inspects the fields of the type to determine if they are valid. 11456 func (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. 11478 func (s *GetStorageLensConfigurationInput) SetAccountId(v string) *GetStorageLensConfigurationInput { 11479 s.AccountId = &v 11480 return s 11481 } 11482 11483 // SetConfigId sets the ConfigId field's value. 11484 func (s *GetStorageLensConfigurationInput) SetConfigId(v string) *GetStorageLensConfigurationInput { 11485 s.ConfigId = &v 11486 return s 11487 } 11488 11489 func (s *GetStorageLensConfigurationInput) hostLabels() map[string]string { 11490 return map[string]string{ 11491 "AccountId": aws.StringValue(s.AccountId), 11492 } 11493 } 11494 11495 type 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". 11507 func (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". 11516 func (s GetStorageLensConfigurationOutput) GoString() string { 11517 return s.String() 11518 } 11519 11520 // SetStorageLensConfiguration sets the StorageLensConfiguration field's value. 11521 func (s *GetStorageLensConfigurationOutput) SetStorageLensConfiguration(v *StorageLensConfiguration) *GetStorageLensConfigurationOutput { 11522 s.StorageLensConfiguration = v 11523 return s 11524 } 11525 11526 type 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". 11545 func (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". 11554 func (s GetStorageLensConfigurationTaggingInput) GoString() string { 11555 return s.String() 11556 } 11557 11558 // Validate inspects the fields of the type to determine if they are valid. 11559 func (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. 11581 func (s *GetStorageLensConfigurationTaggingInput) SetAccountId(v string) *GetStorageLensConfigurationTaggingInput { 11582 s.AccountId = &v 11583 return s 11584 } 11585 11586 // SetConfigId sets the ConfigId field's value. 11587 func (s *GetStorageLensConfigurationTaggingInput) SetConfigId(v string) *GetStorageLensConfigurationTaggingInput { 11588 s.ConfigId = &v 11589 return s 11590 } 11591 11592 func (s *GetStorageLensConfigurationTaggingInput) hostLabels() map[string]string { 11593 return map[string]string{ 11594 "AccountId": aws.StringValue(s.AccountId), 11595 } 11596 } 11597 11598 type 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". 11610 func (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". 11619 func (s GetStorageLensConfigurationTaggingOutput) GoString() string { 11620 return s.String() 11621 } 11622 11623 // SetTags sets the Tags field's value. 11624 func (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. 11630 type 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". 11645 func (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". 11654 func (s Include) GoString() string { 11655 return s.String() 11656 } 11657 11658 // SetBuckets sets the Buckets field's value. 11659 func (s *Include) SetBuckets(v []*string) *Include { 11660 s.Buckets = v 11661 return s 11662 } 11663 11664 // SetRegions sets the Regions field's value. 11665 func (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. 11672 type 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". 11744 func (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". 11753 func (s JobDescriptor) GoString() string { 11754 return s.String() 11755 } 11756 11757 // SetConfirmationRequired sets the ConfirmationRequired field's value. 11758 func (s *JobDescriptor) SetConfirmationRequired(v bool) *JobDescriptor { 11759 s.ConfirmationRequired = &v 11760 return s 11761 } 11762 11763 // SetCreationTime sets the CreationTime field's value. 11764 func (s *JobDescriptor) SetCreationTime(v time.Time) *JobDescriptor { 11765 s.CreationTime = &v 11766 return s 11767 } 11768 11769 // SetDescription sets the Description field's value. 11770 func (s *JobDescriptor) SetDescription(v string) *JobDescriptor { 11771 s.Description = &v 11772 return s 11773 } 11774 11775 // SetFailureReasons sets the FailureReasons field's value. 11776 func (s *JobDescriptor) SetFailureReasons(v []*JobFailure) *JobDescriptor { 11777 s.FailureReasons = v 11778 return s 11779 } 11780 11781 // SetJobArn sets the JobArn field's value. 11782 func (s *JobDescriptor) SetJobArn(v string) *JobDescriptor { 11783 s.JobArn = &v 11784 return s 11785 } 11786 11787 // SetJobId sets the JobId field's value. 11788 func (s *JobDescriptor) SetJobId(v string) *JobDescriptor { 11789 s.JobId = &v 11790 return s 11791 } 11792 11793 // SetManifest sets the Manifest field's value. 11794 func (s *JobDescriptor) SetManifest(v *JobManifest) *JobDescriptor { 11795 s.Manifest = v 11796 return s 11797 } 11798 11799 // SetOperation sets the Operation field's value. 11800 func (s *JobDescriptor) SetOperation(v *JobOperation) *JobDescriptor { 11801 s.Operation = v 11802 return s 11803 } 11804 11805 // SetPriority sets the Priority field's value. 11806 func (s *JobDescriptor) SetPriority(v int64) *JobDescriptor { 11807 s.Priority = &v 11808 return s 11809 } 11810 11811 // SetProgressSummary sets the ProgressSummary field's value. 11812 func (s *JobDescriptor) SetProgressSummary(v *JobProgressSummary) *JobDescriptor { 11813 s.ProgressSummary = v 11814 return s 11815 } 11816 11817 // SetReport sets the Report field's value. 11818 func (s *JobDescriptor) SetReport(v *JobReport) *JobDescriptor { 11819 s.Report = v 11820 return s 11821 } 11822 11823 // SetRoleArn sets the RoleArn field's value. 11824 func (s *JobDescriptor) SetRoleArn(v string) *JobDescriptor { 11825 s.RoleArn = &v 11826 return s 11827 } 11828 11829 // SetStatus sets the Status field's value. 11830 func (s *JobDescriptor) SetStatus(v string) *JobDescriptor { 11831 s.Status = &v 11832 return s 11833 } 11834 11835 // SetStatusUpdateReason sets the StatusUpdateReason field's value. 11836 func (s *JobDescriptor) SetStatusUpdateReason(v string) *JobDescriptor { 11837 s.StatusUpdateReason = &v 11838 return s 11839 } 11840 11841 // SetSuspendedCause sets the SuspendedCause field's value. 11842 func (s *JobDescriptor) SetSuspendedCause(v string) *JobDescriptor { 11843 s.SuspendedCause = &v 11844 return s 11845 } 11846 11847 // SetSuspendedDate sets the SuspendedDate field's value. 11848 func (s *JobDescriptor) SetSuspendedDate(v time.Time) *JobDescriptor { 11849 s.SuspendedDate = &v 11850 return s 11851 } 11852 11853 // SetTerminationDate sets the TerminationDate field's value. 11854 func (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. 11860 type 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". 11875 func (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". 11884 func (s JobFailure) GoString() string { 11885 return s.String() 11886 } 11887 11888 // SetFailureCode sets the FailureCode field's value. 11889 func (s *JobFailure) SetFailureCode(v string) *JobFailure { 11890 s.FailureCode = &v 11891 return s 11892 } 11893 11894 // SetFailureReason sets the FailureReason field's value. 11895 func (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. 11902 type 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". 11939 func (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". 11948 func (s JobListDescriptor) GoString() string { 11949 return s.String() 11950 } 11951 11952 // SetCreationTime sets the CreationTime field's value. 11953 func (s *JobListDescriptor) SetCreationTime(v time.Time) *JobListDescriptor { 11954 s.CreationTime = &v 11955 return s 11956 } 11957 11958 // SetDescription sets the Description field's value. 11959 func (s *JobListDescriptor) SetDescription(v string) *JobListDescriptor { 11960 s.Description = &v 11961 return s 11962 } 11963 11964 // SetJobId sets the JobId field's value. 11965 func (s *JobListDescriptor) SetJobId(v string) *JobListDescriptor { 11966 s.JobId = &v 11967 return s 11968 } 11969 11970 // SetOperation sets the Operation field's value. 11971 func (s *JobListDescriptor) SetOperation(v string) *JobListDescriptor { 11972 s.Operation = &v 11973 return s 11974 } 11975 11976 // SetPriority sets the Priority field's value. 11977 func (s *JobListDescriptor) SetPriority(v int64) *JobListDescriptor { 11978 s.Priority = &v 11979 return s 11980 } 11981 11982 // SetProgressSummary sets the ProgressSummary field's value. 11983 func (s *JobListDescriptor) SetProgressSummary(v *JobProgressSummary) *JobListDescriptor { 11984 s.ProgressSummary = v 11985 return s 11986 } 11987 11988 // SetStatus sets the Status field's value. 11989 func (s *JobListDescriptor) SetStatus(v string) *JobListDescriptor { 11990 s.Status = &v 11991 return s 11992 } 11993 11994 // SetTerminationDate sets the TerminationDate field's value. 11995 func (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. 12001 type 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". 12021 func (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". 12030 func (s JobManifest) GoString() string { 12031 return s.String() 12032 } 12033 12034 // Validate inspects the fields of the type to determine if they are valid. 12035 func (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. 12061 func (s *JobManifest) SetLocation(v *JobManifestLocation) *JobManifest { 12062 s.Location = v 12063 return s 12064 } 12065 12066 // SetSpec sets the Spec field's value. 12067 func (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. 12073 type 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". 12099 func (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". 12108 func (s JobManifestLocation) GoString() string { 12109 return s.String() 12110 } 12111 12112 // Validate inspects the fields of the type to determine if they are valid. 12113 func (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. 12138 func (s *JobManifestLocation) SetETag(v string) *JobManifestLocation { 12139 s.ETag = &v 12140 return s 12141 } 12142 12143 // SetObjectArn sets the ObjectArn field's value. 12144 func (s *JobManifestLocation) SetObjectArn(v string) *JobManifestLocation { 12145 s.ObjectArn = &v 12146 return s 12147 } 12148 12149 // SetObjectVersionId sets the ObjectVersionId field's value. 12150 func (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. 12157 type 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". 12175 func (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". 12184 func (s JobManifestSpec) GoString() string { 12185 return s.String() 12186 } 12187 12188 // Validate inspects the fields of the type to determine if they are valid. 12189 func (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. 12202 func (s *JobManifestSpec) SetFields(v []*string) *JobManifestSpec { 12203 s.Fields = v 12204 return s 12205 } 12206 12207 // SetFormat sets the Format field's value. 12208 func (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. 12217 type 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". 12264 func (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". 12273 func (s JobOperation) GoString() string { 12274 return s.String() 12275 } 12276 12277 // Validate inspects the fields of the type to determine if they are valid. 12278 func (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. 12318 func (s *JobOperation) SetLambdaInvoke(v *LambdaInvokeOperation) *JobOperation { 12319 s.LambdaInvoke = v 12320 return s 12321 } 12322 12323 // SetS3DeleteObjectTagging sets the S3DeleteObjectTagging field's value. 12324 func (s *JobOperation) SetS3DeleteObjectTagging(v *S3DeleteObjectTaggingOperation) *JobOperation { 12325 s.S3DeleteObjectTagging = v 12326 return s 12327 } 12328 12329 // SetS3InitiateRestoreObject sets the S3InitiateRestoreObject field's value. 12330 func (s *JobOperation) SetS3InitiateRestoreObject(v *S3InitiateRestoreObjectOperation) *JobOperation { 12331 s.S3InitiateRestoreObject = v 12332 return s 12333 } 12334 12335 // SetS3PutObjectAcl sets the S3PutObjectAcl field's value. 12336 func (s *JobOperation) SetS3PutObjectAcl(v *S3SetObjectAclOperation) *JobOperation { 12337 s.S3PutObjectAcl = v 12338 return s 12339 } 12340 12341 // SetS3PutObjectCopy sets the S3PutObjectCopy field's value. 12342 func (s *JobOperation) SetS3PutObjectCopy(v *S3CopyObjectOperation) *JobOperation { 12343 s.S3PutObjectCopy = v 12344 return s 12345 } 12346 12347 // SetS3PutObjectLegalHold sets the S3PutObjectLegalHold field's value. 12348 func (s *JobOperation) SetS3PutObjectLegalHold(v *S3SetObjectLegalHoldOperation) *JobOperation { 12349 s.S3PutObjectLegalHold = v 12350 return s 12351 } 12352 12353 // SetS3PutObjectRetention sets the S3PutObjectRetention field's value. 12354 func (s *JobOperation) SetS3PutObjectRetention(v *S3SetObjectRetentionOperation) *JobOperation { 12355 s.S3PutObjectRetention = v 12356 return s 12357 } 12358 12359 // SetS3PutObjectTagging sets the S3PutObjectTagging field's value. 12360 func (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. 12367 type 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". 12382 func (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". 12391 func (s JobProgressSummary) GoString() string { 12392 return s.String() 12393 } 12394 12395 // SetNumberOfTasksFailed sets the NumberOfTasksFailed field's value. 12396 func (s *JobProgressSummary) SetNumberOfTasksFailed(v int64) *JobProgressSummary { 12397 s.NumberOfTasksFailed = &v 12398 return s 12399 } 12400 12401 // SetNumberOfTasksSucceeded sets the NumberOfTasksSucceeded field's value. 12402 func (s *JobProgressSummary) SetNumberOfTasksSucceeded(v int64) *JobProgressSummary { 12403 s.NumberOfTasksSucceeded = &v 12404 return s 12405 } 12406 12407 // SetTotalNumberOfTasks sets the TotalNumberOfTasks field's value. 12408 func (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. 12414 type 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". 12443 func (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". 12452 func (s JobReport) GoString() string { 12453 return s.String() 12454 } 12455 12456 // Validate inspects the fields of the type to determine if they are valid. 12457 func (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. 12476 func (s *JobReport) SetBucket(v string) *JobReport { 12477 s.Bucket = &v 12478 return s 12479 } 12480 12481 // SetEnabled sets the Enabled field's value. 12482 func (s *JobReport) SetEnabled(v bool) *JobReport { 12483 s.Enabled = &v 12484 return s 12485 } 12486 12487 // SetFormat sets the Format field's value. 12488 func (s *JobReport) SetFormat(v string) *JobReport { 12489 s.Format = &v 12490 return s 12491 } 12492 12493 // SetPrefix sets the Prefix field's value. 12494 func (s *JobReport) SetPrefix(v string) *JobReport { 12495 s.Prefix = &v 12496 return s 12497 } 12498 12499 // SetReportScope sets the ReportScope field's value. 12500 func (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. 12506 type 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". 12519 func (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". 12528 func (s LambdaInvokeOperation) GoString() string { 12529 return s.String() 12530 } 12531 12532 // Validate inspects the fields of the type to determine if they are valid. 12533 func (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. 12546 func (s *LambdaInvokeOperation) SetFunctionArn(v string) *LambdaInvokeOperation { 12547 s.FunctionArn = &v 12548 return s 12549 } 12550 12551 // The container for the Outposts bucket lifecycle configuration. 12552 type 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". 12564 func (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". 12573 func (s LifecycleConfiguration) GoString() string { 12574 return s.String() 12575 } 12576 12577 // Validate inspects the fields of the type to determine if they are valid. 12578 func (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. 12598 func (s *LifecycleConfiguration) SetRules(v []*LifecycleRule) *LifecycleConfiguration { 12599 s.Rules = v 12600 return s 12601 } 12602 12603 // The container of the Outposts bucket lifecycle expiration. 12604 type 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". 12627 func (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". 12636 func (s LifecycleExpiration) GoString() string { 12637 return s.String() 12638 } 12639 12640 // SetDate sets the Date field's value. 12641 func (s *LifecycleExpiration) SetDate(v time.Time) *LifecycleExpiration { 12642 s.Date = &v 12643 return s 12644 } 12645 12646 // SetDays sets the Days field's value. 12647 func (s *LifecycleExpiration) SetDays(v int64) *LifecycleExpiration { 12648 s.Days = &v 12649 return s 12650 } 12651 12652 // SetExpiredObjectDeleteMarker sets the ExpiredObjectDeleteMarker field's value. 12653 func (s *LifecycleExpiration) SetExpiredObjectDeleteMarker(v bool) *LifecycleExpiration { 12654 s.ExpiredObjectDeleteMarker = &v 12655 return s 12656 } 12657 12658 // The container for the Outposts bucket lifecycle rule. 12659 type 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". 12710 func (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". 12719 func (s LifecycleRule) GoString() string { 12720 return s.String() 12721 } 12722 12723 // Validate inspects the fields of the type to determine if they are valid. 12724 func (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. 12742 func (s *LifecycleRule) SetAbortIncompleteMultipartUpload(v *AbortIncompleteMultipartUpload) *LifecycleRule { 12743 s.AbortIncompleteMultipartUpload = v 12744 return s 12745 } 12746 12747 // SetExpiration sets the Expiration field's value. 12748 func (s *LifecycleRule) SetExpiration(v *LifecycleExpiration) *LifecycleRule { 12749 s.Expiration = v 12750 return s 12751 } 12752 12753 // SetFilter sets the Filter field's value. 12754 func (s *LifecycleRule) SetFilter(v *LifecycleRuleFilter) *LifecycleRule { 12755 s.Filter = v 12756 return s 12757 } 12758 12759 // SetID sets the ID field's value. 12760 func (s *LifecycleRule) SetID(v string) *LifecycleRule { 12761 s.ID = &v 12762 return s 12763 } 12764 12765 // SetNoncurrentVersionExpiration sets the NoncurrentVersionExpiration field's value. 12766 func (s *LifecycleRule) SetNoncurrentVersionExpiration(v *NoncurrentVersionExpiration) *LifecycleRule { 12767 s.NoncurrentVersionExpiration = v 12768 return s 12769 } 12770 12771 // SetNoncurrentVersionTransitions sets the NoncurrentVersionTransitions field's value. 12772 func (s *LifecycleRule) SetNoncurrentVersionTransitions(v []*NoncurrentVersionTransition) *LifecycleRule { 12773 s.NoncurrentVersionTransitions = v 12774 return s 12775 } 12776 12777 // SetStatus sets the Status field's value. 12778 func (s *LifecycleRule) SetStatus(v string) *LifecycleRule { 12779 s.Status = &v 12780 return s 12781 } 12782 12783 // SetTransitions sets the Transitions field's value. 12784 func (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. 12790 type 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". 12806 func (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". 12815 func (s LifecycleRuleAndOperator) GoString() string { 12816 return s.String() 12817 } 12818 12819 // Validate inspects the fields of the type to determine if they are valid. 12820 func (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. 12840 func (s *LifecycleRuleAndOperator) SetPrefix(v string) *LifecycleRuleAndOperator { 12841 s.Prefix = &v 12842 return s 12843 } 12844 12845 // SetTags sets the Tags field's value. 12846 func (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. 12852 type 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". 12873 func (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". 12882 func (s LifecycleRuleFilter) GoString() string { 12883 return s.String() 12884 } 12885 12886 // Validate inspects the fields of the type to determine if they are valid. 12887 func (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. 12907 func (s *LifecycleRuleFilter) SetAnd(v *LifecycleRuleAndOperator) *LifecycleRuleFilter { 12908 s.And = v 12909 return s 12910 } 12911 12912 // SetPrefix sets the Prefix field's value. 12913 func (s *LifecycleRuleFilter) SetPrefix(v string) *LifecycleRuleFilter { 12914 s.Prefix = &v 12915 return s 12916 } 12917 12918 // SetTag sets the Tag field's value. 12919 func (s *LifecycleRuleFilter) SetTag(v *S3Tag) *LifecycleRuleFilter { 12920 s.Tag = v 12921 return s 12922 } 12923 12924 type 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". 12950 func (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". 12959 func (s ListAccessPointsForObjectLambdaInput) GoString() string { 12960 return s.String() 12961 } 12962 12963 // Validate inspects the fields of the type to determine if they are valid. 12964 func (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. 12983 func (s *ListAccessPointsForObjectLambdaInput) SetAccountId(v string) *ListAccessPointsForObjectLambdaInput { 12984 s.AccountId = &v 12985 return s 12986 } 12987 12988 // SetMaxResults sets the MaxResults field's value. 12989 func (s *ListAccessPointsForObjectLambdaInput) SetMaxResults(v int64) *ListAccessPointsForObjectLambdaInput { 12990 s.MaxResults = &v 12991 return s 12992 } 12993 12994 // SetNextToken sets the NextToken field's value. 12995 func (s *ListAccessPointsForObjectLambdaInput) SetNextToken(v string) *ListAccessPointsForObjectLambdaInput { 12996 s.NextToken = &v 12997 return s 12998 } 12999 13000 func (s *ListAccessPointsForObjectLambdaInput) hostLabels() map[string]string { 13001 return map[string]string{ 13002 "AccountId": aws.StringValue(s.AccountId), 13003 } 13004 } 13005 13006 type 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". 13023 func (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". 13032 func (s ListAccessPointsForObjectLambdaOutput) GoString() string { 13033 return s.String() 13034 } 13035 13036 // SetNextToken sets the NextToken field's value. 13037 func (s *ListAccessPointsForObjectLambdaOutput) SetNextToken(v string) *ListAccessPointsForObjectLambdaOutput { 13038 s.NextToken = &v 13039 return s 13040 } 13041 13042 // SetObjectLambdaAccessPointList sets the ObjectLambdaAccessPointList field's value. 13043 func (s *ListAccessPointsForObjectLambdaOutput) SetObjectLambdaAccessPointList(v []*ObjectLambdaAccessPoint) *ListAccessPointsForObjectLambdaOutput { 13044 s.ObjectLambdaAccessPointList = v 13045 return s 13046 } 13047 13048 type 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". 13087 func (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". 13096 func (s ListAccessPointsInput) GoString() string { 13097 return s.String() 13098 } 13099 13100 // Validate inspects the fields of the type to determine if they are valid. 13101 func (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. 13123 func (s *ListAccessPointsInput) SetAccountId(v string) *ListAccessPointsInput { 13124 s.AccountId = &v 13125 return s 13126 } 13127 13128 // SetBucket sets the Bucket field's value. 13129 func (s *ListAccessPointsInput) SetBucket(v string) *ListAccessPointsInput { 13130 s.Bucket = &v 13131 return s 13132 } 13133 13134 // SetMaxResults sets the MaxResults field's value. 13135 func (s *ListAccessPointsInput) SetMaxResults(v int64) *ListAccessPointsInput { 13136 s.MaxResults = &v 13137 return s 13138 } 13139 13140 // SetNextToken sets the NextToken field's value. 13141 func (s *ListAccessPointsInput) SetNextToken(v string) *ListAccessPointsInput { 13142 s.NextToken = &v 13143 return s 13144 } 13145 13146 func (s *ListAccessPointsInput) hostLabels() map[string]string { 13147 return map[string]string{ 13148 "AccountId": aws.StringValue(s.AccountId), 13149 } 13150 } 13151 13152 func (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 13159 func (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. 13171 func (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. 13183 func (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 13193 type 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". 13211 func (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". 13220 func (s ListAccessPointsOutput) GoString() string { 13221 return s.String() 13222 } 13223 13224 // SetAccessPointList sets the AccessPointList field's value. 13225 func (s *ListAccessPointsOutput) SetAccessPointList(v []*AccessPoint) *ListAccessPointsOutput { 13226 s.AccessPointList = v 13227 return s 13228 } 13229 13230 // SetNextToken sets the NextToken field's value. 13231 func (s *ListAccessPointsOutput) SetNextToken(v string) *ListAccessPointsOutput { 13232 s.NextToken = &v 13233 return s 13234 } 13235 13236 type 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". 13265 func (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". 13274 func (s ListJobsInput) GoString() string { 13275 return s.String() 13276 } 13277 13278 // Validate inspects the fields of the type to determine if they are valid. 13279 func (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. 13298 func (s *ListJobsInput) SetAccountId(v string) *ListJobsInput { 13299 s.AccountId = &v 13300 return s 13301 } 13302 13303 // SetJobStatuses sets the JobStatuses field's value. 13304 func (s *ListJobsInput) SetJobStatuses(v []*string) *ListJobsInput { 13305 s.JobStatuses = v 13306 return s 13307 } 13308 13309 // SetMaxResults sets the MaxResults field's value. 13310 func (s *ListJobsInput) SetMaxResults(v int64) *ListJobsInput { 13311 s.MaxResults = &v 13312 return s 13313 } 13314 13315 // SetNextToken sets the NextToken field's value. 13316 func (s *ListJobsInput) SetNextToken(v string) *ListJobsInput { 13317 s.NextToken = &v 13318 return s 13319 } 13320 13321 func (s *ListJobsInput) hostLabels() map[string]string { 13322 return map[string]string{ 13323 "AccountId": aws.StringValue(s.AccountId), 13324 } 13325 } 13326 13327 type 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". 13344 func (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". 13353 func (s ListJobsOutput) GoString() string { 13354 return s.String() 13355 } 13356 13357 // SetJobs sets the Jobs field's value. 13358 func (s *ListJobsOutput) SetJobs(v []*JobListDescriptor) *ListJobsOutput { 13359 s.Jobs = v 13360 return s 13361 } 13362 13363 // SetNextToken sets the NextToken field's value. 13364 func (s *ListJobsOutput) SetNextToken(v string) *ListJobsOutput { 13365 s.NextToken = &v 13366 return s 13367 } 13368 13369 type 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". 13390 func (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". 13399 func (s ListMultiRegionAccessPointsInput) GoString() string { 13400 return s.String() 13401 } 13402 13403 // Validate inspects the fields of the type to determine if they are valid. 13404 func (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. 13423 func (s *ListMultiRegionAccessPointsInput) SetAccountId(v string) *ListMultiRegionAccessPointsInput { 13424 s.AccountId = &v 13425 return s 13426 } 13427 13428 // SetMaxResults sets the MaxResults field's value. 13429 func (s *ListMultiRegionAccessPointsInput) SetMaxResults(v int64) *ListMultiRegionAccessPointsInput { 13430 s.MaxResults = &v 13431 return s 13432 } 13433 13434 // SetNextToken sets the NextToken field's value. 13435 func (s *ListMultiRegionAccessPointsInput) SetNextToken(v string) *ListMultiRegionAccessPointsInput { 13436 s.NextToken = &v 13437 return s 13438 } 13439 13440 func (s *ListMultiRegionAccessPointsInput) hostLabels() map[string]string { 13441 return map[string]string{ 13442 "AccountId": aws.StringValue(s.AccountId), 13443 } 13444 } 13445 13446 type 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". 13464 func (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". 13473 func (s ListMultiRegionAccessPointsOutput) GoString() string { 13474 return s.String() 13475 } 13476 13477 // SetAccessPoints sets the AccessPoints field's value. 13478 func (s *ListMultiRegionAccessPointsOutput) SetAccessPoints(v []*MultiRegionAccessPointReport) *ListMultiRegionAccessPointsOutput { 13479 s.AccessPoints = v 13480 return s 13481 } 13482 13483 // SetNextToken sets the NextToken field's value. 13484 func (s *ListMultiRegionAccessPointsOutput) SetNextToken(v string) *ListMultiRegionAccessPointsOutput { 13485 s.NextToken = &v 13486 return s 13487 } 13488 13489 type 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". 13512 func (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". 13521 func (s ListRegionalBucketsInput) GoString() string { 13522 return s.String() 13523 } 13524 13525 // Validate inspects the fields of the type to determine if they are valid. 13526 func (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. 13548 func (s *ListRegionalBucketsInput) SetAccountId(v string) *ListRegionalBucketsInput { 13549 s.AccountId = &v 13550 return s 13551 } 13552 13553 // SetMaxResults sets the MaxResults field's value. 13554 func (s *ListRegionalBucketsInput) SetMaxResults(v int64) *ListRegionalBucketsInput { 13555 s.MaxResults = &v 13556 return s 13557 } 13558 13559 // SetNextToken sets the NextToken field's value. 13560 func (s *ListRegionalBucketsInput) SetNextToken(v string) *ListRegionalBucketsInput { 13561 s.NextToken = &v 13562 return s 13563 } 13564 13565 // SetOutpostId sets the OutpostId field's value. 13566 func (s *ListRegionalBucketsInput) SetOutpostId(v string) *ListRegionalBucketsInput { 13567 s.OutpostId = &v 13568 return s 13569 } 13570 13571 func (s *ListRegionalBucketsInput) hostLabels() map[string]string { 13572 return map[string]string{ 13573 "AccountId": aws.StringValue(s.AccountId), 13574 } 13575 } 13576 13577 func (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 13584 func (s *ListRegionalBucketsInput) hasOutpostID() bool { 13585 if s.OutpostId == nil { 13586 return false 13587 } 13588 return true 13589 } 13590 13591 type 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". 13607 func (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". 13616 func (s ListRegionalBucketsOutput) GoString() string { 13617 return s.String() 13618 } 13619 13620 // SetNextToken sets the NextToken field's value. 13621 func (s *ListRegionalBucketsOutput) SetNextToken(v string) *ListRegionalBucketsOutput { 13622 s.NextToken = &v 13623 return s 13624 } 13625 13626 // SetRegionalBucketList sets the RegionalBucketList field's value. 13627 func (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. 13635 type 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". 13664 func (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". 13673 func (s ListStorageLensConfigurationEntry) GoString() string { 13674 return s.String() 13675 } 13676 13677 // SetHomeRegion sets the HomeRegion field's value. 13678 func (s *ListStorageLensConfigurationEntry) SetHomeRegion(v string) *ListStorageLensConfigurationEntry { 13679 s.HomeRegion = &v 13680 return s 13681 } 13682 13683 // SetId sets the Id field's value. 13684 func (s *ListStorageLensConfigurationEntry) SetId(v string) *ListStorageLensConfigurationEntry { 13685 s.Id = &v 13686 return s 13687 } 13688 13689 // SetIsEnabled sets the IsEnabled field's value. 13690 func (s *ListStorageLensConfigurationEntry) SetIsEnabled(v bool) *ListStorageLensConfigurationEntry { 13691 s.IsEnabled = &v 13692 return s 13693 } 13694 13695 // SetStorageLensArn sets the StorageLensArn field's value. 13696 func (s *ListStorageLensConfigurationEntry) SetStorageLensArn(v string) *ListStorageLensConfigurationEntry { 13697 s.StorageLensArn = &v 13698 return s 13699 } 13700 13701 type 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". 13718 func (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". 13727 func (s ListStorageLensConfigurationsInput) GoString() string { 13728 return s.String() 13729 } 13730 13731 // Validate inspects the fields of the type to determine if they are valid. 13732 func (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. 13748 func (s *ListStorageLensConfigurationsInput) SetAccountId(v string) *ListStorageLensConfigurationsInput { 13749 s.AccountId = &v 13750 return s 13751 } 13752 13753 // SetNextToken sets the NextToken field's value. 13754 func (s *ListStorageLensConfigurationsInput) SetNextToken(v string) *ListStorageLensConfigurationsInput { 13755 s.NextToken = &v 13756 return s 13757 } 13758 13759 func (s *ListStorageLensConfigurationsInput) hostLabels() map[string]string { 13760 return map[string]string{ 13761 "AccountId": aws.StringValue(s.AccountId), 13762 } 13763 } 13764 13765 type 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". 13782 func (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". 13791 func (s ListStorageLensConfigurationsOutput) GoString() string { 13792 return s.String() 13793 } 13794 13795 // SetNextToken sets the NextToken field's value. 13796 func (s *ListStorageLensConfigurationsOutput) SetNextToken(v string) *ListStorageLensConfigurationsOutput { 13797 s.NextToken = &v 13798 return s 13799 } 13800 13801 // SetStorageLensConfigurationList sets the StorageLensConfigurationList field's value. 13802 func (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. 13813 type 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". 13828 func (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". 13837 func (s MultiRegionAccessPointPolicyDocument) GoString() string { 13838 return s.String() 13839 } 13840 13841 // SetEstablished sets the Established field's value. 13842 func (s *MultiRegionAccessPointPolicyDocument) SetEstablished(v *EstablishedMultiRegionAccessPointPolicy) *MultiRegionAccessPointPolicyDocument { 13843 s.Established = v 13844 return s 13845 } 13846 13847 // SetProposed sets the Proposed field's value. 13848 func (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. 13854 type 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". 13869 func (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". 13878 func (s MultiRegionAccessPointRegionalResponse) GoString() string { 13879 return s.String() 13880 } 13881 13882 // SetName sets the Name field's value. 13883 func (s *MultiRegionAccessPointRegionalResponse) SetName(v string) *MultiRegionAccessPointRegionalResponse { 13884 s.Name = &v 13885 return s 13886 } 13887 13888 // SetRequestStatus sets the RequestStatus field's value. 13889 func (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. 13896 type 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". 13939 func (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". 13948 func (s MultiRegionAccessPointReport) GoString() string { 13949 return s.String() 13950 } 13951 13952 // SetAlias sets the Alias field's value. 13953 func (s *MultiRegionAccessPointReport) SetAlias(v string) *MultiRegionAccessPointReport { 13954 s.Alias = &v 13955 return s 13956 } 13957 13958 // SetCreatedAt sets the CreatedAt field's value. 13959 func (s *MultiRegionAccessPointReport) SetCreatedAt(v time.Time) *MultiRegionAccessPointReport { 13960 s.CreatedAt = &v 13961 return s 13962 } 13963 13964 // SetName sets the Name field's value. 13965 func (s *MultiRegionAccessPointReport) SetName(v string) *MultiRegionAccessPointReport { 13966 s.Name = &v 13967 return s 13968 } 13969 13970 // SetPublicAccessBlock sets the PublicAccessBlock field's value. 13971 func (s *MultiRegionAccessPointReport) SetPublicAccessBlock(v *PublicAccessBlockConfiguration) *MultiRegionAccessPointReport { 13972 s.PublicAccessBlock = v 13973 return s 13974 } 13975 13976 // SetRegions sets the Regions field's value. 13977 func (s *MultiRegionAccessPointReport) SetRegions(v []*RegionReport) *MultiRegionAccessPointReport { 13978 s.Regions = v 13979 return s 13980 } 13981 13982 // SetStatus sets the Status field's value. 13983 func (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. 13990 type 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". 14003 func (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". 14012 func (s MultiRegionAccessPointsAsyncResponse) GoString() string { 14013 return s.String() 14014 } 14015 14016 // SetRegions sets the Regions field's value. 14017 func (s *MultiRegionAccessPointsAsyncResponse) SetRegions(v []*MultiRegionAccessPointRegionalResponse) *MultiRegionAccessPointsAsyncResponse { 14018 s.Regions = v 14019 return s 14020 } 14021 14022 // The container of the noncurrent version expiration. 14023 type 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". 14039 func (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". 14048 func (s NoncurrentVersionExpiration) GoString() string { 14049 return s.String() 14050 } 14051 14052 // SetNoncurrentDays sets the NoncurrentDays field's value. 14053 func (s *NoncurrentVersionExpiration) SetNoncurrentDays(v int64) *NoncurrentVersionExpiration { 14054 s.NoncurrentDays = &v 14055 return s 14056 } 14057 14058 // The container for the noncurrent version transition. 14059 type 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". 14078 func (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". 14087 func (s NoncurrentVersionTransition) GoString() string { 14088 return s.String() 14089 } 14090 14091 // SetNoncurrentDays sets the NoncurrentDays field's value. 14092 func (s *NoncurrentVersionTransition) SetNoncurrentDays(v int64) *NoncurrentVersionTransition { 14093 s.NoncurrentDays = &v 14094 return s 14095 } 14096 14097 // SetStorageClass sets the StorageClass field's value. 14098 func (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. 14105 type 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". 14122 func (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". 14131 func (s ObjectLambdaAccessPoint) GoString() string { 14132 return s.String() 14133 } 14134 14135 // SetName sets the Name field's value. 14136 func (s *ObjectLambdaAccessPoint) SetName(v string) *ObjectLambdaAccessPoint { 14137 s.Name = &v 14138 return s 14139 } 14140 14141 // SetObjectLambdaAccessPointArn sets the ObjectLambdaAccessPointArn field's value. 14142 func (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. 14148 type 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". 14174 func (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". 14183 func (s ObjectLambdaConfiguration) GoString() string { 14184 return s.String() 14185 } 14186 14187 // Validate inspects the fields of the type to determine if they are valid. 14188 func (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. 14217 func (s *ObjectLambdaConfiguration) SetAllowedFeatures(v []*string) *ObjectLambdaConfiguration { 14218 s.AllowedFeatures = v 14219 return s 14220 } 14221 14222 // SetCloudWatchMetricsEnabled sets the CloudWatchMetricsEnabled field's value. 14223 func (s *ObjectLambdaConfiguration) SetCloudWatchMetricsEnabled(v bool) *ObjectLambdaConfiguration { 14224 s.CloudWatchMetricsEnabled = &v 14225 return s 14226 } 14227 14228 // SetSupportingAccessPoint sets the SupportingAccessPoint field's value. 14229 func (s *ObjectLambdaConfiguration) SetSupportingAccessPoint(v string) *ObjectLambdaConfiguration { 14230 s.SupportingAccessPoint = &v 14231 return s 14232 } 14233 14234 // SetTransformationConfigurations sets the TransformationConfigurations field's value. 14235 func (s *ObjectLambdaConfiguration) SetTransformationConfigurations(v []*ObjectLambdaTransformationConfiguration) *ObjectLambdaConfiguration { 14236 s.TransformationConfigurations = v 14237 return s 14238 } 14239 14240 // A container for AwsLambdaTransformation. 14241 type 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". 14253 func (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". 14262 func (s ObjectLambdaContentTransformation) GoString() string { 14263 return s.String() 14264 } 14265 14266 // Validate inspects the fields of the type to determine if they are valid. 14267 func (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. 14282 func (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. 14288 type 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". 14309 func (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". 14318 func (s ObjectLambdaTransformationConfiguration) GoString() string { 14319 return s.String() 14320 } 14321 14322 // Validate inspects the fields of the type to determine if they are valid. 14323 func (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. 14344 func (s *ObjectLambdaTransformationConfiguration) SetActions(v []*string) *ObjectLambdaTransformationConfiguration { 14345 s.Actions = v 14346 return s 14347 } 14348 14349 // SetContentTransformation sets the ContentTransformation field's value. 14350 func (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. 14359 type 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". 14370 func (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". 14379 func (s PolicyStatus) GoString() string { 14380 return s.String() 14381 } 14382 14383 // SetIsPublic sets the IsPublic field's value. 14384 func (s *PolicyStatus) SetIsPublic(v bool) *PolicyStatus { 14385 s.IsPublic = &v 14386 return s 14387 } 14388 14389 // A container for the prefix-level configuration. 14390 type 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". 14404 func (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". 14413 func (s PrefixLevel) GoString() string { 14414 return s.String() 14415 } 14416 14417 // Validate inspects the fields of the type to determine if they are valid. 14418 func (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. 14436 func (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. 14442 type 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". 14456 func (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". 14465 func (s PrefixLevelStorageMetrics) GoString() string { 14466 return s.String() 14467 } 14468 14469 // Validate inspects the fields of the type to determine if they are valid. 14470 func (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. 14485 func (s *PrefixLevelStorageMetrics) SetIsEnabled(v bool) *PrefixLevelStorageMetrics { 14486 s.IsEnabled = &v 14487 return s 14488 } 14489 14490 // SetSelectionCriteria sets the SelectionCriteria field's value. 14491 func (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. 14502 type 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". 14514 func (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". 14523 func (s ProposedMultiRegionAccessPointPolicy) GoString() string { 14524 return s.String() 14525 } 14526 14527 // SetPolicy sets the Policy field's value. 14528 func (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. 14540 type 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". 14596 func (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". 14605 func (s PublicAccessBlockConfiguration) GoString() string { 14606 return s.String() 14607 } 14608 14609 // SetBlockPublicAcls sets the BlockPublicAcls field's value. 14610 func (s *PublicAccessBlockConfiguration) SetBlockPublicAcls(v bool) *PublicAccessBlockConfiguration { 14611 s.BlockPublicAcls = &v 14612 return s 14613 } 14614 14615 // SetBlockPublicPolicy sets the BlockPublicPolicy field's value. 14616 func (s *PublicAccessBlockConfiguration) SetBlockPublicPolicy(v bool) *PublicAccessBlockConfiguration { 14617 s.BlockPublicPolicy = &v 14618 return s 14619 } 14620 14621 // SetIgnorePublicAcls sets the IgnorePublicAcls field's value. 14622 func (s *PublicAccessBlockConfiguration) SetIgnorePublicAcls(v bool) *PublicAccessBlockConfiguration { 14623 s.IgnorePublicAcls = &v 14624 return s 14625 } 14626 14627 // SetRestrictPublicBuckets sets the RestrictPublicBuckets field's value. 14628 func (s *PublicAccessBlockConfiguration) SetRestrictPublicBuckets(v bool) *PublicAccessBlockConfiguration { 14629 s.RestrictPublicBuckets = &v 14630 return s 14631 } 14632 14633 type 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". 14658 func (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". 14667 func (s PutAccessPointConfigurationForObjectLambdaInput) GoString() string { 14668 return s.String() 14669 } 14670 14671 // Validate inspects the fields of the type to determine if they are valid. 14672 func (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. 14702 func (s *PutAccessPointConfigurationForObjectLambdaInput) SetAccountId(v string) *PutAccessPointConfigurationForObjectLambdaInput { 14703 s.AccountId = &v 14704 return s 14705 } 14706 14707 // SetConfiguration sets the Configuration field's value. 14708 func (s *PutAccessPointConfigurationForObjectLambdaInput) SetConfiguration(v *ObjectLambdaConfiguration) *PutAccessPointConfigurationForObjectLambdaInput { 14709 s.Configuration = v 14710 return s 14711 } 14712 14713 // SetName sets the Name field's value. 14714 func (s *PutAccessPointConfigurationForObjectLambdaInput) SetName(v string) *PutAccessPointConfigurationForObjectLambdaInput { 14715 s.Name = &v 14716 return s 14717 } 14718 14719 func (s *PutAccessPointConfigurationForObjectLambdaInput) hostLabels() map[string]string { 14720 return map[string]string{ 14721 "AccountId": aws.StringValue(s.AccountId), 14722 } 14723 } 14724 14725 type 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". 14734 func (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". 14743 func (s PutAccessPointConfigurationForObjectLambdaOutput) GoString() string { 14744 return s.String() 14745 } 14746 14747 type 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". 14772 func (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". 14781 func (s PutAccessPointPolicyForObjectLambdaInput) GoString() string { 14782 return s.String() 14783 } 14784 14785 // Validate inspects the fields of the type to determine if they are valid. 14786 func (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. 14811 func (s *PutAccessPointPolicyForObjectLambdaInput) SetAccountId(v string) *PutAccessPointPolicyForObjectLambdaInput { 14812 s.AccountId = &v 14813 return s 14814 } 14815 14816 // SetName sets the Name field's value. 14817 func (s *PutAccessPointPolicyForObjectLambdaInput) SetName(v string) *PutAccessPointPolicyForObjectLambdaInput { 14818 s.Name = &v 14819 return s 14820 } 14821 14822 // SetPolicy sets the Policy field's value. 14823 func (s *PutAccessPointPolicyForObjectLambdaInput) SetPolicy(v string) *PutAccessPointPolicyForObjectLambdaInput { 14824 s.Policy = &v 14825 return s 14826 } 14827 14828 func (s *PutAccessPointPolicyForObjectLambdaInput) hostLabels() map[string]string { 14829 return map[string]string{ 14830 "AccountId": aws.StringValue(s.AccountId), 14831 } 14832 } 14833 14834 type 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". 14843 func (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". 14852 func (s PutAccessPointPolicyForObjectLambdaOutput) GoString() string { 14853 return s.String() 14854 } 14855 14856 type 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". 14896 func (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". 14905 func (s PutAccessPointPolicyInput) GoString() string { 14906 return s.String() 14907 } 14908 14909 // Validate inspects the fields of the type to determine if they are valid. 14910 func (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. 14935 func (s *PutAccessPointPolicyInput) SetAccountId(v string) *PutAccessPointPolicyInput { 14936 s.AccountId = &v 14937 return s 14938 } 14939 14940 // SetName sets the Name field's value. 14941 func (s *PutAccessPointPolicyInput) SetName(v string) *PutAccessPointPolicyInput { 14942 s.Name = &v 14943 return s 14944 } 14945 14946 // SetPolicy sets the Policy field's value. 14947 func (s *PutAccessPointPolicyInput) SetPolicy(v string) *PutAccessPointPolicyInput { 14948 s.Policy = &v 14949 return s 14950 } 14951 14952 func (s *PutAccessPointPolicyInput) hostLabels() map[string]string { 14953 return map[string]string{ 14954 "AccountId": aws.StringValue(s.AccountId), 14955 } 14956 } 14957 14958 func (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 14965 func (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. 14977 func (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. 14989 func (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 14999 type 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". 15008 func (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". 15017 func (s PutAccessPointPolicyOutput) GoString() string { 15018 return s.String() 15019 } 15020 15021 type 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". 15043 func (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". 15052 func (s PutBucketLifecycleConfigurationInput) GoString() string { 15053 return s.String() 15054 } 15055 15056 // Validate inspects the fields of the type to determine if they are valid. 15057 func (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. 15084 func (s *PutBucketLifecycleConfigurationInput) SetAccountId(v string) *PutBucketLifecycleConfigurationInput { 15085 s.AccountId = &v 15086 return s 15087 } 15088 15089 // SetBucket sets the Bucket field's value. 15090 func (s *PutBucketLifecycleConfigurationInput) SetBucket(v string) *PutBucketLifecycleConfigurationInput { 15091 s.Bucket = &v 15092 return s 15093 } 15094 15095 // SetLifecycleConfiguration sets the LifecycleConfiguration field's value. 15096 func (s *PutBucketLifecycleConfigurationInput) SetLifecycleConfiguration(v *LifecycleConfiguration) *PutBucketLifecycleConfigurationInput { 15097 s.LifecycleConfiguration = v 15098 return s 15099 } 15100 15101 func (s *PutBucketLifecycleConfigurationInput) hostLabels() map[string]string { 15102 return map[string]string{ 15103 "AccountId": aws.StringValue(s.AccountId), 15104 } 15105 } 15106 15107 func (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 15114 func (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. 15126 func (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. 15138 func (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 15148 type 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". 15157 func (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". 15166 func (s PutBucketLifecycleConfigurationOutput) GoString() string { 15167 return s.String() 15168 } 15169 15170 type 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". 15210 func (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". 15219 func (s PutBucketPolicyInput) GoString() string { 15220 return s.String() 15221 } 15222 15223 // Validate inspects the fields of the type to determine if they are valid. 15224 func (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. 15249 func (s *PutBucketPolicyInput) SetAccountId(v string) *PutBucketPolicyInput { 15250 s.AccountId = &v 15251 return s 15252 } 15253 15254 // SetBucket sets the Bucket field's value. 15255 func (s *PutBucketPolicyInput) SetBucket(v string) *PutBucketPolicyInput { 15256 s.Bucket = &v 15257 return s 15258 } 15259 15260 // SetConfirmRemoveSelfBucketAccess sets the ConfirmRemoveSelfBucketAccess field's value. 15261 func (s *PutBucketPolicyInput) SetConfirmRemoveSelfBucketAccess(v bool) *PutBucketPolicyInput { 15262 s.ConfirmRemoveSelfBucketAccess = &v 15263 return s 15264 } 15265 15266 // SetPolicy sets the Policy field's value. 15267 func (s *PutBucketPolicyInput) SetPolicy(v string) *PutBucketPolicyInput { 15268 s.Policy = &v 15269 return s 15270 } 15271 15272 func (s *PutBucketPolicyInput) hostLabels() map[string]string { 15273 return map[string]string{ 15274 "AccountId": aws.StringValue(s.AccountId), 15275 } 15276 } 15277 15278 func (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 15285 func (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. 15297 func (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. 15309 func (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 15319 type 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". 15328 func (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". 15337 func (s PutBucketPolicyOutput) GoString() string { 15338 return s.String() 15339 } 15340 15341 type 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". 15373 func (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". 15382 func (s PutBucketTaggingInput) GoString() string { 15383 return s.String() 15384 } 15385 15386 // Validate inspects the fields of the type to determine if they are valid. 15387 func (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. 15417 func (s *PutBucketTaggingInput) SetAccountId(v string) *PutBucketTaggingInput { 15418 s.AccountId = &v 15419 return s 15420 } 15421 15422 // SetBucket sets the Bucket field's value. 15423 func (s *PutBucketTaggingInput) SetBucket(v string) *PutBucketTaggingInput { 15424 s.Bucket = &v 15425 return s 15426 } 15427 15428 // SetTagging sets the Tagging field's value. 15429 func (s *PutBucketTaggingInput) SetTagging(v *Tagging) *PutBucketTaggingInput { 15430 s.Tagging = v 15431 return s 15432 } 15433 15434 func (s *PutBucketTaggingInput) hostLabels() map[string]string { 15435 return map[string]string{ 15436 "AccountId": aws.StringValue(s.AccountId), 15437 } 15438 } 15439 15440 func (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 15447 func (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. 15459 func (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. 15471 func (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 15481 type 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". 15490 func (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". 15499 func (s PutBucketTaggingOutput) GoString() string { 15500 return s.String() 15501 } 15502 15503 type 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". 15528 func (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". 15537 func (s PutJobTaggingInput) GoString() string { 15538 return s.String() 15539 } 15540 15541 // Validate inspects the fields of the type to determine if they are valid. 15542 func (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. 15577 func (s *PutJobTaggingInput) SetAccountId(v string) *PutJobTaggingInput { 15578 s.AccountId = &v 15579 return s 15580 } 15581 15582 // SetJobId sets the JobId field's value. 15583 func (s *PutJobTaggingInput) SetJobId(v string) *PutJobTaggingInput { 15584 s.JobId = &v 15585 return s 15586 } 15587 15588 // SetTags sets the Tags field's value. 15589 func (s *PutJobTaggingInput) SetTags(v []*S3Tag) *PutJobTaggingInput { 15590 s.Tags = v 15591 return s 15592 } 15593 15594 func (s *PutJobTaggingInput) hostLabels() map[string]string { 15595 return map[string]string{ 15596 "AccountId": aws.StringValue(s.AccountId), 15597 } 15598 } 15599 15600 type 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". 15609 func (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". 15618 func (s PutJobTaggingOutput) GoString() string { 15619 return s.String() 15620 } 15621 15622 type 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". 15647 func (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". 15656 func (s PutMultiRegionAccessPointPolicyInput) GoString() string { 15657 return s.String() 15658 } 15659 15660 // Validate inspects the fields of the type to determine if they are valid. 15661 func (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. 15685 func (s *PutMultiRegionAccessPointPolicyInput) SetAccountId(v string) *PutMultiRegionAccessPointPolicyInput { 15686 s.AccountId = &v 15687 return s 15688 } 15689 15690 // SetClientToken sets the ClientToken field's value. 15691 func (s *PutMultiRegionAccessPointPolicyInput) SetClientToken(v string) *PutMultiRegionAccessPointPolicyInput { 15692 s.ClientToken = &v 15693 return s 15694 } 15695 15696 // SetDetails sets the Details field's value. 15697 func (s *PutMultiRegionAccessPointPolicyInput) SetDetails(v *PutMultiRegionAccessPointPolicyInput_) *PutMultiRegionAccessPointPolicyInput { 15698 s.Details = v 15699 return s 15700 } 15701 15702 func (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. 15711 type 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". 15730 func (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". 15739 func (s PutMultiRegionAccessPointPolicyInput_) GoString() string { 15740 return s.String() 15741 } 15742 15743 // Validate inspects the fields of the type to determine if they are valid. 15744 func (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. 15760 func (s *PutMultiRegionAccessPointPolicyInput_) SetName(v string) *PutMultiRegionAccessPointPolicyInput_ { 15761 s.Name = &v 15762 return s 15763 } 15764 15765 // SetPolicy sets the Policy field's value. 15766 func (s *PutMultiRegionAccessPointPolicyInput_) SetPolicy(v string) *PutMultiRegionAccessPointPolicyInput_ { 15767 s.Policy = &v 15768 return s 15769 } 15770 15771 type 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". 15785 func (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". 15794 func (s PutMultiRegionAccessPointPolicyOutput) GoString() string { 15795 return s.String() 15796 } 15797 15798 // SetRequestTokenARN sets the RequestTokenARN field's value. 15799 func (s *PutMultiRegionAccessPointPolicyOutput) SetRequestTokenARN(v string) *PutMultiRegionAccessPointPolicyOutput { 15800 s.RequestTokenARN = &v 15801 return s 15802 } 15803 15804 type 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". 15825 func (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". 15834 func (s PutPublicAccessBlockInput) GoString() string { 15835 return s.String() 15836 } 15837 15838 // Validate inspects the fields of the type to determine if they are valid. 15839 func (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. 15858 func (s *PutPublicAccessBlockInput) SetAccountId(v string) *PutPublicAccessBlockInput { 15859 s.AccountId = &v 15860 return s 15861 } 15862 15863 // SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value. 15864 func (s *PutPublicAccessBlockInput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *PutPublicAccessBlockInput { 15865 s.PublicAccessBlockConfiguration = v 15866 return s 15867 } 15868 15869 func (s *PutPublicAccessBlockInput) hostLabels() map[string]string { 15870 return map[string]string{ 15871 "AccountId": aws.StringValue(s.AccountId), 15872 } 15873 } 15874 15875 type 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". 15884 func (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". 15893 func (s PutPublicAccessBlockOutput) GoString() string { 15894 return s.String() 15895 } 15896 15897 type 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". 15926 func (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". 15935 func (s PutStorageLensConfigurationInput) GoString() string { 15936 return s.String() 15937 } 15938 15939 // Validate inspects the fields of the type to determine if they are valid. 15940 func (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. 15980 func (s *PutStorageLensConfigurationInput) SetAccountId(v string) *PutStorageLensConfigurationInput { 15981 s.AccountId = &v 15982 return s 15983 } 15984 15985 // SetConfigId sets the ConfigId field's value. 15986 func (s *PutStorageLensConfigurationInput) SetConfigId(v string) *PutStorageLensConfigurationInput { 15987 s.ConfigId = &v 15988 return s 15989 } 15990 15991 // SetStorageLensConfiguration sets the StorageLensConfiguration field's value. 15992 func (s *PutStorageLensConfigurationInput) SetStorageLensConfiguration(v *StorageLensConfiguration) *PutStorageLensConfigurationInput { 15993 s.StorageLensConfiguration = v 15994 return s 15995 } 15996 15997 // SetTags sets the Tags field's value. 15998 func (s *PutStorageLensConfigurationInput) SetTags(v []*StorageLensTag) *PutStorageLensConfigurationInput { 15999 s.Tags = v 16000 return s 16001 } 16002 16003 func (s *PutStorageLensConfigurationInput) hostLabels() map[string]string { 16004 return map[string]string{ 16005 "AccountId": aws.StringValue(s.AccountId), 16006 } 16007 } 16008 16009 type 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". 16018 func (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". 16027 func (s PutStorageLensConfigurationOutput) GoString() string { 16028 return s.String() 16029 } 16030 16031 type 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". 16057 func (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". 16066 func (s PutStorageLensConfigurationTaggingInput) GoString() string { 16067 return s.String() 16068 } 16069 16070 // Validate inspects the fields of the type to determine if they are valid. 16071 func (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. 16106 func (s *PutStorageLensConfigurationTaggingInput) SetAccountId(v string) *PutStorageLensConfigurationTaggingInput { 16107 s.AccountId = &v 16108 return s 16109 } 16110 16111 // SetConfigId sets the ConfigId field's value. 16112 func (s *PutStorageLensConfigurationTaggingInput) SetConfigId(v string) *PutStorageLensConfigurationTaggingInput { 16113 s.ConfigId = &v 16114 return s 16115 } 16116 16117 // SetTags sets the Tags field's value. 16118 func (s *PutStorageLensConfigurationTaggingInput) SetTags(v []*StorageLensTag) *PutStorageLensConfigurationTaggingInput { 16119 s.Tags = v 16120 return s 16121 } 16122 16123 func (s *PutStorageLensConfigurationTaggingInput) hostLabels() map[string]string { 16124 return map[string]string{ 16125 "AccountId": aws.StringValue(s.AccountId), 16126 } 16127 } 16128 16129 type 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". 16138 func (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". 16147 func (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. 16153 type 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". 16167 func (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". 16176 func (s Region) GoString() string { 16177 return s.String() 16178 } 16179 16180 // Validate inspects the fields of the type to determine if they are valid. 16181 func (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. 16197 func (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. 16204 type 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". 16219 func (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". 16228 func (s RegionReport) GoString() string { 16229 return s.String() 16230 } 16231 16232 // SetBucket sets the Bucket field's value. 16233 func (s *RegionReport) SetBucket(v string) *RegionReport { 16234 s.Bucket = &v 16235 return s 16236 } 16237 16238 // SetRegion sets the Region field's value. 16239 func (s *RegionReport) SetRegion(v string) *RegionReport { 16240 s.Region = &v 16241 return s 16242 } 16243 16244 // The container for the regional bucket. 16245 type 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". 16271 func (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". 16280 func (s RegionalBucket) GoString() string { 16281 return s.String() 16282 } 16283 16284 // SetBucket sets the Bucket field's value. 16285 func (s *RegionalBucket) SetBucket(v string) *RegionalBucket { 16286 s.Bucket = &v 16287 return s 16288 } 16289 16290 // SetBucketArn sets the BucketArn field's value. 16291 func (s *RegionalBucket) SetBucketArn(v string) *RegionalBucket { 16292 s.BucketArn = &v 16293 return s 16294 } 16295 16296 // SetCreationDate sets the CreationDate field's value. 16297 func (s *RegionalBucket) SetCreationDate(v time.Time) *RegionalBucket { 16298 s.CreationDate = &v 16299 return s 16300 } 16301 16302 // SetOutpostId sets the OutpostId field's value. 16303 func (s *RegionalBucket) SetOutpostId(v string) *RegionalBucket { 16304 s.OutpostId = &v 16305 return s 16306 } 16307 16308 // SetPublicAccessBlockEnabled sets the PublicAccessBlockEnabled field's value. 16309 func (s *RegionalBucket) SetPublicAccessBlockEnabled(v bool) *RegionalBucket { 16310 s.PublicAccessBlockEnabled = &v 16311 return s 16312 } 16313 16314 type 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". 16328 func (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". 16337 func (s S3AccessControlList) GoString() string { 16338 return s.String() 16339 } 16340 16341 // Validate inspects the fields of the type to determine if they are valid. 16342 func (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. 16370 func (s *S3AccessControlList) SetGrants(v []*S3Grant) *S3AccessControlList { 16371 s.Grants = v 16372 return s 16373 } 16374 16375 // SetOwner sets the Owner field's value. 16376 func (s *S3AccessControlList) SetOwner(v *S3ObjectOwner) *S3AccessControlList { 16377 s.Owner = v 16378 return s 16379 } 16380 16381 type 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". 16394 func (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". 16403 func (s S3AccessControlPolicy) GoString() string { 16404 return s.String() 16405 } 16406 16407 // Validate inspects the fields of the type to determine if they are valid. 16408 func (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. 16423 func (s *S3AccessControlPolicy) SetAccessControlList(v *S3AccessControlList) *S3AccessControlPolicy { 16424 s.AccessControlList = v 16425 return s 16426 } 16427 16428 // SetCannedAccessControlList sets the CannedAccessControlList field's value. 16429 func (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. 16436 type 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". 16470 func (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". 16479 func (s S3BucketDestination) GoString() string { 16480 return s.String() 16481 } 16482 16483 // Validate inspects the fields of the type to determine if they are valid. 16484 func (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. 16514 func (s *S3BucketDestination) SetAccountId(v string) *S3BucketDestination { 16515 s.AccountId = &v 16516 return s 16517 } 16518 16519 // SetArn sets the Arn field's value. 16520 func (s *S3BucketDestination) SetArn(v string) *S3BucketDestination { 16521 s.Arn = &v 16522 return s 16523 } 16524 16525 // SetEncryption sets the Encryption field's value. 16526 func (s *S3BucketDestination) SetEncryption(v *StorageLensDataExportEncryption) *S3BucketDestination { 16527 s.Encryption = v 16528 return s 16529 } 16530 16531 // SetFormat sets the Format field's value. 16532 func (s *S3BucketDestination) SetFormat(v string) *S3BucketDestination { 16533 s.Format = &v 16534 return s 16535 } 16536 16537 // SetOutputSchemaVersion sets the OutputSchemaVersion field's value. 16538 func (s *S3BucketDestination) SetOutputSchemaVersion(v string) *S3BucketDestination { 16539 s.OutputSchemaVersion = &v 16540 return s 16541 } 16542 16543 // SetPrefix sets the Prefix field's value. 16544 func (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). 16553 type 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". 16616 func (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". 16625 func (s S3CopyObjectOperation) GoString() string { 16626 return s.String() 16627 } 16628 16629 // Validate inspects the fields of the type to determine if they are valid. 16630 func (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. 16677 func (s *S3CopyObjectOperation) SetAccessControlGrants(v []*S3Grant) *S3CopyObjectOperation { 16678 s.AccessControlGrants = v 16679 return s 16680 } 16681 16682 // SetBucketKeyEnabled sets the BucketKeyEnabled field's value. 16683 func (s *S3CopyObjectOperation) SetBucketKeyEnabled(v bool) *S3CopyObjectOperation { 16684 s.BucketKeyEnabled = &v 16685 return s 16686 } 16687 16688 // SetCannedAccessControlList sets the CannedAccessControlList field's value. 16689 func (s *S3CopyObjectOperation) SetCannedAccessControlList(v string) *S3CopyObjectOperation { 16690 s.CannedAccessControlList = &v 16691 return s 16692 } 16693 16694 // SetMetadataDirective sets the MetadataDirective field's value. 16695 func (s *S3CopyObjectOperation) SetMetadataDirective(v string) *S3CopyObjectOperation { 16696 s.MetadataDirective = &v 16697 return s 16698 } 16699 16700 // SetModifiedSinceConstraint sets the ModifiedSinceConstraint field's value. 16701 func (s *S3CopyObjectOperation) SetModifiedSinceConstraint(v time.Time) *S3CopyObjectOperation { 16702 s.ModifiedSinceConstraint = &v 16703 return s 16704 } 16705 16706 // SetNewObjectMetadata sets the NewObjectMetadata field's value. 16707 func (s *S3CopyObjectOperation) SetNewObjectMetadata(v *S3ObjectMetadata) *S3CopyObjectOperation { 16708 s.NewObjectMetadata = v 16709 return s 16710 } 16711 16712 // SetNewObjectTagging sets the NewObjectTagging field's value. 16713 func (s *S3CopyObjectOperation) SetNewObjectTagging(v []*S3Tag) *S3CopyObjectOperation { 16714 s.NewObjectTagging = v 16715 return s 16716 } 16717 16718 // SetObjectLockLegalHoldStatus sets the ObjectLockLegalHoldStatus field's value. 16719 func (s *S3CopyObjectOperation) SetObjectLockLegalHoldStatus(v string) *S3CopyObjectOperation { 16720 s.ObjectLockLegalHoldStatus = &v 16721 return s 16722 } 16723 16724 // SetObjectLockMode sets the ObjectLockMode field's value. 16725 func (s *S3CopyObjectOperation) SetObjectLockMode(v string) *S3CopyObjectOperation { 16726 s.ObjectLockMode = &v 16727 return s 16728 } 16729 16730 // SetObjectLockRetainUntilDate sets the ObjectLockRetainUntilDate field's value. 16731 func (s *S3CopyObjectOperation) SetObjectLockRetainUntilDate(v time.Time) *S3CopyObjectOperation { 16732 s.ObjectLockRetainUntilDate = &v 16733 return s 16734 } 16735 16736 // SetRedirectLocation sets the RedirectLocation field's value. 16737 func (s *S3CopyObjectOperation) SetRedirectLocation(v string) *S3CopyObjectOperation { 16738 s.RedirectLocation = &v 16739 return s 16740 } 16741 16742 // SetRequesterPays sets the RequesterPays field's value. 16743 func (s *S3CopyObjectOperation) SetRequesterPays(v bool) *S3CopyObjectOperation { 16744 s.RequesterPays = &v 16745 return s 16746 } 16747 16748 // SetSSEAwsKmsKeyId sets the SSEAwsKmsKeyId field's value. 16749 func (s *S3CopyObjectOperation) SetSSEAwsKmsKeyId(v string) *S3CopyObjectOperation { 16750 s.SSEAwsKmsKeyId = &v 16751 return s 16752 } 16753 16754 // SetStorageClass sets the StorageClass field's value. 16755 func (s *S3CopyObjectOperation) SetStorageClass(v string) *S3CopyObjectOperation { 16756 s.StorageClass = &v 16757 return s 16758 } 16759 16760 // SetTargetKeyPrefix sets the TargetKeyPrefix field's value. 16761 func (s *S3CopyObjectOperation) SetTargetKeyPrefix(v string) *S3CopyObjectOperation { 16762 s.TargetKeyPrefix = &v 16763 return s 16764 } 16765 16766 // SetTargetResource sets the TargetResource field's value. 16767 func (s *S3CopyObjectOperation) SetTargetResource(v string) *S3CopyObjectOperation { 16768 s.TargetResource = &v 16769 return s 16770 } 16771 16772 // SetUnModifiedSinceConstraint sets the UnModifiedSinceConstraint field's value. 16773 func (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. 16781 type 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". 16790 func (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". 16799 func (s S3DeleteObjectTaggingOperation) GoString() string { 16800 return s.String() 16801 } 16802 16803 type 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". 16816 func (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". 16825 func (s S3Grant) GoString() string { 16826 return s.String() 16827 } 16828 16829 // Validate inspects the fields of the type to determine if they are valid. 16830 func (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. 16845 func (s *S3Grant) SetGrantee(v *S3Grantee) *S3Grant { 16846 s.Grantee = v 16847 return s 16848 } 16849 16850 // SetPermission sets the Permission field's value. 16851 func (s *S3Grant) SetPermission(v string) *S3Grant { 16852 s.Permission = &v 16853 return s 16854 } 16855 16856 type 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". 16871 func (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". 16880 func (s S3Grantee) GoString() string { 16881 return s.String() 16882 } 16883 16884 // Validate inspects the fields of the type to determine if they are valid. 16885 func (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. 16901 func (s *S3Grantee) SetDisplayName(v string) *S3Grantee { 16902 s.DisplayName = &v 16903 return s 16904 } 16905 16906 // SetIdentifier sets the Identifier field's value. 16907 func (s *S3Grantee) SetIdentifier(v string) *S3Grantee { 16908 s.Identifier = &v 16909 return s 16910 } 16911 16912 // SetTypeIdentifier sets the TypeIdentifier field's value. 16913 func (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). 16922 type 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". 16953 func (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". 16962 func (s S3InitiateRestoreObjectOperation) GoString() string { 16963 return s.String() 16964 } 16965 16966 // SetExpirationInDays sets the ExpirationInDays field's value. 16967 func (s *S3InitiateRestoreObjectOperation) SetExpirationInDays(v int64) *S3InitiateRestoreObjectOperation { 16968 s.ExpirationInDays = &v 16969 return s 16970 } 16971 16972 // SetGlacierJobTier sets the GlacierJobTier field's value. 16973 func (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. 16980 type 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". 16995 func (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". 17004 func (s S3ObjectLockLegalHold) GoString() string { 17005 return s.String() 17006 } 17007 17008 // Validate inspects the fields of the type to determine if they are valid. 17009 func (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. 17022 func (s *S3ObjectLockLegalHold) SetStatus(v string) *S3ObjectLockLegalHold { 17023 s.Status = &v 17024 return s 17025 } 17026 17027 type 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". 17058 func (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". 17067 func (s S3ObjectMetadata) GoString() string { 17068 return s.String() 17069 } 17070 17071 // Validate inspects the fields of the type to determine if they are valid. 17072 func (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. 17100 func (s *S3ObjectMetadata) SetCacheControl(v string) *S3ObjectMetadata { 17101 s.CacheControl = &v 17102 return s 17103 } 17104 17105 // SetContentDisposition sets the ContentDisposition field's value. 17106 func (s *S3ObjectMetadata) SetContentDisposition(v string) *S3ObjectMetadata { 17107 s.ContentDisposition = &v 17108 return s 17109 } 17110 17111 // SetContentEncoding sets the ContentEncoding field's value. 17112 func (s *S3ObjectMetadata) SetContentEncoding(v string) *S3ObjectMetadata { 17113 s.ContentEncoding = &v 17114 return s 17115 } 17116 17117 // SetContentLanguage sets the ContentLanguage field's value. 17118 func (s *S3ObjectMetadata) SetContentLanguage(v string) *S3ObjectMetadata { 17119 s.ContentLanguage = &v 17120 return s 17121 } 17122 17123 // SetContentLength sets the ContentLength field's value. 17124 func (s *S3ObjectMetadata) SetContentLength(v int64) *S3ObjectMetadata { 17125 s.ContentLength = &v 17126 return s 17127 } 17128 17129 // SetContentMD5 sets the ContentMD5 field's value. 17130 func (s *S3ObjectMetadata) SetContentMD5(v string) *S3ObjectMetadata { 17131 s.ContentMD5 = &v 17132 return s 17133 } 17134 17135 // SetContentType sets the ContentType field's value. 17136 func (s *S3ObjectMetadata) SetContentType(v string) *S3ObjectMetadata { 17137 s.ContentType = &v 17138 return s 17139 } 17140 17141 // SetHttpExpiresDate sets the HttpExpiresDate field's value. 17142 func (s *S3ObjectMetadata) SetHttpExpiresDate(v time.Time) *S3ObjectMetadata { 17143 s.HttpExpiresDate = &v 17144 return s 17145 } 17146 17147 // SetRequesterCharged sets the RequesterCharged field's value. 17148 func (s *S3ObjectMetadata) SetRequesterCharged(v bool) *S3ObjectMetadata { 17149 s.RequesterCharged = &v 17150 return s 17151 } 17152 17153 // SetSSEAlgorithm sets the SSEAlgorithm field's value. 17154 func (s *S3ObjectMetadata) SetSSEAlgorithm(v string) *S3ObjectMetadata { 17155 s.SSEAlgorithm = &v 17156 return s 17157 } 17158 17159 // SetUserMetadata sets the UserMetadata field's value. 17160 func (s *S3ObjectMetadata) SetUserMetadata(v map[string]*string) *S3ObjectMetadata { 17161 s.UserMetadata = v 17162 return s 17163 } 17164 17165 type 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". 17178 func (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". 17187 func (s S3ObjectOwner) GoString() string { 17188 return s.String() 17189 } 17190 17191 // Validate inspects the fields of the type to determine if they are valid. 17192 func (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. 17208 func (s *S3ObjectOwner) SetDisplayName(v string) *S3ObjectOwner { 17209 s.DisplayName = &v 17210 return s 17211 } 17212 17213 // SetID sets the ID field's value. 17214 func (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. 17225 type 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". 17242 func (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". 17251 func (s S3Retention) GoString() string { 17252 return s.String() 17253 } 17254 17255 // SetMode sets the Mode field's value. 17256 func (s *S3Retention) SetMode(v string) *S3Retention { 17257 s.Mode = &v 17258 return s 17259 } 17260 17261 // SetRetainUntilDate sets the RetainUntilDate field's value. 17262 func (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). 17271 type 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". 17282 func (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". 17291 func (s S3SetObjectAclOperation) GoString() string { 17292 return s.String() 17293 } 17294 17295 // Validate inspects the fields of the type to determine if they are valid. 17296 func (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. 17311 func (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. 17321 type 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". 17336 func (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". 17345 func (s S3SetObjectLegalHoldOperation) GoString() string { 17346 return s.String() 17347 } 17348 17349 // Validate inspects the fields of the type to determine if they are valid. 17350 func (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. 17368 func (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. 17378 type 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". 17399 func (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". 17408 func (s S3SetObjectRetentionOperation) GoString() string { 17409 return s.String() 17410 } 17411 17412 // Validate inspects the fields of the type to determine if they are valid. 17413 func (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. 17426 func (s *S3SetObjectRetentionOperation) SetBypassGovernanceRetention(v bool) *S3SetObjectRetentionOperation { 17427 s.BypassGovernanceRetention = &v 17428 return s 17429 } 17430 17431 // SetRetention sets the Retention field's value. 17432 func (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). 17441 type 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". 17452 func (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". 17461 func (s S3SetObjectTaggingOperation) GoString() string { 17462 return s.String() 17463 } 17464 17465 // Validate inspects the fields of the type to determine if they are valid. 17466 func (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. 17486 func (s *S3SetObjectTaggingOperation) SetTagSet(v []*S3Tag) *S3SetObjectTaggingOperation { 17487 s.TagSet = v 17488 return s 17489 } 17490 17491 type 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". 17506 func (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". 17515 func (s S3Tag) GoString() string { 17516 return s.String() 17517 } 17518 17519 // Validate inspects the fields of the type to determine if they are valid. 17520 func (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. 17539 func (s *S3Tag) SetKey(v string) *S3Tag { 17540 s.Key = &v 17541 return s 17542 } 17543 17544 // SetValue sets the Value field's value. 17545 func (s *S3Tag) SetValue(v string) *S3Tag { 17546 s.Value = &v 17547 return s 17548 } 17549 17550 type 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". 17565 func (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". 17574 func (s SSEKMS) GoString() string { 17575 return s.String() 17576 } 17577 17578 // Validate inspects the fields of the type to determine if they are valid. 17579 func (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. 17592 func (s *SSEKMS) SetKeyId(v string) *SSEKMS { 17593 s.KeyId = &v 17594 return s 17595 } 17596 17597 type 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". 17606 func (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". 17615 func (s SSES3) GoString() string { 17616 return s.String() 17617 } 17618 17619 type 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". 17639 func (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". 17648 func (s SelectionCriteria) GoString() string { 17649 return s.String() 17650 } 17651 17652 // Validate inspects the fields of the type to determine if they are valid. 17653 func (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. 17669 func (s *SelectionCriteria) SetDelimiter(v string) *SelectionCriteria { 17670 s.Delimiter = &v 17671 return s 17672 } 17673 17674 // SetMaxDepth sets the MaxDepth field's value. 17675 func (s *SelectionCriteria) SetMaxDepth(v int64) *SelectionCriteria { 17676 s.MaxDepth = &v 17677 return s 17678 } 17679 17680 // SetMinStorageBytesPercentage sets the MinStorageBytesPercentage field's value. 17681 func (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. 17687 type 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". 17703 func (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". 17712 func (s StorageLensAwsOrg) GoString() string { 17713 return s.String() 17714 } 17715 17716 // Validate inspects the fields of the type to determine if they are valid. 17717 func (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. 17733 func (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. 17739 type 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". 17784 func (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". 17793 func (s StorageLensConfiguration) GoString() string { 17794 return s.String() 17795 } 17796 17797 // Validate inspects the fields of the type to determine if they are valid. 17798 func (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. 17838 func (s *StorageLensConfiguration) SetAccountLevel(v *AccountLevel) *StorageLensConfiguration { 17839 s.AccountLevel = v 17840 return s 17841 } 17842 17843 // SetAwsOrg sets the AwsOrg field's value. 17844 func (s *StorageLensConfiguration) SetAwsOrg(v *StorageLensAwsOrg) *StorageLensConfiguration { 17845 s.AwsOrg = v 17846 return s 17847 } 17848 17849 // SetDataExport sets the DataExport field's value. 17850 func (s *StorageLensConfiguration) SetDataExport(v *StorageLensDataExport) *StorageLensConfiguration { 17851 s.DataExport = v 17852 return s 17853 } 17854 17855 // SetExclude sets the Exclude field's value. 17856 func (s *StorageLensConfiguration) SetExclude(v *Exclude) *StorageLensConfiguration { 17857 s.Exclude = v 17858 return s 17859 } 17860 17861 // SetId sets the Id field's value. 17862 func (s *StorageLensConfiguration) SetId(v string) *StorageLensConfiguration { 17863 s.Id = &v 17864 return s 17865 } 17866 17867 // SetInclude sets the Include field's value. 17868 func (s *StorageLensConfiguration) SetInclude(v *Include) *StorageLensConfiguration { 17869 s.Include = v 17870 return s 17871 } 17872 17873 // SetIsEnabled sets the IsEnabled field's value. 17874 func (s *StorageLensConfiguration) SetIsEnabled(v bool) *StorageLensConfiguration { 17875 s.IsEnabled = &v 17876 return s 17877 } 17878 17879 // SetStorageLensArn sets the StorageLensArn field's value. 17880 func (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. 17887 type 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". 17904 func (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". 17913 func (s StorageLensDataExport) GoString() string { 17914 return s.String() 17915 } 17916 17917 // Validate inspects the fields of the type to determine if they are valid. 17918 func (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. 17936 func (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. 17942 type 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". 17955 func (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". 17964 func (s StorageLensDataExportEncryption) GoString() string { 17965 return s.String() 17966 } 17967 17968 // Validate inspects the fields of the type to determine if they are valid. 17969 func (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. 17984 func (s *StorageLensDataExportEncryption) SetSSEKMS(v *SSEKMS) *StorageLensDataExportEncryption { 17985 s.SSEKMS = v 17986 return s 17987 } 17988 17989 // SetSSES3 sets the SSES3 field's value. 17990 func (s *StorageLensDataExportEncryption) SetSSES3(v *SSES3) *StorageLensDataExportEncryption { 17991 s.SSES3 = v 17992 return s 17993 } 17994 17995 type 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". 18010 func (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". 18019 func (s StorageLensTag) GoString() string { 18020 return s.String() 18021 } 18022 18023 // Validate inspects the fields of the type to determine if they are valid. 18024 func (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. 18043 func (s *StorageLensTag) SetKey(v string) *StorageLensTag { 18044 s.Key = &v 18045 return s 18046 } 18047 18048 // SetValue sets the Value field's value. 18049 func (s *StorageLensTag) SetValue(v string) *StorageLensTag { 18050 s.Value = &v 18051 return s 18052 } 18053 18054 type 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". 18068 func (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". 18077 func (s Tagging) GoString() string { 18078 return s.String() 18079 } 18080 18081 // Validate inspects the fields of the type to determine if they are valid. 18082 func (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. 18105 func (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. 18114 type 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". 18134 func (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". 18143 func (s Transition) GoString() string { 18144 return s.String() 18145 } 18146 18147 // SetDate sets the Date field's value. 18148 func (s *Transition) SetDate(v time.Time) *Transition { 18149 s.Date = &v 18150 return s 18151 } 18152 18153 // SetDays sets the Days field's value. 18154 func (s *Transition) SetDays(v int64) *Transition { 18155 s.Days = &v 18156 return s 18157 } 18158 18159 // SetStorageClass sets the StorageClass field's value. 18160 func (s *Transition) SetStorageClass(v string) *Transition { 18161 s.StorageClass = &v 18162 return s 18163 } 18164 18165 type 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". 18190 func (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". 18199 func (s UpdateJobPriorityInput) GoString() string { 18200 return s.String() 18201 } 18202 18203 // Validate inspects the fields of the type to determine if they are valid. 18204 func (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. 18229 func (s *UpdateJobPriorityInput) SetAccountId(v string) *UpdateJobPriorityInput { 18230 s.AccountId = &v 18231 return s 18232 } 18233 18234 // SetJobId sets the JobId field's value. 18235 func (s *UpdateJobPriorityInput) SetJobId(v string) *UpdateJobPriorityInput { 18236 s.JobId = &v 18237 return s 18238 } 18239 18240 // SetPriority sets the Priority field's value. 18241 func (s *UpdateJobPriorityInput) SetPriority(v int64) *UpdateJobPriorityInput { 18242 s.Priority = &v 18243 return s 18244 } 18245 18246 func (s *UpdateJobPriorityInput) hostLabels() map[string]string { 18247 return map[string]string{ 18248 "AccountId": aws.StringValue(s.AccountId), 18249 } 18250 } 18251 18252 type 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". 18271 func (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". 18280 func (s UpdateJobPriorityOutput) GoString() string { 18281 return s.String() 18282 } 18283 18284 // SetJobId sets the JobId field's value. 18285 func (s *UpdateJobPriorityOutput) SetJobId(v string) *UpdateJobPriorityOutput { 18286 s.JobId = &v 18287 return s 18288 } 18289 18290 // SetPriority sets the Priority field's value. 18291 func (s *UpdateJobPriorityOutput) SetPriority(v int64) *UpdateJobPriorityOutput { 18292 s.Priority = &v 18293 return s 18294 } 18295 18296 type 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". 18325 func (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". 18334 func (s UpdateJobStatusInput) GoString() string { 18335 return s.String() 18336 } 18337 18338 // Validate inspects the fields of the type to determine if they are valid. 18339 func (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. 18367 func (s *UpdateJobStatusInput) SetAccountId(v string) *UpdateJobStatusInput { 18368 s.AccountId = &v 18369 return s 18370 } 18371 18372 // SetJobId sets the JobId field's value. 18373 func (s *UpdateJobStatusInput) SetJobId(v string) *UpdateJobStatusInput { 18374 s.JobId = &v 18375 return s 18376 } 18377 18378 // SetRequestedJobStatus sets the RequestedJobStatus field's value. 18379 func (s *UpdateJobStatusInput) SetRequestedJobStatus(v string) *UpdateJobStatusInput { 18380 s.RequestedJobStatus = &v 18381 return s 18382 } 18383 18384 // SetStatusUpdateReason sets the StatusUpdateReason field's value. 18385 func (s *UpdateJobStatusInput) SetStatusUpdateReason(v string) *UpdateJobStatusInput { 18386 s.StatusUpdateReason = &v 18387 return s 18388 } 18389 18390 func (s *UpdateJobStatusInput) hostLabels() map[string]string { 18391 return map[string]string{ 18392 "AccountId": aws.StringValue(s.AccountId), 18393 } 18394 } 18395 18396 type 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". 18414 func (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". 18423 func (s UpdateJobStatusOutput) GoString() string { 18424 return s.String() 18425 } 18426 18427 // SetJobId sets the JobId field's value. 18428 func (s *UpdateJobStatusOutput) SetJobId(v string) *UpdateJobStatusOutput { 18429 s.JobId = &v 18430 return s 18431 } 18432 18433 // SetStatus sets the Status field's value. 18434 func (s *UpdateJobStatusOutput) SetStatus(v string) *UpdateJobStatusOutput { 18435 s.Status = &v 18436 return s 18437 } 18438 18439 // SetStatusUpdateReason sets the StatusUpdateReason field's value. 18440 func (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. 18446 type 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". 18461 func (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". 18470 func (s VpcConfiguration) GoString() string { 18471 return s.String() 18472 } 18473 18474 // Validate inspects the fields of the type to determine if they are valid. 18475 func (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. 18491 func (s *VpcConfiguration) SetVpcId(v string) *VpcConfiguration { 18492 s.VpcId = &v 18493 return s 18494 } 18495 18496 const ( 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 18508 func AsyncOperationName_Values() []string { 18509 return []string{ 18510 AsyncOperationNameCreateMultiRegionAccessPoint, 18511 AsyncOperationNameDeleteMultiRegionAccessPoint, 18512 AsyncOperationNamePutMultiRegionAccessPointPolicy, 18513 } 18514 } 18515 18516 const ( 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 18531 func BucketCannedACL_Values() []string { 18532 return []string{ 18533 BucketCannedACLPrivate, 18534 BucketCannedACLPublicRead, 18535 BucketCannedACLPublicReadWrite, 18536 BucketCannedACLAuthenticatedRead, 18537 } 18538 } 18539 18540 const ( 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 18576 func 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 18592 const ( 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 18601 func ExpirationStatus_Values() []string { 18602 return []string{ 18603 ExpirationStatusEnabled, 18604 ExpirationStatusDisabled, 18605 } 18606 } 18607 18608 const ( 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 18617 func Format_Values() []string { 18618 return []string{ 18619 FormatCsv, 18620 FormatParquet, 18621 } 18622 } 18623 18624 const ( 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 18639 func JobManifestFieldName_Values() []string { 18640 return []string{ 18641 JobManifestFieldNameIgnore, 18642 JobManifestFieldNameBucket, 18643 JobManifestFieldNameKey, 18644 JobManifestFieldNameVersionId, 18645 } 18646 } 18647 18648 const ( 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 18657 func JobManifestFormat_Values() []string { 18658 return []string{ 18659 JobManifestFormatS3batchOperationsCsv20180820, 18660 JobManifestFormatS3inventoryReportCsv20161130, 18661 } 18662 } 18663 18664 const ( 18665 // JobReportFormatReportCsv20180820 is a JobReportFormat enum value 18666 JobReportFormatReportCsv20180820 = "Report_CSV_20180820" 18667 ) 18668 18669 // JobReportFormat_Values returns all elements of the JobReportFormat enum 18670 func JobReportFormat_Values() []string { 18671 return []string{ 18672 JobReportFormatReportCsv20180820, 18673 } 18674 } 18675 18676 const ( 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 18685 func JobReportScope_Values() []string { 18686 return []string{ 18687 JobReportScopeAllTasks, 18688 JobReportScopeFailedTasksOnly, 18689 } 18690 } 18691 18692 const ( 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 18734 func 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 18752 const ( 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 18773 func MultiRegionAccessPointStatus_Values() []string { 18774 return []string{ 18775 MultiRegionAccessPointStatusReady, 18776 MultiRegionAccessPointStatusInconsistentAcrossRegions, 18777 MultiRegionAccessPointStatusCreating, 18778 MultiRegionAccessPointStatusPartiallyCreated, 18779 MultiRegionAccessPointStatusPartiallyDeleted, 18780 MultiRegionAccessPointStatusDeleting, 18781 } 18782 } 18783 18784 const ( 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 18793 func NetworkOrigin_Values() []string { 18794 return []string{ 18795 NetworkOriginInternet, 18796 NetworkOriginVpc, 18797 } 18798 } 18799 18800 const ( 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 18809 func ObjectLambdaAllowedFeature_Values() []string { 18810 return []string{ 18811 ObjectLambdaAllowedFeatureGetObjectRange, 18812 ObjectLambdaAllowedFeatureGetObjectPartNumber, 18813 } 18814 } 18815 18816 const ( 18817 // ObjectLambdaTransformationConfigurationActionGetObject is a ObjectLambdaTransformationConfigurationAction enum value 18818 ObjectLambdaTransformationConfigurationActionGetObject = "GetObject" 18819 ) 18820 18821 // ObjectLambdaTransformationConfigurationAction_Values returns all elements of the ObjectLambdaTransformationConfigurationAction enum 18822 func ObjectLambdaTransformationConfigurationAction_Values() []string { 18823 return []string{ 18824 ObjectLambdaTransformationConfigurationActionGetObject, 18825 } 18826 } 18827 18828 const ( 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 18855 func 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 18868 const ( 18869 // OutputSchemaVersionV1 is a OutputSchemaVersion enum value 18870 OutputSchemaVersionV1 = "V_1" 18871 ) 18872 18873 // OutputSchemaVersion_Values returns all elements of the OutputSchemaVersion enum 18874 func OutputSchemaVersion_Values() []string { 18875 return []string{ 18876 OutputSchemaVersionV1, 18877 } 18878 } 18879 18880 const ( 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 18889 func RequestedJobStatus_Values() []string { 18890 return []string{ 18891 RequestedJobStatusCancelled, 18892 RequestedJobStatusReady, 18893 } 18894 } 18895 18896 const ( 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 18920 func S3CannedAccessControlList_Values() []string { 18921 return []string{ 18922 S3CannedAccessControlListPrivate, 18923 S3CannedAccessControlListPublicRead, 18924 S3CannedAccessControlListPublicReadWrite, 18925 S3CannedAccessControlListAwsExecRead, 18926 S3CannedAccessControlListAuthenticatedRead, 18927 S3CannedAccessControlListBucketOwnerRead, 18928 S3CannedAccessControlListBucketOwnerFullControl, 18929 } 18930 } 18931 18932 const ( 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 18941 func S3GlacierJobTier_Values() []string { 18942 return []string{ 18943 S3GlacierJobTierBulk, 18944 S3GlacierJobTierStandard, 18945 } 18946 } 18947 18948 const ( 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 18960 func S3GranteeTypeIdentifier_Values() []string { 18961 return []string{ 18962 S3GranteeTypeIdentifierId, 18963 S3GranteeTypeIdentifierEmailAddress, 18964 S3GranteeTypeIdentifierUri, 18965 } 18966 } 18967 18968 const ( 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 18977 func S3MetadataDirective_Values() []string { 18978 return []string{ 18979 S3MetadataDirectiveCopy, 18980 S3MetadataDirectiveReplace, 18981 } 18982 } 18983 18984 const ( 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 18993 func S3ObjectLockLegalHoldStatus_Values() []string { 18994 return []string{ 18995 S3ObjectLockLegalHoldStatusOff, 18996 S3ObjectLockLegalHoldStatusOn, 18997 } 18998 } 18999 19000 const ( 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 19009 func S3ObjectLockMode_Values() []string { 19010 return []string{ 19011 S3ObjectLockModeCompliance, 19012 S3ObjectLockModeGovernance, 19013 } 19014 } 19015 19016 const ( 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 19025 func S3ObjectLockRetentionMode_Values() []string { 19026 return []string{ 19027 S3ObjectLockRetentionModeCompliance, 19028 S3ObjectLockRetentionModeGovernance, 19029 } 19030 } 19031 19032 const ( 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 19050 func S3Permission_Values() []string { 19051 return []string{ 19052 S3PermissionFullControl, 19053 S3PermissionRead, 19054 S3PermissionWrite, 19055 S3PermissionReadAcp, 19056 S3PermissionWriteAcp, 19057 } 19058 } 19059 19060 const ( 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 19069 func S3SSEAlgorithm_Values() []string { 19070 return []string{ 19071 S3SSEAlgorithmAes256, 19072 S3SSEAlgorithmKms, 19073 } 19074 } 19075 19076 const ( 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 19097 func S3StorageClass_Values() []string { 19098 return []string{ 19099 S3StorageClassStandard, 19100 S3StorageClassStandardIa, 19101 S3StorageClassOnezoneIa, 19102 S3StorageClassGlacier, 19103 S3StorageClassIntelligentTiering, 19104 S3StorageClassDeepArchive, 19105 } 19106 } 19107 19108 const ( 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 19126 func TransitionStorageClass_Values() []string { 19127 return []string{ 19128 TransitionStorageClassGlacier, 19129 TransitionStorageClassStandardIa, 19130 TransitionStorageClassOnezoneIa, 19131 TransitionStorageClassIntelligentTiering, 19132 TransitionStorageClassDeepArchive, 19133 } 19134 }