github.com/aavshr/aws-sdk-go@v1.41.3/service/lakeformation/api.go (about) 1 // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3 package lakeformation 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/private/protocol" 13 "github.com/aavshr/aws-sdk-go/private/protocol/jsonrpc" 14 ) 15 16 const opAddLFTagsToResource = "AddLFTagsToResource" 17 18 // AddLFTagsToResourceRequest generates a "aws/request.Request" representing the 19 // client's request for the AddLFTagsToResource operation. The "output" return 20 // value will be populated with the request's response once the request completes 21 // successfully. 22 // 23 // Use "Send" method on the returned Request to send the API call to the service. 24 // the "output" return value is not valid until after Send returns without error. 25 // 26 // See AddLFTagsToResource for more information on using the AddLFTagsToResource 27 // API call, and error handling. 28 // 29 // This method is useful when you want to inject custom logic or configuration 30 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 31 // 32 // 33 // // Example sending a request using the AddLFTagsToResourceRequest method. 34 // req, resp := client.AddLFTagsToResourceRequest(params) 35 // 36 // err := req.Send() 37 // if err == nil { // resp is now filled 38 // fmt.Println(resp) 39 // } 40 // 41 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/AddLFTagsToResource 42 func (c *LakeFormation) AddLFTagsToResourceRequest(input *AddLFTagsToResourceInput) (req *request.Request, output *AddLFTagsToResourceOutput) { 43 op := &request.Operation{ 44 Name: opAddLFTagsToResource, 45 HTTPMethod: "POST", 46 HTTPPath: "/", 47 } 48 49 if input == nil { 50 input = &AddLFTagsToResourceInput{} 51 } 52 53 output = &AddLFTagsToResourceOutput{} 54 req = c.newRequest(op, input, output) 55 return 56 } 57 58 // AddLFTagsToResource API operation for AWS Lake Formation. 59 // 60 // Attaches one or more tags to an existing resource. 61 // 62 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 63 // with awserr.Error's Code and Message methods to get detailed information about 64 // the error. 65 // 66 // See the AWS API reference guide for AWS Lake Formation's 67 // API operation AddLFTagsToResource for usage and error information. 68 // 69 // Returned Error Types: 70 // * EntityNotFoundException 71 // A specified entity does not exist 72 // 73 // * InvalidInputException 74 // The input provided was not valid. 75 // 76 // * InternalServiceException 77 // An internal service error occurred. 78 // 79 // * OperationTimeoutException 80 // The operation timed out. 81 // 82 // * AccessDeniedException 83 // Access to a resource was denied. 84 // 85 // * ConcurrentModificationException 86 // Two processes are trying to modify a resource simultaneously. 87 // 88 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/AddLFTagsToResource 89 func (c *LakeFormation) AddLFTagsToResource(input *AddLFTagsToResourceInput) (*AddLFTagsToResourceOutput, error) { 90 req, out := c.AddLFTagsToResourceRequest(input) 91 return out, req.Send() 92 } 93 94 // AddLFTagsToResourceWithContext is the same as AddLFTagsToResource with the addition of 95 // the ability to pass a context and additional request options. 96 // 97 // See AddLFTagsToResource for details on how to use this API operation. 98 // 99 // The context must be non-nil and will be used for request cancellation. If 100 // the context is nil a panic will occur. In the future the SDK may create 101 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 102 // for more information on using Contexts. 103 func (c *LakeFormation) AddLFTagsToResourceWithContext(ctx aws.Context, input *AddLFTagsToResourceInput, opts ...request.Option) (*AddLFTagsToResourceOutput, error) { 104 req, out := c.AddLFTagsToResourceRequest(input) 105 req.SetContext(ctx) 106 req.ApplyOptions(opts...) 107 return out, req.Send() 108 } 109 110 const opBatchGrantPermissions = "BatchGrantPermissions" 111 112 // BatchGrantPermissionsRequest generates a "aws/request.Request" representing the 113 // client's request for the BatchGrantPermissions operation. The "output" return 114 // value will be populated with the request's response once the request completes 115 // successfully. 116 // 117 // Use "Send" method on the returned Request to send the API call to the service. 118 // the "output" return value is not valid until after Send returns without error. 119 // 120 // See BatchGrantPermissions for more information on using the BatchGrantPermissions 121 // API call, and error handling. 122 // 123 // This method is useful when you want to inject custom logic or configuration 124 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 125 // 126 // 127 // // Example sending a request using the BatchGrantPermissionsRequest method. 128 // req, resp := client.BatchGrantPermissionsRequest(params) 129 // 130 // err := req.Send() 131 // if err == nil { // resp is now filled 132 // fmt.Println(resp) 133 // } 134 // 135 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/BatchGrantPermissions 136 func (c *LakeFormation) BatchGrantPermissionsRequest(input *BatchGrantPermissionsInput) (req *request.Request, output *BatchGrantPermissionsOutput) { 137 op := &request.Operation{ 138 Name: opBatchGrantPermissions, 139 HTTPMethod: "POST", 140 HTTPPath: "/", 141 } 142 143 if input == nil { 144 input = &BatchGrantPermissionsInput{} 145 } 146 147 output = &BatchGrantPermissionsOutput{} 148 req = c.newRequest(op, input, output) 149 return 150 } 151 152 // BatchGrantPermissions API operation for AWS Lake Formation. 153 // 154 // Batch operation to grant permissions to the principal. 155 // 156 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 157 // with awserr.Error's Code and Message methods to get detailed information about 158 // the error. 159 // 160 // See the AWS API reference guide for AWS Lake Formation's 161 // API operation BatchGrantPermissions for usage and error information. 162 // 163 // Returned Error Types: 164 // * InvalidInputException 165 // The input provided was not valid. 166 // 167 // * OperationTimeoutException 168 // The operation timed out. 169 // 170 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/BatchGrantPermissions 171 func (c *LakeFormation) BatchGrantPermissions(input *BatchGrantPermissionsInput) (*BatchGrantPermissionsOutput, error) { 172 req, out := c.BatchGrantPermissionsRequest(input) 173 return out, req.Send() 174 } 175 176 // BatchGrantPermissionsWithContext is the same as BatchGrantPermissions with the addition of 177 // the ability to pass a context and additional request options. 178 // 179 // See BatchGrantPermissions for details on how to use this API operation. 180 // 181 // The context must be non-nil and will be used for request cancellation. If 182 // the context is nil a panic will occur. In the future the SDK may create 183 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 184 // for more information on using Contexts. 185 func (c *LakeFormation) BatchGrantPermissionsWithContext(ctx aws.Context, input *BatchGrantPermissionsInput, opts ...request.Option) (*BatchGrantPermissionsOutput, error) { 186 req, out := c.BatchGrantPermissionsRequest(input) 187 req.SetContext(ctx) 188 req.ApplyOptions(opts...) 189 return out, req.Send() 190 } 191 192 const opBatchRevokePermissions = "BatchRevokePermissions" 193 194 // BatchRevokePermissionsRequest generates a "aws/request.Request" representing the 195 // client's request for the BatchRevokePermissions operation. The "output" return 196 // value will be populated with the request's response once the request completes 197 // successfully. 198 // 199 // Use "Send" method on the returned Request to send the API call to the service. 200 // the "output" return value is not valid until after Send returns without error. 201 // 202 // See BatchRevokePermissions for more information on using the BatchRevokePermissions 203 // API call, and error handling. 204 // 205 // This method is useful when you want to inject custom logic or configuration 206 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 207 // 208 // 209 // // Example sending a request using the BatchRevokePermissionsRequest method. 210 // req, resp := client.BatchRevokePermissionsRequest(params) 211 // 212 // err := req.Send() 213 // if err == nil { // resp is now filled 214 // fmt.Println(resp) 215 // } 216 // 217 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/BatchRevokePermissions 218 func (c *LakeFormation) BatchRevokePermissionsRequest(input *BatchRevokePermissionsInput) (req *request.Request, output *BatchRevokePermissionsOutput) { 219 op := &request.Operation{ 220 Name: opBatchRevokePermissions, 221 HTTPMethod: "POST", 222 HTTPPath: "/", 223 } 224 225 if input == nil { 226 input = &BatchRevokePermissionsInput{} 227 } 228 229 output = &BatchRevokePermissionsOutput{} 230 req = c.newRequest(op, input, output) 231 return 232 } 233 234 // BatchRevokePermissions API operation for AWS Lake Formation. 235 // 236 // Batch operation to revoke permissions from the principal. 237 // 238 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 239 // with awserr.Error's Code and Message methods to get detailed information about 240 // the error. 241 // 242 // See the AWS API reference guide for AWS Lake Formation's 243 // API operation BatchRevokePermissions for usage and error information. 244 // 245 // Returned Error Types: 246 // * InvalidInputException 247 // The input provided was not valid. 248 // 249 // * OperationTimeoutException 250 // The operation timed out. 251 // 252 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/BatchRevokePermissions 253 func (c *LakeFormation) BatchRevokePermissions(input *BatchRevokePermissionsInput) (*BatchRevokePermissionsOutput, error) { 254 req, out := c.BatchRevokePermissionsRequest(input) 255 return out, req.Send() 256 } 257 258 // BatchRevokePermissionsWithContext is the same as BatchRevokePermissions with the addition of 259 // the ability to pass a context and additional request options. 260 // 261 // See BatchRevokePermissions for details on how to use this API operation. 262 // 263 // The context must be non-nil and will be used for request cancellation. If 264 // the context is nil a panic will occur. In the future the SDK may create 265 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 266 // for more information on using Contexts. 267 func (c *LakeFormation) BatchRevokePermissionsWithContext(ctx aws.Context, input *BatchRevokePermissionsInput, opts ...request.Option) (*BatchRevokePermissionsOutput, error) { 268 req, out := c.BatchRevokePermissionsRequest(input) 269 req.SetContext(ctx) 270 req.ApplyOptions(opts...) 271 return out, req.Send() 272 } 273 274 const opCreateLFTag = "CreateLFTag" 275 276 // CreateLFTagRequest generates a "aws/request.Request" representing the 277 // client's request for the CreateLFTag operation. The "output" return 278 // value will be populated with the request's response once the request completes 279 // successfully. 280 // 281 // Use "Send" method on the returned Request to send the API call to the service. 282 // the "output" return value is not valid until after Send returns without error. 283 // 284 // See CreateLFTag for more information on using the CreateLFTag 285 // API call, and error handling. 286 // 287 // This method is useful when you want to inject custom logic or configuration 288 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 289 // 290 // 291 // // Example sending a request using the CreateLFTagRequest method. 292 // req, resp := client.CreateLFTagRequest(params) 293 // 294 // err := req.Send() 295 // if err == nil { // resp is now filled 296 // fmt.Println(resp) 297 // } 298 // 299 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/CreateLFTag 300 func (c *LakeFormation) CreateLFTagRequest(input *CreateLFTagInput) (req *request.Request, output *CreateLFTagOutput) { 301 op := &request.Operation{ 302 Name: opCreateLFTag, 303 HTTPMethod: "POST", 304 HTTPPath: "/", 305 } 306 307 if input == nil { 308 input = &CreateLFTagInput{} 309 } 310 311 output = &CreateLFTagOutput{} 312 req = c.newRequest(op, input, output) 313 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 314 return 315 } 316 317 // CreateLFTag API operation for AWS Lake Formation. 318 // 319 // Creates a tag with the specified name and values. 320 // 321 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 322 // with awserr.Error's Code and Message methods to get detailed information about 323 // the error. 324 // 325 // See the AWS API reference guide for AWS Lake Formation's 326 // API operation CreateLFTag for usage and error information. 327 // 328 // Returned Error Types: 329 // * EntityNotFoundException 330 // A specified entity does not exist 331 // 332 // * InvalidInputException 333 // The input provided was not valid. 334 // 335 // * ResourceNumberLimitExceededException 336 // A resource numerical limit was exceeded. 337 // 338 // * InternalServiceException 339 // An internal service error occurred. 340 // 341 // * OperationTimeoutException 342 // The operation timed out. 343 // 344 // * AccessDeniedException 345 // Access to a resource was denied. 346 // 347 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/CreateLFTag 348 func (c *LakeFormation) CreateLFTag(input *CreateLFTagInput) (*CreateLFTagOutput, error) { 349 req, out := c.CreateLFTagRequest(input) 350 return out, req.Send() 351 } 352 353 // CreateLFTagWithContext is the same as CreateLFTag with the addition of 354 // the ability to pass a context and additional request options. 355 // 356 // See CreateLFTag for details on how to use this API operation. 357 // 358 // The context must be non-nil and will be used for request cancellation. If 359 // the context is nil a panic will occur. In the future the SDK may create 360 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 361 // for more information on using Contexts. 362 func (c *LakeFormation) CreateLFTagWithContext(ctx aws.Context, input *CreateLFTagInput, opts ...request.Option) (*CreateLFTagOutput, error) { 363 req, out := c.CreateLFTagRequest(input) 364 req.SetContext(ctx) 365 req.ApplyOptions(opts...) 366 return out, req.Send() 367 } 368 369 const opDeleteLFTag = "DeleteLFTag" 370 371 // DeleteLFTagRequest generates a "aws/request.Request" representing the 372 // client's request for the DeleteLFTag operation. The "output" return 373 // value will be populated with the request's response once the request completes 374 // successfully. 375 // 376 // Use "Send" method on the returned Request to send the API call to the service. 377 // the "output" return value is not valid until after Send returns without error. 378 // 379 // See DeleteLFTag for more information on using the DeleteLFTag 380 // API call, and error handling. 381 // 382 // This method is useful when you want to inject custom logic or configuration 383 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 384 // 385 // 386 // // Example sending a request using the DeleteLFTagRequest method. 387 // req, resp := client.DeleteLFTagRequest(params) 388 // 389 // err := req.Send() 390 // if err == nil { // resp is now filled 391 // fmt.Println(resp) 392 // } 393 // 394 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeleteLFTag 395 func (c *LakeFormation) DeleteLFTagRequest(input *DeleteLFTagInput) (req *request.Request, output *DeleteLFTagOutput) { 396 op := &request.Operation{ 397 Name: opDeleteLFTag, 398 HTTPMethod: "POST", 399 HTTPPath: "/", 400 } 401 402 if input == nil { 403 input = &DeleteLFTagInput{} 404 } 405 406 output = &DeleteLFTagOutput{} 407 req = c.newRequest(op, input, output) 408 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 409 return 410 } 411 412 // DeleteLFTag API operation for AWS Lake Formation. 413 // 414 // Deletes the specified tag key name. If the attribute key does not exist or 415 // the tag does not exist, then the operation will not do anything. If the attribute 416 // key exists, then the operation checks if any resources are tagged with this 417 // attribute key, if yes, the API throws a 400 Exception with the message "Delete 418 // not allowed" as the tag key is still attached with resources. You can consider 419 // untagging resources with this tag key. 420 // 421 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 422 // with awserr.Error's Code and Message methods to get detailed information about 423 // the error. 424 // 425 // See the AWS API reference guide for AWS Lake Formation's 426 // API operation DeleteLFTag for usage and error information. 427 // 428 // Returned Error Types: 429 // * EntityNotFoundException 430 // A specified entity does not exist 431 // 432 // * InvalidInputException 433 // The input provided was not valid. 434 // 435 // * InternalServiceException 436 // An internal service error occurred. 437 // 438 // * OperationTimeoutException 439 // The operation timed out. 440 // 441 // * AccessDeniedException 442 // Access to a resource was denied. 443 // 444 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeleteLFTag 445 func (c *LakeFormation) DeleteLFTag(input *DeleteLFTagInput) (*DeleteLFTagOutput, error) { 446 req, out := c.DeleteLFTagRequest(input) 447 return out, req.Send() 448 } 449 450 // DeleteLFTagWithContext is the same as DeleteLFTag with the addition of 451 // the ability to pass a context and additional request options. 452 // 453 // See DeleteLFTag for details on how to use this API operation. 454 // 455 // The context must be non-nil and will be used for request cancellation. If 456 // the context is nil a panic will occur. In the future the SDK may create 457 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 458 // for more information on using Contexts. 459 func (c *LakeFormation) DeleteLFTagWithContext(ctx aws.Context, input *DeleteLFTagInput, opts ...request.Option) (*DeleteLFTagOutput, error) { 460 req, out := c.DeleteLFTagRequest(input) 461 req.SetContext(ctx) 462 req.ApplyOptions(opts...) 463 return out, req.Send() 464 } 465 466 const opDeregisterResource = "DeregisterResource" 467 468 // DeregisterResourceRequest generates a "aws/request.Request" representing the 469 // client's request for the DeregisterResource operation. The "output" return 470 // value will be populated with the request's response once the request completes 471 // successfully. 472 // 473 // Use "Send" method on the returned Request to send the API call to the service. 474 // the "output" return value is not valid until after Send returns without error. 475 // 476 // See DeregisterResource for more information on using the DeregisterResource 477 // API call, and error handling. 478 // 479 // This method is useful when you want to inject custom logic or configuration 480 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 481 // 482 // 483 // // Example sending a request using the DeregisterResourceRequest method. 484 // req, resp := client.DeregisterResourceRequest(params) 485 // 486 // err := req.Send() 487 // if err == nil { // resp is now filled 488 // fmt.Println(resp) 489 // } 490 // 491 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeregisterResource 492 func (c *LakeFormation) DeregisterResourceRequest(input *DeregisterResourceInput) (req *request.Request, output *DeregisterResourceOutput) { 493 op := &request.Operation{ 494 Name: opDeregisterResource, 495 HTTPMethod: "POST", 496 HTTPPath: "/", 497 } 498 499 if input == nil { 500 input = &DeregisterResourceInput{} 501 } 502 503 output = &DeregisterResourceOutput{} 504 req = c.newRequest(op, input, output) 505 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 506 return 507 } 508 509 // DeregisterResource API operation for AWS Lake Formation. 510 // 511 // Deregisters the resource as managed by the Data Catalog. 512 // 513 // When you deregister a path, Lake Formation removes the path from the inline 514 // policy attached to your service-linked role. 515 // 516 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 517 // with awserr.Error's Code and Message methods to get detailed information about 518 // the error. 519 // 520 // See the AWS API reference guide for AWS Lake Formation's 521 // API operation DeregisterResource for usage and error information. 522 // 523 // Returned Error Types: 524 // * InvalidInputException 525 // The input provided was not valid. 526 // 527 // * InternalServiceException 528 // An internal service error occurred. 529 // 530 // * OperationTimeoutException 531 // The operation timed out. 532 // 533 // * EntityNotFoundException 534 // A specified entity does not exist 535 // 536 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeregisterResource 537 func (c *LakeFormation) DeregisterResource(input *DeregisterResourceInput) (*DeregisterResourceOutput, error) { 538 req, out := c.DeregisterResourceRequest(input) 539 return out, req.Send() 540 } 541 542 // DeregisterResourceWithContext is the same as DeregisterResource with the addition of 543 // the ability to pass a context and additional request options. 544 // 545 // See DeregisterResource for details on how to use this API operation. 546 // 547 // The context must be non-nil and will be used for request cancellation. If 548 // the context is nil a panic will occur. In the future the SDK may create 549 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 550 // for more information on using Contexts. 551 func (c *LakeFormation) DeregisterResourceWithContext(ctx aws.Context, input *DeregisterResourceInput, opts ...request.Option) (*DeregisterResourceOutput, error) { 552 req, out := c.DeregisterResourceRequest(input) 553 req.SetContext(ctx) 554 req.ApplyOptions(opts...) 555 return out, req.Send() 556 } 557 558 const opDescribeResource = "DescribeResource" 559 560 // DescribeResourceRequest generates a "aws/request.Request" representing the 561 // client's request for the DescribeResource operation. The "output" return 562 // value will be populated with the request's response once the request completes 563 // successfully. 564 // 565 // Use "Send" method on the returned Request to send the API call to the service. 566 // the "output" return value is not valid until after Send returns without error. 567 // 568 // See DescribeResource for more information on using the DescribeResource 569 // API call, and error handling. 570 // 571 // This method is useful when you want to inject custom logic or configuration 572 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 573 // 574 // 575 // // Example sending a request using the DescribeResourceRequest method. 576 // req, resp := client.DescribeResourceRequest(params) 577 // 578 // err := req.Send() 579 // if err == nil { // resp is now filled 580 // fmt.Println(resp) 581 // } 582 // 583 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DescribeResource 584 func (c *LakeFormation) DescribeResourceRequest(input *DescribeResourceInput) (req *request.Request, output *DescribeResourceOutput) { 585 op := &request.Operation{ 586 Name: opDescribeResource, 587 HTTPMethod: "POST", 588 HTTPPath: "/", 589 } 590 591 if input == nil { 592 input = &DescribeResourceInput{} 593 } 594 595 output = &DescribeResourceOutput{} 596 req = c.newRequest(op, input, output) 597 return 598 } 599 600 // DescribeResource API operation for AWS Lake Formation. 601 // 602 // Retrieves the current data access role for the given resource registered 603 // in AWS Lake Formation. 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 Lake Formation's 610 // API operation DescribeResource for usage and error information. 611 // 612 // Returned Error Types: 613 // * InvalidInputException 614 // The input provided was not valid. 615 // 616 // * InternalServiceException 617 // An internal service error occurred. 618 // 619 // * OperationTimeoutException 620 // The operation timed out. 621 // 622 // * EntityNotFoundException 623 // A specified entity does not exist 624 // 625 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DescribeResource 626 func (c *LakeFormation) DescribeResource(input *DescribeResourceInput) (*DescribeResourceOutput, error) { 627 req, out := c.DescribeResourceRequest(input) 628 return out, req.Send() 629 } 630 631 // DescribeResourceWithContext is the same as DescribeResource with the addition of 632 // the ability to pass a context and additional request options. 633 // 634 // See DescribeResource for details on how to use this API operation. 635 // 636 // The context must be non-nil and will be used for request cancellation. If 637 // the context is nil a panic will occur. In the future the SDK may create 638 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 639 // for more information on using Contexts. 640 func (c *LakeFormation) DescribeResourceWithContext(ctx aws.Context, input *DescribeResourceInput, opts ...request.Option) (*DescribeResourceOutput, error) { 641 req, out := c.DescribeResourceRequest(input) 642 req.SetContext(ctx) 643 req.ApplyOptions(opts...) 644 return out, req.Send() 645 } 646 647 const opGetDataLakeSettings = "GetDataLakeSettings" 648 649 // GetDataLakeSettingsRequest generates a "aws/request.Request" representing the 650 // client's request for the GetDataLakeSettings operation. The "output" return 651 // value will be populated with the request's response once the request completes 652 // successfully. 653 // 654 // Use "Send" method on the returned Request to send the API call to the service. 655 // the "output" return value is not valid until after Send returns without error. 656 // 657 // See GetDataLakeSettings for more information on using the GetDataLakeSettings 658 // API call, and error handling. 659 // 660 // This method is useful when you want to inject custom logic or configuration 661 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 662 // 663 // 664 // // Example sending a request using the GetDataLakeSettingsRequest method. 665 // req, resp := client.GetDataLakeSettingsRequest(params) 666 // 667 // err := req.Send() 668 // if err == nil { // resp is now filled 669 // fmt.Println(resp) 670 // } 671 // 672 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetDataLakeSettings 673 func (c *LakeFormation) GetDataLakeSettingsRequest(input *GetDataLakeSettingsInput) (req *request.Request, output *GetDataLakeSettingsOutput) { 674 op := &request.Operation{ 675 Name: opGetDataLakeSettings, 676 HTTPMethod: "POST", 677 HTTPPath: "/", 678 } 679 680 if input == nil { 681 input = &GetDataLakeSettingsInput{} 682 } 683 684 output = &GetDataLakeSettingsOutput{} 685 req = c.newRequest(op, input, output) 686 return 687 } 688 689 // GetDataLakeSettings API operation for AWS Lake Formation. 690 // 691 // Retrieves the list of the data lake administrators of a Lake Formation-managed 692 // data lake. 693 // 694 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 695 // with awserr.Error's Code and Message methods to get detailed information about 696 // the error. 697 // 698 // See the AWS API reference guide for AWS Lake Formation's 699 // API operation GetDataLakeSettings for usage and error information. 700 // 701 // Returned Error Types: 702 // * InternalServiceException 703 // An internal service error occurred. 704 // 705 // * InvalidInputException 706 // The input provided was not valid. 707 // 708 // * EntityNotFoundException 709 // A specified entity does not exist 710 // 711 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetDataLakeSettings 712 func (c *LakeFormation) GetDataLakeSettings(input *GetDataLakeSettingsInput) (*GetDataLakeSettingsOutput, error) { 713 req, out := c.GetDataLakeSettingsRequest(input) 714 return out, req.Send() 715 } 716 717 // GetDataLakeSettingsWithContext is the same as GetDataLakeSettings with the addition of 718 // the ability to pass a context and additional request options. 719 // 720 // See GetDataLakeSettings for details on how to use this API operation. 721 // 722 // The context must be non-nil and will be used for request cancellation. If 723 // the context is nil a panic will occur. In the future the SDK may create 724 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 725 // for more information on using Contexts. 726 func (c *LakeFormation) GetDataLakeSettingsWithContext(ctx aws.Context, input *GetDataLakeSettingsInput, opts ...request.Option) (*GetDataLakeSettingsOutput, error) { 727 req, out := c.GetDataLakeSettingsRequest(input) 728 req.SetContext(ctx) 729 req.ApplyOptions(opts...) 730 return out, req.Send() 731 } 732 733 const opGetEffectivePermissionsForPath = "GetEffectivePermissionsForPath" 734 735 // GetEffectivePermissionsForPathRequest generates a "aws/request.Request" representing the 736 // client's request for the GetEffectivePermissionsForPath operation. The "output" return 737 // value will be populated with the request's response once the request completes 738 // successfully. 739 // 740 // Use "Send" method on the returned Request to send the API call to the service. 741 // the "output" return value is not valid until after Send returns without error. 742 // 743 // See GetEffectivePermissionsForPath for more information on using the GetEffectivePermissionsForPath 744 // API call, and error handling. 745 // 746 // This method is useful when you want to inject custom logic or configuration 747 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 748 // 749 // 750 // // Example sending a request using the GetEffectivePermissionsForPathRequest method. 751 // req, resp := client.GetEffectivePermissionsForPathRequest(params) 752 // 753 // err := req.Send() 754 // if err == nil { // resp is now filled 755 // fmt.Println(resp) 756 // } 757 // 758 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetEffectivePermissionsForPath 759 func (c *LakeFormation) GetEffectivePermissionsForPathRequest(input *GetEffectivePermissionsForPathInput) (req *request.Request, output *GetEffectivePermissionsForPathOutput) { 760 op := &request.Operation{ 761 Name: opGetEffectivePermissionsForPath, 762 HTTPMethod: "POST", 763 HTTPPath: "/", 764 Paginator: &request.Paginator{ 765 InputTokens: []string{"NextToken"}, 766 OutputTokens: []string{"NextToken"}, 767 LimitToken: "MaxResults", 768 TruncationToken: "", 769 }, 770 } 771 772 if input == nil { 773 input = &GetEffectivePermissionsForPathInput{} 774 } 775 776 output = &GetEffectivePermissionsForPathOutput{} 777 req = c.newRequest(op, input, output) 778 return 779 } 780 781 // GetEffectivePermissionsForPath API operation for AWS Lake Formation. 782 // 783 // Returns the Lake Formation permissions for a specified table or database 784 // resource located at a path in Amazon S3. GetEffectivePermissionsForPath will 785 // not return databases and tables if the catalog is encrypted. 786 // 787 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 788 // with awserr.Error's Code and Message methods to get detailed information about 789 // the error. 790 // 791 // See the AWS API reference guide for AWS Lake Formation's 792 // API operation GetEffectivePermissionsForPath for usage and error information. 793 // 794 // Returned Error Types: 795 // * InvalidInputException 796 // The input provided was not valid. 797 // 798 // * EntityNotFoundException 799 // A specified entity does not exist 800 // 801 // * OperationTimeoutException 802 // The operation timed out. 803 // 804 // * InternalServiceException 805 // An internal service error occurred. 806 // 807 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetEffectivePermissionsForPath 808 func (c *LakeFormation) GetEffectivePermissionsForPath(input *GetEffectivePermissionsForPathInput) (*GetEffectivePermissionsForPathOutput, error) { 809 req, out := c.GetEffectivePermissionsForPathRequest(input) 810 return out, req.Send() 811 } 812 813 // GetEffectivePermissionsForPathWithContext is the same as GetEffectivePermissionsForPath with the addition of 814 // the ability to pass a context and additional request options. 815 // 816 // See GetEffectivePermissionsForPath for details on how to use this API operation. 817 // 818 // The context must be non-nil and will be used for request cancellation. If 819 // the context is nil a panic will occur. In the future the SDK may create 820 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 821 // for more information on using Contexts. 822 func (c *LakeFormation) GetEffectivePermissionsForPathWithContext(ctx aws.Context, input *GetEffectivePermissionsForPathInput, opts ...request.Option) (*GetEffectivePermissionsForPathOutput, error) { 823 req, out := c.GetEffectivePermissionsForPathRequest(input) 824 req.SetContext(ctx) 825 req.ApplyOptions(opts...) 826 return out, req.Send() 827 } 828 829 // GetEffectivePermissionsForPathPages iterates over the pages of a GetEffectivePermissionsForPath operation, 830 // calling the "fn" function with the response data for each page. To stop 831 // iterating, return false from the fn function. 832 // 833 // See GetEffectivePermissionsForPath method for more information on how to use this operation. 834 // 835 // Note: This operation can generate multiple requests to a service. 836 // 837 // // Example iterating over at most 3 pages of a GetEffectivePermissionsForPath operation. 838 // pageNum := 0 839 // err := client.GetEffectivePermissionsForPathPages(params, 840 // func(page *lakeformation.GetEffectivePermissionsForPathOutput, lastPage bool) bool { 841 // pageNum++ 842 // fmt.Println(page) 843 // return pageNum <= 3 844 // }) 845 // 846 func (c *LakeFormation) GetEffectivePermissionsForPathPages(input *GetEffectivePermissionsForPathInput, fn func(*GetEffectivePermissionsForPathOutput, bool) bool) error { 847 return c.GetEffectivePermissionsForPathPagesWithContext(aws.BackgroundContext(), input, fn) 848 } 849 850 // GetEffectivePermissionsForPathPagesWithContext same as GetEffectivePermissionsForPathPages except 851 // it takes a Context and allows setting request options on the pages. 852 // 853 // The context must be non-nil and will be used for request cancellation. If 854 // the context is nil a panic will occur. In the future the SDK may create 855 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 856 // for more information on using Contexts. 857 func (c *LakeFormation) GetEffectivePermissionsForPathPagesWithContext(ctx aws.Context, input *GetEffectivePermissionsForPathInput, fn func(*GetEffectivePermissionsForPathOutput, bool) bool, opts ...request.Option) error { 858 p := request.Pagination{ 859 NewRequest: func() (*request.Request, error) { 860 var inCpy *GetEffectivePermissionsForPathInput 861 if input != nil { 862 tmp := *input 863 inCpy = &tmp 864 } 865 req, _ := c.GetEffectivePermissionsForPathRequest(inCpy) 866 req.SetContext(ctx) 867 req.ApplyOptions(opts...) 868 return req, nil 869 }, 870 } 871 872 for p.Next() { 873 if !fn(p.Page().(*GetEffectivePermissionsForPathOutput), !p.HasNextPage()) { 874 break 875 } 876 } 877 878 return p.Err() 879 } 880 881 const opGetLFTag = "GetLFTag" 882 883 // GetLFTagRequest generates a "aws/request.Request" representing the 884 // client's request for the GetLFTag operation. The "output" return 885 // value will be populated with the request's response once the request completes 886 // successfully. 887 // 888 // Use "Send" method on the returned Request to send the API call to the service. 889 // the "output" return value is not valid until after Send returns without error. 890 // 891 // See GetLFTag for more information on using the GetLFTag 892 // API call, and error handling. 893 // 894 // This method is useful when you want to inject custom logic or configuration 895 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 896 // 897 // 898 // // Example sending a request using the GetLFTagRequest method. 899 // req, resp := client.GetLFTagRequest(params) 900 // 901 // err := req.Send() 902 // if err == nil { // resp is now filled 903 // fmt.Println(resp) 904 // } 905 // 906 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetLFTag 907 func (c *LakeFormation) GetLFTagRequest(input *GetLFTagInput) (req *request.Request, output *GetLFTagOutput) { 908 op := &request.Operation{ 909 Name: opGetLFTag, 910 HTTPMethod: "POST", 911 HTTPPath: "/", 912 } 913 914 if input == nil { 915 input = &GetLFTagInput{} 916 } 917 918 output = &GetLFTagOutput{} 919 req = c.newRequest(op, input, output) 920 return 921 } 922 923 // GetLFTag API operation for AWS Lake Formation. 924 // 925 // Returns a tag definition. 926 // 927 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 928 // with awserr.Error's Code and Message methods to get detailed information about 929 // the error. 930 // 931 // See the AWS API reference guide for AWS Lake Formation's 932 // API operation GetLFTag for usage and error information. 933 // 934 // Returned Error Types: 935 // * EntityNotFoundException 936 // A specified entity does not exist 937 // 938 // * InvalidInputException 939 // The input provided was not valid. 940 // 941 // * InternalServiceException 942 // An internal service error occurred. 943 // 944 // * OperationTimeoutException 945 // The operation timed out. 946 // 947 // * AccessDeniedException 948 // Access to a resource was denied. 949 // 950 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetLFTag 951 func (c *LakeFormation) GetLFTag(input *GetLFTagInput) (*GetLFTagOutput, error) { 952 req, out := c.GetLFTagRequest(input) 953 return out, req.Send() 954 } 955 956 // GetLFTagWithContext is the same as GetLFTag with the addition of 957 // the ability to pass a context and additional request options. 958 // 959 // See GetLFTag for details on how to use this API operation. 960 // 961 // The context must be non-nil and will be used for request cancellation. If 962 // the context is nil a panic will occur. In the future the SDK may create 963 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 964 // for more information on using Contexts. 965 func (c *LakeFormation) GetLFTagWithContext(ctx aws.Context, input *GetLFTagInput, opts ...request.Option) (*GetLFTagOutput, error) { 966 req, out := c.GetLFTagRequest(input) 967 req.SetContext(ctx) 968 req.ApplyOptions(opts...) 969 return out, req.Send() 970 } 971 972 const opGetResourceLFTags = "GetResourceLFTags" 973 974 // GetResourceLFTagsRequest generates a "aws/request.Request" representing the 975 // client's request for the GetResourceLFTags operation. The "output" return 976 // value will be populated with the request's response once the request completes 977 // successfully. 978 // 979 // Use "Send" method on the returned Request to send the API call to the service. 980 // the "output" return value is not valid until after Send returns without error. 981 // 982 // See GetResourceLFTags for more information on using the GetResourceLFTags 983 // API call, and error handling. 984 // 985 // This method is useful when you want to inject custom logic or configuration 986 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 987 // 988 // 989 // // Example sending a request using the GetResourceLFTagsRequest method. 990 // req, resp := client.GetResourceLFTagsRequest(params) 991 // 992 // err := req.Send() 993 // if err == nil { // resp is now filled 994 // fmt.Println(resp) 995 // } 996 // 997 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetResourceLFTags 998 func (c *LakeFormation) GetResourceLFTagsRequest(input *GetResourceLFTagsInput) (req *request.Request, output *GetResourceLFTagsOutput) { 999 op := &request.Operation{ 1000 Name: opGetResourceLFTags, 1001 HTTPMethod: "POST", 1002 HTTPPath: "/", 1003 } 1004 1005 if input == nil { 1006 input = &GetResourceLFTagsInput{} 1007 } 1008 1009 output = &GetResourceLFTagsOutput{} 1010 req = c.newRequest(op, input, output) 1011 return 1012 } 1013 1014 // GetResourceLFTags API operation for AWS Lake Formation. 1015 // 1016 // Returns the tags applied to a resource. 1017 // 1018 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1019 // with awserr.Error's Code and Message methods to get detailed information about 1020 // the error. 1021 // 1022 // See the AWS API reference guide for AWS Lake Formation's 1023 // API operation GetResourceLFTags for usage and error information. 1024 // 1025 // Returned Error Types: 1026 // * EntityNotFoundException 1027 // A specified entity does not exist 1028 // 1029 // * InvalidInputException 1030 // The input provided was not valid. 1031 // 1032 // * InternalServiceException 1033 // An internal service error occurred. 1034 // 1035 // * OperationTimeoutException 1036 // The operation timed out. 1037 // 1038 // * GlueEncryptionException 1039 // An encryption operation failed. 1040 // 1041 // * AccessDeniedException 1042 // Access to a resource was denied. 1043 // 1044 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetResourceLFTags 1045 func (c *LakeFormation) GetResourceLFTags(input *GetResourceLFTagsInput) (*GetResourceLFTagsOutput, error) { 1046 req, out := c.GetResourceLFTagsRequest(input) 1047 return out, req.Send() 1048 } 1049 1050 // GetResourceLFTagsWithContext is the same as GetResourceLFTags with the addition of 1051 // the ability to pass a context and additional request options. 1052 // 1053 // See GetResourceLFTags for details on how to use this API operation. 1054 // 1055 // The context must be non-nil and will be used for request cancellation. If 1056 // the context is nil a panic will occur. In the future the SDK may create 1057 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1058 // for more information on using Contexts. 1059 func (c *LakeFormation) GetResourceLFTagsWithContext(ctx aws.Context, input *GetResourceLFTagsInput, opts ...request.Option) (*GetResourceLFTagsOutput, error) { 1060 req, out := c.GetResourceLFTagsRequest(input) 1061 req.SetContext(ctx) 1062 req.ApplyOptions(opts...) 1063 return out, req.Send() 1064 } 1065 1066 const opGrantPermissions = "GrantPermissions" 1067 1068 // GrantPermissionsRequest generates a "aws/request.Request" representing the 1069 // client's request for the GrantPermissions operation. The "output" return 1070 // value will be populated with the request's response once the request completes 1071 // successfully. 1072 // 1073 // Use "Send" method on the returned Request to send the API call to the service. 1074 // the "output" return value is not valid until after Send returns without error. 1075 // 1076 // See GrantPermissions for more information on using the GrantPermissions 1077 // API call, and error handling. 1078 // 1079 // This method is useful when you want to inject custom logic or configuration 1080 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1081 // 1082 // 1083 // // Example sending a request using the GrantPermissionsRequest method. 1084 // req, resp := client.GrantPermissionsRequest(params) 1085 // 1086 // err := req.Send() 1087 // if err == nil { // resp is now filled 1088 // fmt.Println(resp) 1089 // } 1090 // 1091 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GrantPermissions 1092 func (c *LakeFormation) GrantPermissionsRequest(input *GrantPermissionsInput) (req *request.Request, output *GrantPermissionsOutput) { 1093 op := &request.Operation{ 1094 Name: opGrantPermissions, 1095 HTTPMethod: "POST", 1096 HTTPPath: "/", 1097 } 1098 1099 if input == nil { 1100 input = &GrantPermissionsInput{} 1101 } 1102 1103 output = &GrantPermissionsOutput{} 1104 req = c.newRequest(op, input, output) 1105 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1106 return 1107 } 1108 1109 // GrantPermissions API operation for AWS Lake Formation. 1110 // 1111 // Grants permissions to the principal to access metadata in the Data Catalog 1112 // and data organized in underlying data storage such as Amazon S3. 1113 // 1114 // For information about permissions, see Security and Access Control to Metadata 1115 // and Data (https://docs-aws.amazon.com/lake-formation/latest/dg/security-data-access.html). 1116 // 1117 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1118 // with awserr.Error's Code and Message methods to get detailed information about 1119 // the error. 1120 // 1121 // See the AWS API reference guide for AWS Lake Formation's 1122 // API operation GrantPermissions for usage and error information. 1123 // 1124 // Returned Error Types: 1125 // * ConcurrentModificationException 1126 // Two processes are trying to modify a resource simultaneously. 1127 // 1128 // * EntityNotFoundException 1129 // A specified entity does not exist 1130 // 1131 // * InvalidInputException 1132 // The input provided was not valid. 1133 // 1134 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GrantPermissions 1135 func (c *LakeFormation) GrantPermissions(input *GrantPermissionsInput) (*GrantPermissionsOutput, error) { 1136 req, out := c.GrantPermissionsRequest(input) 1137 return out, req.Send() 1138 } 1139 1140 // GrantPermissionsWithContext is the same as GrantPermissions with the addition of 1141 // the ability to pass a context and additional request options. 1142 // 1143 // See GrantPermissions for details on how to use this API operation. 1144 // 1145 // The context must be non-nil and will be used for request cancellation. If 1146 // the context is nil a panic will occur. In the future the SDK may create 1147 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1148 // for more information on using Contexts. 1149 func (c *LakeFormation) GrantPermissionsWithContext(ctx aws.Context, input *GrantPermissionsInput, opts ...request.Option) (*GrantPermissionsOutput, error) { 1150 req, out := c.GrantPermissionsRequest(input) 1151 req.SetContext(ctx) 1152 req.ApplyOptions(opts...) 1153 return out, req.Send() 1154 } 1155 1156 const opListLFTags = "ListLFTags" 1157 1158 // ListLFTagsRequest generates a "aws/request.Request" representing the 1159 // client's request for the ListLFTags operation. The "output" return 1160 // value will be populated with the request's response once the request completes 1161 // successfully. 1162 // 1163 // Use "Send" method on the returned Request to send the API call to the service. 1164 // the "output" return value is not valid until after Send returns without error. 1165 // 1166 // See ListLFTags for more information on using the ListLFTags 1167 // API call, and error handling. 1168 // 1169 // This method is useful when you want to inject custom logic or configuration 1170 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1171 // 1172 // 1173 // // Example sending a request using the ListLFTagsRequest method. 1174 // req, resp := client.ListLFTagsRequest(params) 1175 // 1176 // err := req.Send() 1177 // if err == nil { // resp is now filled 1178 // fmt.Println(resp) 1179 // } 1180 // 1181 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListLFTags 1182 func (c *LakeFormation) ListLFTagsRequest(input *ListLFTagsInput) (req *request.Request, output *ListLFTagsOutput) { 1183 op := &request.Operation{ 1184 Name: opListLFTags, 1185 HTTPMethod: "POST", 1186 HTTPPath: "/", 1187 } 1188 1189 if input == nil { 1190 input = &ListLFTagsInput{} 1191 } 1192 1193 output = &ListLFTagsOutput{} 1194 req = c.newRequest(op, input, output) 1195 return 1196 } 1197 1198 // ListLFTags API operation for AWS Lake Formation. 1199 // 1200 // Lists tags that the requester has permission to view. 1201 // 1202 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1203 // with awserr.Error's Code and Message methods to get detailed information about 1204 // the error. 1205 // 1206 // See the AWS API reference guide for AWS Lake Formation's 1207 // API operation ListLFTags for usage and error information. 1208 // 1209 // Returned Error Types: 1210 // * EntityNotFoundException 1211 // A specified entity does not exist 1212 // 1213 // * InvalidInputException 1214 // The input provided was not valid. 1215 // 1216 // * InternalServiceException 1217 // An internal service error occurred. 1218 // 1219 // * OperationTimeoutException 1220 // The operation timed out. 1221 // 1222 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListLFTags 1223 func (c *LakeFormation) ListLFTags(input *ListLFTagsInput) (*ListLFTagsOutput, error) { 1224 req, out := c.ListLFTagsRequest(input) 1225 return out, req.Send() 1226 } 1227 1228 // ListLFTagsWithContext is the same as ListLFTags with the addition of 1229 // the ability to pass a context and additional request options. 1230 // 1231 // See ListLFTags for details on how to use this API operation. 1232 // 1233 // The context must be non-nil and will be used for request cancellation. If 1234 // the context is nil a panic will occur. In the future the SDK may create 1235 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1236 // for more information on using Contexts. 1237 func (c *LakeFormation) ListLFTagsWithContext(ctx aws.Context, input *ListLFTagsInput, opts ...request.Option) (*ListLFTagsOutput, error) { 1238 req, out := c.ListLFTagsRequest(input) 1239 req.SetContext(ctx) 1240 req.ApplyOptions(opts...) 1241 return out, req.Send() 1242 } 1243 1244 const opListPermissions = "ListPermissions" 1245 1246 // ListPermissionsRequest generates a "aws/request.Request" representing the 1247 // client's request for the ListPermissions operation. The "output" return 1248 // value will be populated with the request's response once the request completes 1249 // successfully. 1250 // 1251 // Use "Send" method on the returned Request to send the API call to the service. 1252 // the "output" return value is not valid until after Send returns without error. 1253 // 1254 // See ListPermissions for more information on using the ListPermissions 1255 // API call, and error handling. 1256 // 1257 // This method is useful when you want to inject custom logic or configuration 1258 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1259 // 1260 // 1261 // // Example sending a request using the ListPermissionsRequest method. 1262 // req, resp := client.ListPermissionsRequest(params) 1263 // 1264 // err := req.Send() 1265 // if err == nil { // resp is now filled 1266 // fmt.Println(resp) 1267 // } 1268 // 1269 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListPermissions 1270 func (c *LakeFormation) ListPermissionsRequest(input *ListPermissionsInput) (req *request.Request, output *ListPermissionsOutput) { 1271 op := &request.Operation{ 1272 Name: opListPermissions, 1273 HTTPMethod: "POST", 1274 HTTPPath: "/", 1275 Paginator: &request.Paginator{ 1276 InputTokens: []string{"NextToken"}, 1277 OutputTokens: []string{"NextToken"}, 1278 LimitToken: "MaxResults", 1279 TruncationToken: "", 1280 }, 1281 } 1282 1283 if input == nil { 1284 input = &ListPermissionsInput{} 1285 } 1286 1287 output = &ListPermissionsOutput{} 1288 req = c.newRequest(op, input, output) 1289 return 1290 } 1291 1292 // ListPermissions API operation for AWS Lake Formation. 1293 // 1294 // Returns a list of the principal permissions on the resource, filtered by 1295 // the permissions of the caller. For example, if you are granted an ALTER permission, 1296 // you are able to see only the principal permissions for ALTER. 1297 // 1298 // This operation returns only those permissions that have been explicitly granted. 1299 // 1300 // For information about permissions, see Security and Access Control to Metadata 1301 // and Data (https://docs-aws.amazon.com/lake-formation/latest/dg/security-data-access.html). 1302 // 1303 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1304 // with awserr.Error's Code and Message methods to get detailed information about 1305 // the error. 1306 // 1307 // See the AWS API reference guide for AWS Lake Formation's 1308 // API operation ListPermissions for usage and error information. 1309 // 1310 // Returned Error Types: 1311 // * InvalidInputException 1312 // The input provided was not valid. 1313 // 1314 // * OperationTimeoutException 1315 // The operation timed out. 1316 // 1317 // * InternalServiceException 1318 // An internal service error occurred. 1319 // 1320 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListPermissions 1321 func (c *LakeFormation) ListPermissions(input *ListPermissionsInput) (*ListPermissionsOutput, error) { 1322 req, out := c.ListPermissionsRequest(input) 1323 return out, req.Send() 1324 } 1325 1326 // ListPermissionsWithContext is the same as ListPermissions with the addition of 1327 // the ability to pass a context and additional request options. 1328 // 1329 // See ListPermissions for details on how to use this API operation. 1330 // 1331 // The context must be non-nil and will be used for request cancellation. If 1332 // the context is nil a panic will occur. In the future the SDK may create 1333 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1334 // for more information on using Contexts. 1335 func (c *LakeFormation) ListPermissionsWithContext(ctx aws.Context, input *ListPermissionsInput, opts ...request.Option) (*ListPermissionsOutput, error) { 1336 req, out := c.ListPermissionsRequest(input) 1337 req.SetContext(ctx) 1338 req.ApplyOptions(opts...) 1339 return out, req.Send() 1340 } 1341 1342 // ListPermissionsPages iterates over the pages of a ListPermissions operation, 1343 // calling the "fn" function with the response data for each page. To stop 1344 // iterating, return false from the fn function. 1345 // 1346 // See ListPermissions method for more information on how to use this operation. 1347 // 1348 // Note: This operation can generate multiple requests to a service. 1349 // 1350 // // Example iterating over at most 3 pages of a ListPermissions operation. 1351 // pageNum := 0 1352 // err := client.ListPermissionsPages(params, 1353 // func(page *lakeformation.ListPermissionsOutput, lastPage bool) bool { 1354 // pageNum++ 1355 // fmt.Println(page) 1356 // return pageNum <= 3 1357 // }) 1358 // 1359 func (c *LakeFormation) ListPermissionsPages(input *ListPermissionsInput, fn func(*ListPermissionsOutput, bool) bool) error { 1360 return c.ListPermissionsPagesWithContext(aws.BackgroundContext(), input, fn) 1361 } 1362 1363 // ListPermissionsPagesWithContext same as ListPermissionsPages except 1364 // it takes a Context and allows setting request options on the pages. 1365 // 1366 // The context must be non-nil and will be used for request cancellation. If 1367 // the context is nil a panic will occur. In the future the SDK may create 1368 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1369 // for more information on using Contexts. 1370 func (c *LakeFormation) ListPermissionsPagesWithContext(ctx aws.Context, input *ListPermissionsInput, fn func(*ListPermissionsOutput, bool) bool, opts ...request.Option) error { 1371 p := request.Pagination{ 1372 NewRequest: func() (*request.Request, error) { 1373 var inCpy *ListPermissionsInput 1374 if input != nil { 1375 tmp := *input 1376 inCpy = &tmp 1377 } 1378 req, _ := c.ListPermissionsRequest(inCpy) 1379 req.SetContext(ctx) 1380 req.ApplyOptions(opts...) 1381 return req, nil 1382 }, 1383 } 1384 1385 for p.Next() { 1386 if !fn(p.Page().(*ListPermissionsOutput), !p.HasNextPage()) { 1387 break 1388 } 1389 } 1390 1391 return p.Err() 1392 } 1393 1394 const opListResources = "ListResources" 1395 1396 // ListResourcesRequest generates a "aws/request.Request" representing the 1397 // client's request for the ListResources operation. The "output" return 1398 // value will be populated with the request's response once the request completes 1399 // successfully. 1400 // 1401 // Use "Send" method on the returned Request to send the API call to the service. 1402 // the "output" return value is not valid until after Send returns without error. 1403 // 1404 // See ListResources for more information on using the ListResources 1405 // API call, and error handling. 1406 // 1407 // This method is useful when you want to inject custom logic or configuration 1408 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1409 // 1410 // 1411 // // Example sending a request using the ListResourcesRequest method. 1412 // req, resp := client.ListResourcesRequest(params) 1413 // 1414 // err := req.Send() 1415 // if err == nil { // resp is now filled 1416 // fmt.Println(resp) 1417 // } 1418 // 1419 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListResources 1420 func (c *LakeFormation) ListResourcesRequest(input *ListResourcesInput) (req *request.Request, output *ListResourcesOutput) { 1421 op := &request.Operation{ 1422 Name: opListResources, 1423 HTTPMethod: "POST", 1424 HTTPPath: "/", 1425 Paginator: &request.Paginator{ 1426 InputTokens: []string{"NextToken"}, 1427 OutputTokens: []string{"NextToken"}, 1428 LimitToken: "MaxResults", 1429 TruncationToken: "", 1430 }, 1431 } 1432 1433 if input == nil { 1434 input = &ListResourcesInput{} 1435 } 1436 1437 output = &ListResourcesOutput{} 1438 req = c.newRequest(op, input, output) 1439 return 1440 } 1441 1442 // ListResources API operation for AWS Lake Formation. 1443 // 1444 // Lists the resources registered to be managed by the Data Catalog. 1445 // 1446 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1447 // with awserr.Error's Code and Message methods to get detailed information about 1448 // the error. 1449 // 1450 // See the AWS API reference guide for AWS Lake Formation's 1451 // API operation ListResources for usage and error information. 1452 // 1453 // Returned Error Types: 1454 // * InvalidInputException 1455 // The input provided was not valid. 1456 // 1457 // * InternalServiceException 1458 // An internal service error occurred. 1459 // 1460 // * OperationTimeoutException 1461 // The operation timed out. 1462 // 1463 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListResources 1464 func (c *LakeFormation) ListResources(input *ListResourcesInput) (*ListResourcesOutput, error) { 1465 req, out := c.ListResourcesRequest(input) 1466 return out, req.Send() 1467 } 1468 1469 // ListResourcesWithContext is the same as ListResources with the addition of 1470 // the ability to pass a context and additional request options. 1471 // 1472 // See ListResources for details on how to use this API operation. 1473 // 1474 // The context must be non-nil and will be used for request cancellation. If 1475 // the context is nil a panic will occur. In the future the SDK may create 1476 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1477 // for more information on using Contexts. 1478 func (c *LakeFormation) ListResourcesWithContext(ctx aws.Context, input *ListResourcesInput, opts ...request.Option) (*ListResourcesOutput, error) { 1479 req, out := c.ListResourcesRequest(input) 1480 req.SetContext(ctx) 1481 req.ApplyOptions(opts...) 1482 return out, req.Send() 1483 } 1484 1485 // ListResourcesPages iterates over the pages of a ListResources operation, 1486 // calling the "fn" function with the response data for each page. To stop 1487 // iterating, return false from the fn function. 1488 // 1489 // See ListResources method for more information on how to use this operation. 1490 // 1491 // Note: This operation can generate multiple requests to a service. 1492 // 1493 // // Example iterating over at most 3 pages of a ListResources operation. 1494 // pageNum := 0 1495 // err := client.ListResourcesPages(params, 1496 // func(page *lakeformation.ListResourcesOutput, lastPage bool) bool { 1497 // pageNum++ 1498 // fmt.Println(page) 1499 // return pageNum <= 3 1500 // }) 1501 // 1502 func (c *LakeFormation) ListResourcesPages(input *ListResourcesInput, fn func(*ListResourcesOutput, bool) bool) error { 1503 return c.ListResourcesPagesWithContext(aws.BackgroundContext(), input, fn) 1504 } 1505 1506 // ListResourcesPagesWithContext same as ListResourcesPages except 1507 // it takes a Context and allows setting request options on the pages. 1508 // 1509 // The context must be non-nil and will be used for request cancellation. If 1510 // the context is nil a panic will occur. In the future the SDK may create 1511 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1512 // for more information on using Contexts. 1513 func (c *LakeFormation) ListResourcesPagesWithContext(ctx aws.Context, input *ListResourcesInput, fn func(*ListResourcesOutput, bool) bool, opts ...request.Option) error { 1514 p := request.Pagination{ 1515 NewRequest: func() (*request.Request, error) { 1516 var inCpy *ListResourcesInput 1517 if input != nil { 1518 tmp := *input 1519 inCpy = &tmp 1520 } 1521 req, _ := c.ListResourcesRequest(inCpy) 1522 req.SetContext(ctx) 1523 req.ApplyOptions(opts...) 1524 return req, nil 1525 }, 1526 } 1527 1528 for p.Next() { 1529 if !fn(p.Page().(*ListResourcesOutput), !p.HasNextPage()) { 1530 break 1531 } 1532 } 1533 1534 return p.Err() 1535 } 1536 1537 const opPutDataLakeSettings = "PutDataLakeSettings" 1538 1539 // PutDataLakeSettingsRequest generates a "aws/request.Request" representing the 1540 // client's request for the PutDataLakeSettings operation. The "output" return 1541 // value will be populated with the request's response once the request completes 1542 // successfully. 1543 // 1544 // Use "Send" method on the returned Request to send the API call to the service. 1545 // the "output" return value is not valid until after Send returns without error. 1546 // 1547 // See PutDataLakeSettings for more information on using the PutDataLakeSettings 1548 // API call, and error handling. 1549 // 1550 // This method is useful when you want to inject custom logic or configuration 1551 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1552 // 1553 // 1554 // // Example sending a request using the PutDataLakeSettingsRequest method. 1555 // req, resp := client.PutDataLakeSettingsRequest(params) 1556 // 1557 // err := req.Send() 1558 // if err == nil { // resp is now filled 1559 // fmt.Println(resp) 1560 // } 1561 // 1562 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/PutDataLakeSettings 1563 func (c *LakeFormation) PutDataLakeSettingsRequest(input *PutDataLakeSettingsInput) (req *request.Request, output *PutDataLakeSettingsOutput) { 1564 op := &request.Operation{ 1565 Name: opPutDataLakeSettings, 1566 HTTPMethod: "POST", 1567 HTTPPath: "/", 1568 } 1569 1570 if input == nil { 1571 input = &PutDataLakeSettingsInput{} 1572 } 1573 1574 output = &PutDataLakeSettingsOutput{} 1575 req = c.newRequest(op, input, output) 1576 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1577 return 1578 } 1579 1580 // PutDataLakeSettings API operation for AWS Lake Formation. 1581 // 1582 // Sets the list of data lake administrators who have admin privileges on all 1583 // resources managed by Lake Formation. For more information on admin privileges, 1584 // see Granting Lake Formation Permissions (https://docs.aws.amazon.com/lake-formation/latest/dg/lake-formation-permissions.html). 1585 // 1586 // This API replaces the current list of data lake admins with the new list 1587 // being passed. To add an admin, fetch the current list and add the new admin 1588 // to that list and pass that list in this API. 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 Lake Formation's 1595 // API operation PutDataLakeSettings for usage and error information. 1596 // 1597 // Returned Error Types: 1598 // * InternalServiceException 1599 // An internal service error occurred. 1600 // 1601 // * InvalidInputException 1602 // The input provided was not valid. 1603 // 1604 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/PutDataLakeSettings 1605 func (c *LakeFormation) PutDataLakeSettings(input *PutDataLakeSettingsInput) (*PutDataLakeSettingsOutput, error) { 1606 req, out := c.PutDataLakeSettingsRequest(input) 1607 return out, req.Send() 1608 } 1609 1610 // PutDataLakeSettingsWithContext is the same as PutDataLakeSettings with the addition of 1611 // the ability to pass a context and additional request options. 1612 // 1613 // See PutDataLakeSettings for details on how to use this API operation. 1614 // 1615 // The context must be non-nil and will be used for request cancellation. If 1616 // the context is nil a panic will occur. In the future the SDK may create 1617 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1618 // for more information on using Contexts. 1619 func (c *LakeFormation) PutDataLakeSettingsWithContext(ctx aws.Context, input *PutDataLakeSettingsInput, opts ...request.Option) (*PutDataLakeSettingsOutput, error) { 1620 req, out := c.PutDataLakeSettingsRequest(input) 1621 req.SetContext(ctx) 1622 req.ApplyOptions(opts...) 1623 return out, req.Send() 1624 } 1625 1626 const opRegisterResource = "RegisterResource" 1627 1628 // RegisterResourceRequest generates a "aws/request.Request" representing the 1629 // client's request for the RegisterResource operation. The "output" return 1630 // value will be populated with the request's response once the request completes 1631 // successfully. 1632 // 1633 // Use "Send" method on the returned Request to send the API call to the service. 1634 // the "output" return value is not valid until after Send returns without error. 1635 // 1636 // See RegisterResource for more information on using the RegisterResource 1637 // API call, and error handling. 1638 // 1639 // This method is useful when you want to inject custom logic or configuration 1640 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1641 // 1642 // 1643 // // Example sending a request using the RegisterResourceRequest method. 1644 // req, resp := client.RegisterResourceRequest(params) 1645 // 1646 // err := req.Send() 1647 // if err == nil { // resp is now filled 1648 // fmt.Println(resp) 1649 // } 1650 // 1651 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RegisterResource 1652 func (c *LakeFormation) RegisterResourceRequest(input *RegisterResourceInput) (req *request.Request, output *RegisterResourceOutput) { 1653 op := &request.Operation{ 1654 Name: opRegisterResource, 1655 HTTPMethod: "POST", 1656 HTTPPath: "/", 1657 } 1658 1659 if input == nil { 1660 input = &RegisterResourceInput{} 1661 } 1662 1663 output = &RegisterResourceOutput{} 1664 req = c.newRequest(op, input, output) 1665 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1666 return 1667 } 1668 1669 // RegisterResource API operation for AWS Lake Formation. 1670 // 1671 // Registers the resource as managed by the Data Catalog. 1672 // 1673 // To add or update data, Lake Formation needs read/write access to the chosen 1674 // Amazon S3 path. Choose a role that you know has permission to do this, or 1675 // choose the AWSServiceRoleForLakeFormationDataAccess service-linked role. 1676 // When you register the first Amazon S3 path, the service-linked role and a 1677 // new inline policy are created on your behalf. Lake Formation adds the first 1678 // path to the inline policy and attaches it to the service-linked role. When 1679 // you register subsequent paths, Lake Formation adds the path to the existing 1680 // policy. 1681 // 1682 // The following request registers a new location and gives AWS Lake Formation 1683 // permission to use the service-linked role to access that location. 1684 // 1685 // ResourceArn = arn:aws:s3:::my-bucket UseServiceLinkedRole = true 1686 // 1687 // If UseServiceLinkedRole is not set to true, you must provide or set the RoleArn: 1688 // 1689 // arn:aws:iam::12345:role/my-data-access-role 1690 // 1691 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1692 // with awserr.Error's Code and Message methods to get detailed information about 1693 // the error. 1694 // 1695 // See the AWS API reference guide for AWS Lake Formation's 1696 // API operation RegisterResource for usage and error information. 1697 // 1698 // Returned Error Types: 1699 // * InvalidInputException 1700 // The input provided was not valid. 1701 // 1702 // * InternalServiceException 1703 // An internal service error occurred. 1704 // 1705 // * OperationTimeoutException 1706 // The operation timed out. 1707 // 1708 // * AlreadyExistsException 1709 // A resource to be created or added already exists. 1710 // 1711 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RegisterResource 1712 func (c *LakeFormation) RegisterResource(input *RegisterResourceInput) (*RegisterResourceOutput, error) { 1713 req, out := c.RegisterResourceRequest(input) 1714 return out, req.Send() 1715 } 1716 1717 // RegisterResourceWithContext is the same as RegisterResource with the addition of 1718 // the ability to pass a context and additional request options. 1719 // 1720 // See RegisterResource for details on how to use this API operation. 1721 // 1722 // The context must be non-nil and will be used for request cancellation. If 1723 // the context is nil a panic will occur. In the future the SDK may create 1724 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1725 // for more information on using Contexts. 1726 func (c *LakeFormation) RegisterResourceWithContext(ctx aws.Context, input *RegisterResourceInput, opts ...request.Option) (*RegisterResourceOutput, error) { 1727 req, out := c.RegisterResourceRequest(input) 1728 req.SetContext(ctx) 1729 req.ApplyOptions(opts...) 1730 return out, req.Send() 1731 } 1732 1733 const opRemoveLFTagsFromResource = "RemoveLFTagsFromResource" 1734 1735 // RemoveLFTagsFromResourceRequest generates a "aws/request.Request" representing the 1736 // client's request for the RemoveLFTagsFromResource operation. The "output" return 1737 // value will be populated with the request's response once the request completes 1738 // successfully. 1739 // 1740 // Use "Send" method on the returned Request to send the API call to the service. 1741 // the "output" return value is not valid until after Send returns without error. 1742 // 1743 // See RemoveLFTagsFromResource for more information on using the RemoveLFTagsFromResource 1744 // API call, and error handling. 1745 // 1746 // This method is useful when you want to inject custom logic or configuration 1747 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1748 // 1749 // 1750 // // Example sending a request using the RemoveLFTagsFromResourceRequest method. 1751 // req, resp := client.RemoveLFTagsFromResourceRequest(params) 1752 // 1753 // err := req.Send() 1754 // if err == nil { // resp is now filled 1755 // fmt.Println(resp) 1756 // } 1757 // 1758 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RemoveLFTagsFromResource 1759 func (c *LakeFormation) RemoveLFTagsFromResourceRequest(input *RemoveLFTagsFromResourceInput) (req *request.Request, output *RemoveLFTagsFromResourceOutput) { 1760 op := &request.Operation{ 1761 Name: opRemoveLFTagsFromResource, 1762 HTTPMethod: "POST", 1763 HTTPPath: "/", 1764 } 1765 1766 if input == nil { 1767 input = &RemoveLFTagsFromResourceInput{} 1768 } 1769 1770 output = &RemoveLFTagsFromResourceOutput{} 1771 req = c.newRequest(op, input, output) 1772 return 1773 } 1774 1775 // RemoveLFTagsFromResource API operation for AWS Lake Formation. 1776 // 1777 // Removes a tag from the resource. Only database, table, or tableWithColumns 1778 // resource are allowed. To tag columns, use the column inclusion list in tableWithColumns 1779 // to specify column input. 1780 // 1781 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1782 // with awserr.Error's Code and Message methods to get detailed information about 1783 // the error. 1784 // 1785 // See the AWS API reference guide for AWS Lake Formation's 1786 // API operation RemoveLFTagsFromResource for usage and error information. 1787 // 1788 // Returned Error Types: 1789 // * EntityNotFoundException 1790 // A specified entity does not exist 1791 // 1792 // * InvalidInputException 1793 // The input provided was not valid. 1794 // 1795 // * InternalServiceException 1796 // An internal service error occurred. 1797 // 1798 // * OperationTimeoutException 1799 // The operation timed out. 1800 // 1801 // * GlueEncryptionException 1802 // An encryption operation failed. 1803 // 1804 // * AccessDeniedException 1805 // Access to a resource was denied. 1806 // 1807 // * ConcurrentModificationException 1808 // Two processes are trying to modify a resource simultaneously. 1809 // 1810 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RemoveLFTagsFromResource 1811 func (c *LakeFormation) RemoveLFTagsFromResource(input *RemoveLFTagsFromResourceInput) (*RemoveLFTagsFromResourceOutput, error) { 1812 req, out := c.RemoveLFTagsFromResourceRequest(input) 1813 return out, req.Send() 1814 } 1815 1816 // RemoveLFTagsFromResourceWithContext is the same as RemoveLFTagsFromResource with the addition of 1817 // the ability to pass a context and additional request options. 1818 // 1819 // See RemoveLFTagsFromResource for details on how to use this API operation. 1820 // 1821 // The context must be non-nil and will be used for request cancellation. If 1822 // the context is nil a panic will occur. In the future the SDK may create 1823 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1824 // for more information on using Contexts. 1825 func (c *LakeFormation) RemoveLFTagsFromResourceWithContext(ctx aws.Context, input *RemoveLFTagsFromResourceInput, opts ...request.Option) (*RemoveLFTagsFromResourceOutput, error) { 1826 req, out := c.RemoveLFTagsFromResourceRequest(input) 1827 req.SetContext(ctx) 1828 req.ApplyOptions(opts...) 1829 return out, req.Send() 1830 } 1831 1832 const opRevokePermissions = "RevokePermissions" 1833 1834 // RevokePermissionsRequest generates a "aws/request.Request" representing the 1835 // client's request for the RevokePermissions operation. The "output" return 1836 // value will be populated with the request's response once the request completes 1837 // successfully. 1838 // 1839 // Use "Send" method on the returned Request to send the API call to the service. 1840 // the "output" return value is not valid until after Send returns without error. 1841 // 1842 // See RevokePermissions for more information on using the RevokePermissions 1843 // API call, and error handling. 1844 // 1845 // This method is useful when you want to inject custom logic or configuration 1846 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1847 // 1848 // 1849 // // Example sending a request using the RevokePermissionsRequest method. 1850 // req, resp := client.RevokePermissionsRequest(params) 1851 // 1852 // err := req.Send() 1853 // if err == nil { // resp is now filled 1854 // fmt.Println(resp) 1855 // } 1856 // 1857 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RevokePermissions 1858 func (c *LakeFormation) RevokePermissionsRequest(input *RevokePermissionsInput) (req *request.Request, output *RevokePermissionsOutput) { 1859 op := &request.Operation{ 1860 Name: opRevokePermissions, 1861 HTTPMethod: "POST", 1862 HTTPPath: "/", 1863 } 1864 1865 if input == nil { 1866 input = &RevokePermissionsInput{} 1867 } 1868 1869 output = &RevokePermissionsOutput{} 1870 req = c.newRequest(op, input, output) 1871 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1872 return 1873 } 1874 1875 // RevokePermissions API operation for AWS Lake Formation. 1876 // 1877 // Revokes permissions to the principal to access metadata in the Data Catalog 1878 // and data organized in underlying data storage such as Amazon S3. 1879 // 1880 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1881 // with awserr.Error's Code and Message methods to get detailed information about 1882 // the error. 1883 // 1884 // See the AWS API reference guide for AWS Lake Formation's 1885 // API operation RevokePermissions for usage and error information. 1886 // 1887 // Returned Error Types: 1888 // * ConcurrentModificationException 1889 // Two processes are trying to modify a resource simultaneously. 1890 // 1891 // * EntityNotFoundException 1892 // A specified entity does not exist 1893 // 1894 // * InvalidInputException 1895 // The input provided was not valid. 1896 // 1897 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RevokePermissions 1898 func (c *LakeFormation) RevokePermissions(input *RevokePermissionsInput) (*RevokePermissionsOutput, error) { 1899 req, out := c.RevokePermissionsRequest(input) 1900 return out, req.Send() 1901 } 1902 1903 // RevokePermissionsWithContext is the same as RevokePermissions with the addition of 1904 // the ability to pass a context and additional request options. 1905 // 1906 // See RevokePermissions for details on how to use this API operation. 1907 // 1908 // The context must be non-nil and will be used for request cancellation. If 1909 // the context is nil a panic will occur. In the future the SDK may create 1910 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1911 // for more information on using Contexts. 1912 func (c *LakeFormation) RevokePermissionsWithContext(ctx aws.Context, input *RevokePermissionsInput, opts ...request.Option) (*RevokePermissionsOutput, error) { 1913 req, out := c.RevokePermissionsRequest(input) 1914 req.SetContext(ctx) 1915 req.ApplyOptions(opts...) 1916 return out, req.Send() 1917 } 1918 1919 const opSearchDatabasesByLFTags = "SearchDatabasesByLFTags" 1920 1921 // SearchDatabasesByLFTagsRequest generates a "aws/request.Request" representing the 1922 // client's request for the SearchDatabasesByLFTags operation. The "output" return 1923 // value will be populated with the request's response once the request completes 1924 // successfully. 1925 // 1926 // Use "Send" method on the returned Request to send the API call to the service. 1927 // the "output" return value is not valid until after Send returns without error. 1928 // 1929 // See SearchDatabasesByLFTags for more information on using the SearchDatabasesByLFTags 1930 // API call, and error handling. 1931 // 1932 // This method is useful when you want to inject custom logic or configuration 1933 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1934 // 1935 // 1936 // // Example sending a request using the SearchDatabasesByLFTagsRequest method. 1937 // req, resp := client.SearchDatabasesByLFTagsRequest(params) 1938 // 1939 // err := req.Send() 1940 // if err == nil { // resp is now filled 1941 // fmt.Println(resp) 1942 // } 1943 // 1944 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/SearchDatabasesByLFTags 1945 func (c *LakeFormation) SearchDatabasesByLFTagsRequest(input *SearchDatabasesByLFTagsInput) (req *request.Request, output *SearchDatabasesByLFTagsOutput) { 1946 op := &request.Operation{ 1947 Name: opSearchDatabasesByLFTags, 1948 HTTPMethod: "POST", 1949 HTTPPath: "/", 1950 } 1951 1952 if input == nil { 1953 input = &SearchDatabasesByLFTagsInput{} 1954 } 1955 1956 output = &SearchDatabasesByLFTagsOutput{} 1957 req = c.newRequest(op, input, output) 1958 return 1959 } 1960 1961 // SearchDatabasesByLFTags API operation for AWS Lake Formation. 1962 // 1963 // This operation allows a search on DATABASE resources by TagCondition. This 1964 // operation is used by admins who want to grant user permissions on certain 1965 // TagConditions. Before making a grant, the admin can use SearchDatabasesByTags 1966 // to find all resources where the given TagConditions are valid to verify whether 1967 // the returned resources can be shared. 1968 // 1969 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1970 // with awserr.Error's Code and Message methods to get detailed information about 1971 // the error. 1972 // 1973 // See the AWS API reference guide for AWS Lake Formation's 1974 // API operation SearchDatabasesByLFTags for usage and error information. 1975 // 1976 // Returned Error Types: 1977 // * EntityNotFoundException 1978 // A specified entity does not exist 1979 // 1980 // * InternalServiceException 1981 // An internal service error occurred. 1982 // 1983 // * InvalidInputException 1984 // The input provided was not valid. 1985 // 1986 // * OperationTimeoutException 1987 // The operation timed out. 1988 // 1989 // * GlueEncryptionException 1990 // An encryption operation failed. 1991 // 1992 // * AccessDeniedException 1993 // Access to a resource was denied. 1994 // 1995 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/SearchDatabasesByLFTags 1996 func (c *LakeFormation) SearchDatabasesByLFTags(input *SearchDatabasesByLFTagsInput) (*SearchDatabasesByLFTagsOutput, error) { 1997 req, out := c.SearchDatabasesByLFTagsRequest(input) 1998 return out, req.Send() 1999 } 2000 2001 // SearchDatabasesByLFTagsWithContext is the same as SearchDatabasesByLFTags with the addition of 2002 // the ability to pass a context and additional request options. 2003 // 2004 // See SearchDatabasesByLFTags for details on how to use this API operation. 2005 // 2006 // The context must be non-nil and will be used for request cancellation. If 2007 // the context is nil a panic will occur. In the future the SDK may create 2008 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2009 // for more information on using Contexts. 2010 func (c *LakeFormation) SearchDatabasesByLFTagsWithContext(ctx aws.Context, input *SearchDatabasesByLFTagsInput, opts ...request.Option) (*SearchDatabasesByLFTagsOutput, error) { 2011 req, out := c.SearchDatabasesByLFTagsRequest(input) 2012 req.SetContext(ctx) 2013 req.ApplyOptions(opts...) 2014 return out, req.Send() 2015 } 2016 2017 const opSearchTablesByLFTags = "SearchTablesByLFTags" 2018 2019 // SearchTablesByLFTagsRequest generates a "aws/request.Request" representing the 2020 // client's request for the SearchTablesByLFTags operation. The "output" return 2021 // value will be populated with the request's response once the request completes 2022 // successfully. 2023 // 2024 // Use "Send" method on the returned Request to send the API call to the service. 2025 // the "output" return value is not valid until after Send returns without error. 2026 // 2027 // See SearchTablesByLFTags for more information on using the SearchTablesByLFTags 2028 // API call, and error handling. 2029 // 2030 // This method is useful when you want to inject custom logic or configuration 2031 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2032 // 2033 // 2034 // // Example sending a request using the SearchTablesByLFTagsRequest method. 2035 // req, resp := client.SearchTablesByLFTagsRequest(params) 2036 // 2037 // err := req.Send() 2038 // if err == nil { // resp is now filled 2039 // fmt.Println(resp) 2040 // } 2041 // 2042 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/SearchTablesByLFTags 2043 func (c *LakeFormation) SearchTablesByLFTagsRequest(input *SearchTablesByLFTagsInput) (req *request.Request, output *SearchTablesByLFTagsOutput) { 2044 op := &request.Operation{ 2045 Name: opSearchTablesByLFTags, 2046 HTTPMethod: "POST", 2047 HTTPPath: "/", 2048 } 2049 2050 if input == nil { 2051 input = &SearchTablesByLFTagsInput{} 2052 } 2053 2054 output = &SearchTablesByLFTagsOutput{} 2055 req = c.newRequest(op, input, output) 2056 return 2057 } 2058 2059 // SearchTablesByLFTags API operation for AWS Lake Formation. 2060 // 2061 // This operation allows a search on TABLE resources by LFTags. This will be 2062 // used by admins who want to grant user permissions on certain LFTags. Before 2063 // making a grant, the admin can use SearchTablesByLFTags to find all resources 2064 // where the given LFTags are valid to verify whether the returned resources 2065 // can be shared. 2066 // 2067 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2068 // with awserr.Error's Code and Message methods to get detailed information about 2069 // the error. 2070 // 2071 // See the AWS API reference guide for AWS Lake Formation's 2072 // API operation SearchTablesByLFTags for usage and error information. 2073 // 2074 // Returned Error Types: 2075 // * EntityNotFoundException 2076 // A specified entity does not exist 2077 // 2078 // * InternalServiceException 2079 // An internal service error occurred. 2080 // 2081 // * InvalidInputException 2082 // The input provided was not valid. 2083 // 2084 // * OperationTimeoutException 2085 // The operation timed out. 2086 // 2087 // * GlueEncryptionException 2088 // An encryption operation failed. 2089 // 2090 // * AccessDeniedException 2091 // Access to a resource was denied. 2092 // 2093 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/SearchTablesByLFTags 2094 func (c *LakeFormation) SearchTablesByLFTags(input *SearchTablesByLFTagsInput) (*SearchTablesByLFTagsOutput, error) { 2095 req, out := c.SearchTablesByLFTagsRequest(input) 2096 return out, req.Send() 2097 } 2098 2099 // SearchTablesByLFTagsWithContext is the same as SearchTablesByLFTags with the addition of 2100 // the ability to pass a context and additional request options. 2101 // 2102 // See SearchTablesByLFTags for details on how to use this API operation. 2103 // 2104 // The context must be non-nil and will be used for request cancellation. If 2105 // the context is nil a panic will occur. In the future the SDK may create 2106 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2107 // for more information on using Contexts. 2108 func (c *LakeFormation) SearchTablesByLFTagsWithContext(ctx aws.Context, input *SearchTablesByLFTagsInput, opts ...request.Option) (*SearchTablesByLFTagsOutput, error) { 2109 req, out := c.SearchTablesByLFTagsRequest(input) 2110 req.SetContext(ctx) 2111 req.ApplyOptions(opts...) 2112 return out, req.Send() 2113 } 2114 2115 const opUpdateLFTag = "UpdateLFTag" 2116 2117 // UpdateLFTagRequest generates a "aws/request.Request" representing the 2118 // client's request for the UpdateLFTag operation. The "output" return 2119 // value will be populated with the request's response once the request completes 2120 // successfully. 2121 // 2122 // Use "Send" method on the returned Request to send the API call to the service. 2123 // the "output" return value is not valid until after Send returns without error. 2124 // 2125 // See UpdateLFTag for more information on using the UpdateLFTag 2126 // API call, and error handling. 2127 // 2128 // This method is useful when you want to inject custom logic or configuration 2129 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2130 // 2131 // 2132 // // Example sending a request using the UpdateLFTagRequest method. 2133 // req, resp := client.UpdateLFTagRequest(params) 2134 // 2135 // err := req.Send() 2136 // if err == nil { // resp is now filled 2137 // fmt.Println(resp) 2138 // } 2139 // 2140 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateLFTag 2141 func (c *LakeFormation) UpdateLFTagRequest(input *UpdateLFTagInput) (req *request.Request, output *UpdateLFTagOutput) { 2142 op := &request.Operation{ 2143 Name: opUpdateLFTag, 2144 HTTPMethod: "POST", 2145 HTTPPath: "/", 2146 } 2147 2148 if input == nil { 2149 input = &UpdateLFTagInput{} 2150 } 2151 2152 output = &UpdateLFTagOutput{} 2153 req = c.newRequest(op, input, output) 2154 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2155 return 2156 } 2157 2158 // UpdateLFTag API operation for AWS Lake Formation. 2159 // 2160 // Updates the list of possible values for the specified tag key. If the tag 2161 // does not exist, the operation throws an EntityNotFoundException. The values 2162 // in the delete key values will be deleted from list of possible values. If 2163 // any value in the delete key values is attached to a resource, then API errors 2164 // out with a 400 Exception - "Update not allowed". Untag the attribute before 2165 // deleting the tag key's value. 2166 // 2167 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2168 // with awserr.Error's Code and Message methods to get detailed information about 2169 // the error. 2170 // 2171 // See the AWS API reference guide for AWS Lake Formation's 2172 // API operation UpdateLFTag for usage and error information. 2173 // 2174 // Returned Error Types: 2175 // * EntityNotFoundException 2176 // A specified entity does not exist 2177 // 2178 // * InvalidInputException 2179 // The input provided was not valid. 2180 // 2181 // * InternalServiceException 2182 // An internal service error occurred. 2183 // 2184 // * OperationTimeoutException 2185 // The operation timed out. 2186 // 2187 // * ConcurrentModificationException 2188 // Two processes are trying to modify a resource simultaneously. 2189 // 2190 // * AccessDeniedException 2191 // Access to a resource was denied. 2192 // 2193 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateLFTag 2194 func (c *LakeFormation) UpdateLFTag(input *UpdateLFTagInput) (*UpdateLFTagOutput, error) { 2195 req, out := c.UpdateLFTagRequest(input) 2196 return out, req.Send() 2197 } 2198 2199 // UpdateLFTagWithContext is the same as UpdateLFTag with the addition of 2200 // the ability to pass a context and additional request options. 2201 // 2202 // See UpdateLFTag for details on how to use this API operation. 2203 // 2204 // The context must be non-nil and will be used for request cancellation. If 2205 // the context is nil a panic will occur. In the future the SDK may create 2206 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2207 // for more information on using Contexts. 2208 func (c *LakeFormation) UpdateLFTagWithContext(ctx aws.Context, input *UpdateLFTagInput, opts ...request.Option) (*UpdateLFTagOutput, error) { 2209 req, out := c.UpdateLFTagRequest(input) 2210 req.SetContext(ctx) 2211 req.ApplyOptions(opts...) 2212 return out, req.Send() 2213 } 2214 2215 const opUpdateResource = "UpdateResource" 2216 2217 // UpdateResourceRequest generates a "aws/request.Request" representing the 2218 // client's request for the UpdateResource operation. The "output" return 2219 // value will be populated with the request's response once the request completes 2220 // successfully. 2221 // 2222 // Use "Send" method on the returned Request to send the API call to the service. 2223 // the "output" return value is not valid until after Send returns without error. 2224 // 2225 // See UpdateResource for more information on using the UpdateResource 2226 // API call, and error handling. 2227 // 2228 // This method is useful when you want to inject custom logic or configuration 2229 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2230 // 2231 // 2232 // // Example sending a request using the UpdateResourceRequest method. 2233 // req, resp := client.UpdateResourceRequest(params) 2234 // 2235 // err := req.Send() 2236 // if err == nil { // resp is now filled 2237 // fmt.Println(resp) 2238 // } 2239 // 2240 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateResource 2241 func (c *LakeFormation) UpdateResourceRequest(input *UpdateResourceInput) (req *request.Request, output *UpdateResourceOutput) { 2242 op := &request.Operation{ 2243 Name: opUpdateResource, 2244 HTTPMethod: "POST", 2245 HTTPPath: "/", 2246 } 2247 2248 if input == nil { 2249 input = &UpdateResourceInput{} 2250 } 2251 2252 output = &UpdateResourceOutput{} 2253 req = c.newRequest(op, input, output) 2254 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2255 return 2256 } 2257 2258 // UpdateResource API operation for AWS Lake Formation. 2259 // 2260 // Updates the data access role used for vending access to the given (registered) 2261 // resource in AWS Lake Formation. 2262 // 2263 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2264 // with awserr.Error's Code and Message methods to get detailed information about 2265 // the error. 2266 // 2267 // See the AWS API reference guide for AWS Lake Formation's 2268 // API operation UpdateResource for usage and error information. 2269 // 2270 // Returned Error Types: 2271 // * InvalidInputException 2272 // The input provided was not valid. 2273 // 2274 // * InternalServiceException 2275 // An internal service error occurred. 2276 // 2277 // * OperationTimeoutException 2278 // The operation timed out. 2279 // 2280 // * EntityNotFoundException 2281 // A specified entity does not exist 2282 // 2283 // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateResource 2284 func (c *LakeFormation) UpdateResource(input *UpdateResourceInput) (*UpdateResourceOutput, error) { 2285 req, out := c.UpdateResourceRequest(input) 2286 return out, req.Send() 2287 } 2288 2289 // UpdateResourceWithContext is the same as UpdateResource with the addition of 2290 // the ability to pass a context and additional request options. 2291 // 2292 // See UpdateResource for details on how to use this API operation. 2293 // 2294 // The context must be non-nil and will be used for request cancellation. If 2295 // the context is nil a panic will occur. In the future the SDK may create 2296 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2297 // for more information on using Contexts. 2298 func (c *LakeFormation) UpdateResourceWithContext(ctx aws.Context, input *UpdateResourceInput, opts ...request.Option) (*UpdateResourceOutput, error) { 2299 req, out := c.UpdateResourceRequest(input) 2300 req.SetContext(ctx) 2301 req.ApplyOptions(opts...) 2302 return out, req.Send() 2303 } 2304 2305 // Access to a resource was denied. 2306 type AccessDeniedException struct { 2307 _ struct{} `type:"structure"` 2308 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 2309 2310 // A message describing the problem. 2311 Message_ *string `locationName:"Message" type:"string"` 2312 } 2313 2314 // String returns the string representation. 2315 // 2316 // API parameter values that are decorated as "sensitive" in the API will not 2317 // be included in the string output. The member name will be present, but the 2318 // value will be replaced with "sensitive". 2319 func (s AccessDeniedException) String() string { 2320 return awsutil.Prettify(s) 2321 } 2322 2323 // GoString returns the string representation. 2324 // 2325 // API parameter values that are decorated as "sensitive" in the API will not 2326 // be included in the string output. The member name will be present, but the 2327 // value will be replaced with "sensitive". 2328 func (s AccessDeniedException) GoString() string { 2329 return s.String() 2330 } 2331 2332 func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { 2333 return &AccessDeniedException{ 2334 RespMetadata: v, 2335 } 2336 } 2337 2338 // Code returns the exception type name. 2339 func (s *AccessDeniedException) Code() string { 2340 return "AccessDeniedException" 2341 } 2342 2343 // Message returns the exception's message. 2344 func (s *AccessDeniedException) Message() string { 2345 if s.Message_ != nil { 2346 return *s.Message_ 2347 } 2348 return "" 2349 } 2350 2351 // OrigErr always returns nil, satisfies awserr.Error interface. 2352 func (s *AccessDeniedException) OrigErr() error { 2353 return nil 2354 } 2355 2356 func (s *AccessDeniedException) Error() string { 2357 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 2358 } 2359 2360 // Status code returns the HTTP status code for the request's response error. 2361 func (s *AccessDeniedException) StatusCode() int { 2362 return s.RespMetadata.StatusCode 2363 } 2364 2365 // RequestID returns the service's response RequestID for request. 2366 func (s *AccessDeniedException) RequestID() string { 2367 return s.RespMetadata.RequestID 2368 } 2369 2370 type AddLFTagsToResourceInput struct { 2371 _ struct{} `type:"structure"` 2372 2373 // The identifier for the Data Catalog. By default, the account ID. The Data 2374 // Catalog is the persistent metadata store. It contains database definitions, 2375 // table definitions, and other control information to manage your AWS Lake 2376 // Formation environment. 2377 CatalogId *string `min:"1" type:"string"` 2378 2379 // The tags to attach to the resource. 2380 // 2381 // LFTags is a required field 2382 LFTags []*LFTagPair `min:"1" type:"list" required:"true"` 2383 2384 // The resource to which to attach a tag. 2385 // 2386 // Resource is a required field 2387 Resource *Resource `type:"structure" required:"true"` 2388 } 2389 2390 // String returns the string representation. 2391 // 2392 // API parameter values that are decorated as "sensitive" in the API will not 2393 // be included in the string output. The member name will be present, but the 2394 // value will be replaced with "sensitive". 2395 func (s AddLFTagsToResourceInput) String() string { 2396 return awsutil.Prettify(s) 2397 } 2398 2399 // GoString returns the string representation. 2400 // 2401 // API parameter values that are decorated as "sensitive" in the API will not 2402 // be included in the string output. The member name will be present, but the 2403 // value will be replaced with "sensitive". 2404 func (s AddLFTagsToResourceInput) GoString() string { 2405 return s.String() 2406 } 2407 2408 // Validate inspects the fields of the type to determine if they are valid. 2409 func (s *AddLFTagsToResourceInput) Validate() error { 2410 invalidParams := request.ErrInvalidParams{Context: "AddLFTagsToResourceInput"} 2411 if s.CatalogId != nil && len(*s.CatalogId) < 1 { 2412 invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) 2413 } 2414 if s.LFTags == nil { 2415 invalidParams.Add(request.NewErrParamRequired("LFTags")) 2416 } 2417 if s.LFTags != nil && len(s.LFTags) < 1 { 2418 invalidParams.Add(request.NewErrParamMinLen("LFTags", 1)) 2419 } 2420 if s.Resource == nil { 2421 invalidParams.Add(request.NewErrParamRequired("Resource")) 2422 } 2423 if s.LFTags != nil { 2424 for i, v := range s.LFTags { 2425 if v == nil { 2426 continue 2427 } 2428 if err := v.Validate(); err != nil { 2429 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LFTags", i), err.(request.ErrInvalidParams)) 2430 } 2431 } 2432 } 2433 if s.Resource != nil { 2434 if err := s.Resource.Validate(); err != nil { 2435 invalidParams.AddNested("Resource", err.(request.ErrInvalidParams)) 2436 } 2437 } 2438 2439 if invalidParams.Len() > 0 { 2440 return invalidParams 2441 } 2442 return nil 2443 } 2444 2445 // SetCatalogId sets the CatalogId field's value. 2446 func (s *AddLFTagsToResourceInput) SetCatalogId(v string) *AddLFTagsToResourceInput { 2447 s.CatalogId = &v 2448 return s 2449 } 2450 2451 // SetLFTags sets the LFTags field's value. 2452 func (s *AddLFTagsToResourceInput) SetLFTags(v []*LFTagPair) *AddLFTagsToResourceInput { 2453 s.LFTags = v 2454 return s 2455 } 2456 2457 // SetResource sets the Resource field's value. 2458 func (s *AddLFTagsToResourceInput) SetResource(v *Resource) *AddLFTagsToResourceInput { 2459 s.Resource = v 2460 return s 2461 } 2462 2463 type AddLFTagsToResourceOutput struct { 2464 _ struct{} `type:"structure"` 2465 2466 // A list of failures to tag the resource. 2467 Failures []*LFTagError `type:"list"` 2468 } 2469 2470 // String returns the string representation. 2471 // 2472 // API parameter values that are decorated as "sensitive" in the API will not 2473 // be included in the string output. The member name will be present, but the 2474 // value will be replaced with "sensitive". 2475 func (s AddLFTagsToResourceOutput) String() string { 2476 return awsutil.Prettify(s) 2477 } 2478 2479 // GoString returns the string representation. 2480 // 2481 // API parameter values that are decorated as "sensitive" in the API will not 2482 // be included in the string output. The member name will be present, but the 2483 // value will be replaced with "sensitive". 2484 func (s AddLFTagsToResourceOutput) GoString() string { 2485 return s.String() 2486 } 2487 2488 // SetFailures sets the Failures field's value. 2489 func (s *AddLFTagsToResourceOutput) SetFailures(v []*LFTagError) *AddLFTagsToResourceOutput { 2490 s.Failures = v 2491 return s 2492 } 2493 2494 // A resource to be created or added already exists. 2495 type AlreadyExistsException struct { 2496 _ struct{} `type:"structure"` 2497 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 2498 2499 // A message describing the problem. 2500 Message_ *string `locationName:"Message" type:"string"` 2501 } 2502 2503 // String returns the string representation. 2504 // 2505 // API parameter values that are decorated as "sensitive" in the API will not 2506 // be included in the string output. The member name will be present, but the 2507 // value will be replaced with "sensitive". 2508 func (s AlreadyExistsException) String() string { 2509 return awsutil.Prettify(s) 2510 } 2511 2512 // GoString returns the string representation. 2513 // 2514 // API parameter values that are decorated as "sensitive" in the API will not 2515 // be included in the string output. The member name will be present, but the 2516 // value will be replaced with "sensitive". 2517 func (s AlreadyExistsException) GoString() string { 2518 return s.String() 2519 } 2520 2521 func newErrorAlreadyExistsException(v protocol.ResponseMetadata) error { 2522 return &AlreadyExistsException{ 2523 RespMetadata: v, 2524 } 2525 } 2526 2527 // Code returns the exception type name. 2528 func (s *AlreadyExistsException) Code() string { 2529 return "AlreadyExistsException" 2530 } 2531 2532 // Message returns the exception's message. 2533 func (s *AlreadyExistsException) Message() string { 2534 if s.Message_ != nil { 2535 return *s.Message_ 2536 } 2537 return "" 2538 } 2539 2540 // OrigErr always returns nil, satisfies awserr.Error interface. 2541 func (s *AlreadyExistsException) OrigErr() error { 2542 return nil 2543 } 2544 2545 func (s *AlreadyExistsException) Error() string { 2546 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 2547 } 2548 2549 // Status code returns the HTTP status code for the request's response error. 2550 func (s *AlreadyExistsException) StatusCode() int { 2551 return s.RespMetadata.StatusCode 2552 } 2553 2554 // RequestID returns the service's response RequestID for request. 2555 func (s *AlreadyExistsException) RequestID() string { 2556 return s.RespMetadata.RequestID 2557 } 2558 2559 type BatchGrantPermissionsInput struct { 2560 _ struct{} `type:"structure"` 2561 2562 // The identifier for the Data Catalog. By default, the account ID. The Data 2563 // Catalog is the persistent metadata store. It contains database definitions, 2564 // table definitions, and other control information to manage your AWS Lake 2565 // Formation environment. 2566 CatalogId *string `min:"1" type:"string"` 2567 2568 // A list of up to 20 entries for resource permissions to be granted by batch 2569 // operation to the principal. 2570 // 2571 // Entries is a required field 2572 Entries []*BatchPermissionsRequestEntry `type:"list" required:"true"` 2573 } 2574 2575 // String returns the string representation. 2576 // 2577 // API parameter values that are decorated as "sensitive" in the API will not 2578 // be included in the string output. The member name will be present, but the 2579 // value will be replaced with "sensitive". 2580 func (s BatchGrantPermissionsInput) String() string { 2581 return awsutil.Prettify(s) 2582 } 2583 2584 // GoString returns the string representation. 2585 // 2586 // API parameter values that are decorated as "sensitive" in the API will not 2587 // be included in the string output. The member name will be present, but the 2588 // value will be replaced with "sensitive". 2589 func (s BatchGrantPermissionsInput) GoString() string { 2590 return s.String() 2591 } 2592 2593 // Validate inspects the fields of the type to determine if they are valid. 2594 func (s *BatchGrantPermissionsInput) Validate() error { 2595 invalidParams := request.ErrInvalidParams{Context: "BatchGrantPermissionsInput"} 2596 if s.CatalogId != nil && len(*s.CatalogId) < 1 { 2597 invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) 2598 } 2599 if s.Entries == nil { 2600 invalidParams.Add(request.NewErrParamRequired("Entries")) 2601 } 2602 if s.Entries != nil { 2603 for i, v := range s.Entries { 2604 if v == nil { 2605 continue 2606 } 2607 if err := v.Validate(); err != nil { 2608 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams)) 2609 } 2610 } 2611 } 2612 2613 if invalidParams.Len() > 0 { 2614 return invalidParams 2615 } 2616 return nil 2617 } 2618 2619 // SetCatalogId sets the CatalogId field's value. 2620 func (s *BatchGrantPermissionsInput) SetCatalogId(v string) *BatchGrantPermissionsInput { 2621 s.CatalogId = &v 2622 return s 2623 } 2624 2625 // SetEntries sets the Entries field's value. 2626 func (s *BatchGrantPermissionsInput) SetEntries(v []*BatchPermissionsRequestEntry) *BatchGrantPermissionsInput { 2627 s.Entries = v 2628 return s 2629 } 2630 2631 type BatchGrantPermissionsOutput struct { 2632 _ struct{} `type:"structure"` 2633 2634 // A list of failures to grant permissions to the resources. 2635 Failures []*BatchPermissionsFailureEntry `type:"list"` 2636 } 2637 2638 // String returns the string representation. 2639 // 2640 // API parameter values that are decorated as "sensitive" in the API will not 2641 // be included in the string output. The member name will be present, but the 2642 // value will be replaced with "sensitive". 2643 func (s BatchGrantPermissionsOutput) String() string { 2644 return awsutil.Prettify(s) 2645 } 2646 2647 // GoString returns the string representation. 2648 // 2649 // API parameter values that are decorated as "sensitive" in the API will not 2650 // be included in the string output. The member name will be present, but the 2651 // value will be replaced with "sensitive". 2652 func (s BatchGrantPermissionsOutput) GoString() string { 2653 return s.String() 2654 } 2655 2656 // SetFailures sets the Failures field's value. 2657 func (s *BatchGrantPermissionsOutput) SetFailures(v []*BatchPermissionsFailureEntry) *BatchGrantPermissionsOutput { 2658 s.Failures = v 2659 return s 2660 } 2661 2662 // A list of failures when performing a batch grant or batch revoke operation. 2663 type BatchPermissionsFailureEntry struct { 2664 _ struct{} `type:"structure"` 2665 2666 // An error message that applies to the failure of the entry. 2667 Error *ErrorDetail `type:"structure"` 2668 2669 // An identifier for an entry of the batch request. 2670 RequestEntry *BatchPermissionsRequestEntry `type:"structure"` 2671 } 2672 2673 // String returns the string representation. 2674 // 2675 // API parameter values that are decorated as "sensitive" in the API will not 2676 // be included in the string output. The member name will be present, but the 2677 // value will be replaced with "sensitive". 2678 func (s BatchPermissionsFailureEntry) String() string { 2679 return awsutil.Prettify(s) 2680 } 2681 2682 // GoString returns the string representation. 2683 // 2684 // API parameter values that are decorated as "sensitive" in the API will not 2685 // be included in the string output. The member name will be present, but the 2686 // value will be replaced with "sensitive". 2687 func (s BatchPermissionsFailureEntry) GoString() string { 2688 return s.String() 2689 } 2690 2691 // SetError sets the Error field's value. 2692 func (s *BatchPermissionsFailureEntry) SetError(v *ErrorDetail) *BatchPermissionsFailureEntry { 2693 s.Error = v 2694 return s 2695 } 2696 2697 // SetRequestEntry sets the RequestEntry field's value. 2698 func (s *BatchPermissionsFailureEntry) SetRequestEntry(v *BatchPermissionsRequestEntry) *BatchPermissionsFailureEntry { 2699 s.RequestEntry = v 2700 return s 2701 } 2702 2703 // A permission to a resource granted by batch operation to the principal. 2704 type BatchPermissionsRequestEntry struct { 2705 _ struct{} `type:"structure"` 2706 2707 // A unique identifier for the batch permissions request entry. 2708 // 2709 // Id is a required field 2710 Id *string `min:"1" type:"string" required:"true"` 2711 2712 // The permissions to be granted. 2713 Permissions []*string `type:"list"` 2714 2715 // Indicates if the option to pass permissions is granted. 2716 PermissionsWithGrantOption []*string `type:"list"` 2717 2718 // The principal to be granted a permission. 2719 Principal *DataLakePrincipal `type:"structure"` 2720 2721 // The resource to which the principal is to be granted a permission. 2722 Resource *Resource `type:"structure"` 2723 } 2724 2725 // String returns the string representation. 2726 // 2727 // API parameter values that are decorated as "sensitive" in the API will not 2728 // be included in the string output. The member name will be present, but the 2729 // value will be replaced with "sensitive". 2730 func (s BatchPermissionsRequestEntry) String() string { 2731 return awsutil.Prettify(s) 2732 } 2733 2734 // GoString returns the string representation. 2735 // 2736 // API parameter values that are decorated as "sensitive" in the API will not 2737 // be included in the string output. The member name will be present, but the 2738 // value will be replaced with "sensitive". 2739 func (s BatchPermissionsRequestEntry) GoString() string { 2740 return s.String() 2741 } 2742 2743 // Validate inspects the fields of the type to determine if they are valid. 2744 func (s *BatchPermissionsRequestEntry) Validate() error { 2745 invalidParams := request.ErrInvalidParams{Context: "BatchPermissionsRequestEntry"} 2746 if s.Id == nil { 2747 invalidParams.Add(request.NewErrParamRequired("Id")) 2748 } 2749 if s.Id != nil && len(*s.Id) < 1 { 2750 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 2751 } 2752 if s.Principal != nil { 2753 if err := s.Principal.Validate(); err != nil { 2754 invalidParams.AddNested("Principal", err.(request.ErrInvalidParams)) 2755 } 2756 } 2757 if s.Resource != nil { 2758 if err := s.Resource.Validate(); err != nil { 2759 invalidParams.AddNested("Resource", err.(request.ErrInvalidParams)) 2760 } 2761 } 2762 2763 if invalidParams.Len() > 0 { 2764 return invalidParams 2765 } 2766 return nil 2767 } 2768 2769 // SetId sets the Id field's value. 2770 func (s *BatchPermissionsRequestEntry) SetId(v string) *BatchPermissionsRequestEntry { 2771 s.Id = &v 2772 return s 2773 } 2774 2775 // SetPermissions sets the Permissions field's value. 2776 func (s *BatchPermissionsRequestEntry) SetPermissions(v []*string) *BatchPermissionsRequestEntry { 2777 s.Permissions = v 2778 return s 2779 } 2780 2781 // SetPermissionsWithGrantOption sets the PermissionsWithGrantOption field's value. 2782 func (s *BatchPermissionsRequestEntry) SetPermissionsWithGrantOption(v []*string) *BatchPermissionsRequestEntry { 2783 s.PermissionsWithGrantOption = v 2784 return s 2785 } 2786 2787 // SetPrincipal sets the Principal field's value. 2788 func (s *BatchPermissionsRequestEntry) SetPrincipal(v *DataLakePrincipal) *BatchPermissionsRequestEntry { 2789 s.Principal = v 2790 return s 2791 } 2792 2793 // SetResource sets the Resource field's value. 2794 func (s *BatchPermissionsRequestEntry) SetResource(v *Resource) *BatchPermissionsRequestEntry { 2795 s.Resource = v 2796 return s 2797 } 2798 2799 type BatchRevokePermissionsInput struct { 2800 _ struct{} `type:"structure"` 2801 2802 // The identifier for the Data Catalog. By default, the account ID. The Data 2803 // Catalog is the persistent metadata store. It contains database definitions, 2804 // table definitions, and other control information to manage your AWS Lake 2805 // Formation environment. 2806 CatalogId *string `min:"1" type:"string"` 2807 2808 // A list of up to 20 entries for resource permissions to be revoked by batch 2809 // operation to the principal. 2810 // 2811 // Entries is a required field 2812 Entries []*BatchPermissionsRequestEntry `type:"list" required:"true"` 2813 } 2814 2815 // String returns the string representation. 2816 // 2817 // API parameter values that are decorated as "sensitive" in the API will not 2818 // be included in the string output. The member name will be present, but the 2819 // value will be replaced with "sensitive". 2820 func (s BatchRevokePermissionsInput) String() string { 2821 return awsutil.Prettify(s) 2822 } 2823 2824 // GoString returns the string representation. 2825 // 2826 // API parameter values that are decorated as "sensitive" in the API will not 2827 // be included in the string output. The member name will be present, but the 2828 // value will be replaced with "sensitive". 2829 func (s BatchRevokePermissionsInput) GoString() string { 2830 return s.String() 2831 } 2832 2833 // Validate inspects the fields of the type to determine if they are valid. 2834 func (s *BatchRevokePermissionsInput) Validate() error { 2835 invalidParams := request.ErrInvalidParams{Context: "BatchRevokePermissionsInput"} 2836 if s.CatalogId != nil && len(*s.CatalogId) < 1 { 2837 invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) 2838 } 2839 if s.Entries == nil { 2840 invalidParams.Add(request.NewErrParamRequired("Entries")) 2841 } 2842 if s.Entries != nil { 2843 for i, v := range s.Entries { 2844 if v == nil { 2845 continue 2846 } 2847 if err := v.Validate(); err != nil { 2848 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams)) 2849 } 2850 } 2851 } 2852 2853 if invalidParams.Len() > 0 { 2854 return invalidParams 2855 } 2856 return nil 2857 } 2858 2859 // SetCatalogId sets the CatalogId field's value. 2860 func (s *BatchRevokePermissionsInput) SetCatalogId(v string) *BatchRevokePermissionsInput { 2861 s.CatalogId = &v 2862 return s 2863 } 2864 2865 // SetEntries sets the Entries field's value. 2866 func (s *BatchRevokePermissionsInput) SetEntries(v []*BatchPermissionsRequestEntry) *BatchRevokePermissionsInput { 2867 s.Entries = v 2868 return s 2869 } 2870 2871 type BatchRevokePermissionsOutput struct { 2872 _ struct{} `type:"structure"` 2873 2874 // A list of failures to revoke permissions to the resources. 2875 Failures []*BatchPermissionsFailureEntry `type:"list"` 2876 } 2877 2878 // String returns the string representation. 2879 // 2880 // API parameter values that are decorated as "sensitive" in the API will not 2881 // be included in the string output. The member name will be present, but the 2882 // value will be replaced with "sensitive". 2883 func (s BatchRevokePermissionsOutput) String() string { 2884 return awsutil.Prettify(s) 2885 } 2886 2887 // GoString returns the string representation. 2888 // 2889 // API parameter values that are decorated as "sensitive" in the API will not 2890 // be included in the string output. The member name will be present, but the 2891 // value will be replaced with "sensitive". 2892 func (s BatchRevokePermissionsOutput) GoString() string { 2893 return s.String() 2894 } 2895 2896 // SetFailures sets the Failures field's value. 2897 func (s *BatchRevokePermissionsOutput) SetFailures(v []*BatchPermissionsFailureEntry) *BatchRevokePermissionsOutput { 2898 s.Failures = v 2899 return s 2900 } 2901 2902 // A structure for the catalog object. 2903 type CatalogResource struct { 2904 _ struct{} `type:"structure"` 2905 } 2906 2907 // String returns the string representation. 2908 // 2909 // API parameter values that are decorated as "sensitive" in the API will not 2910 // be included in the string output. The member name will be present, but the 2911 // value will be replaced with "sensitive". 2912 func (s CatalogResource) String() string { 2913 return awsutil.Prettify(s) 2914 } 2915 2916 // GoString returns the string representation. 2917 // 2918 // API parameter values that are decorated as "sensitive" in the API will not 2919 // be included in the string output. The member name will be present, but the 2920 // value will be replaced with "sensitive". 2921 func (s CatalogResource) GoString() string { 2922 return s.String() 2923 } 2924 2925 // A structure containing the name of a column resource and the tags attached 2926 // to it. 2927 type ColumnLFTag struct { 2928 _ struct{} `type:"structure"` 2929 2930 // The tags attached to a column resource. 2931 LFTags []*LFTagPair `min:"1" type:"list"` 2932 2933 // The name of a column resource. 2934 Name *string `min:"1" type:"string"` 2935 } 2936 2937 // String returns the string representation. 2938 // 2939 // API parameter values that are decorated as "sensitive" in the API will not 2940 // be included in the string output. The member name will be present, but the 2941 // value will be replaced with "sensitive". 2942 func (s ColumnLFTag) String() string { 2943 return awsutil.Prettify(s) 2944 } 2945 2946 // GoString returns the string representation. 2947 // 2948 // API parameter values that are decorated as "sensitive" in the API will not 2949 // be included in the string output. The member name will be present, but the 2950 // value will be replaced with "sensitive". 2951 func (s ColumnLFTag) GoString() string { 2952 return s.String() 2953 } 2954 2955 // SetLFTags sets the LFTags field's value. 2956 func (s *ColumnLFTag) SetLFTags(v []*LFTagPair) *ColumnLFTag { 2957 s.LFTags = v 2958 return s 2959 } 2960 2961 // SetName sets the Name field's value. 2962 func (s *ColumnLFTag) SetName(v string) *ColumnLFTag { 2963 s.Name = &v 2964 return s 2965 } 2966 2967 // A wildcard object, consisting of an optional list of excluded column names 2968 // or indexes. 2969 type ColumnWildcard struct { 2970 _ struct{} `type:"structure"` 2971 2972 // Excludes column names. Any column with this name will be excluded. 2973 ExcludedColumnNames []*string `type:"list"` 2974 } 2975 2976 // String returns the string representation. 2977 // 2978 // API parameter values that are decorated as "sensitive" in the API will not 2979 // be included in the string output. The member name will be present, but the 2980 // value will be replaced with "sensitive". 2981 func (s ColumnWildcard) String() string { 2982 return awsutil.Prettify(s) 2983 } 2984 2985 // GoString returns the string representation. 2986 // 2987 // API parameter values that are decorated as "sensitive" in the API will not 2988 // be included in the string output. The member name will be present, but the 2989 // value will be replaced with "sensitive". 2990 func (s ColumnWildcard) GoString() string { 2991 return s.String() 2992 } 2993 2994 // SetExcludedColumnNames sets the ExcludedColumnNames field's value. 2995 func (s *ColumnWildcard) SetExcludedColumnNames(v []*string) *ColumnWildcard { 2996 s.ExcludedColumnNames = v 2997 return s 2998 } 2999 3000 // Two processes are trying to modify a resource simultaneously. 3001 type ConcurrentModificationException struct { 3002 _ struct{} `type:"structure"` 3003 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 3004 3005 // A message describing the problem. 3006 Message_ *string `locationName:"Message" type:"string"` 3007 } 3008 3009 // String returns the string representation. 3010 // 3011 // API parameter values that are decorated as "sensitive" in the API will not 3012 // be included in the string output. The member name will be present, but the 3013 // value will be replaced with "sensitive". 3014 func (s ConcurrentModificationException) String() string { 3015 return awsutil.Prettify(s) 3016 } 3017 3018 // GoString returns the string representation. 3019 // 3020 // API parameter values that are decorated as "sensitive" in the API will not 3021 // be included in the string output. The member name will be present, but the 3022 // value will be replaced with "sensitive". 3023 func (s ConcurrentModificationException) GoString() string { 3024 return s.String() 3025 } 3026 3027 func newErrorConcurrentModificationException(v protocol.ResponseMetadata) error { 3028 return &ConcurrentModificationException{ 3029 RespMetadata: v, 3030 } 3031 } 3032 3033 // Code returns the exception type name. 3034 func (s *ConcurrentModificationException) Code() string { 3035 return "ConcurrentModificationException" 3036 } 3037 3038 // Message returns the exception's message. 3039 func (s *ConcurrentModificationException) Message() string { 3040 if s.Message_ != nil { 3041 return *s.Message_ 3042 } 3043 return "" 3044 } 3045 3046 // OrigErr always returns nil, satisfies awserr.Error interface. 3047 func (s *ConcurrentModificationException) OrigErr() error { 3048 return nil 3049 } 3050 3051 func (s *ConcurrentModificationException) Error() string { 3052 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 3053 } 3054 3055 // Status code returns the HTTP status code for the request's response error. 3056 func (s *ConcurrentModificationException) StatusCode() int { 3057 return s.RespMetadata.StatusCode 3058 } 3059 3060 // RequestID returns the service's response RequestID for request. 3061 func (s *ConcurrentModificationException) RequestID() string { 3062 return s.RespMetadata.RequestID 3063 } 3064 3065 type CreateLFTagInput struct { 3066 _ struct{} `type:"structure"` 3067 3068 // The identifier for the Data Catalog. By default, the account ID. The Data 3069 // Catalog is the persistent metadata store. It contains database definitions, 3070 // table definitions, and other control information to manage your AWS Lake 3071 // Formation environment. 3072 CatalogId *string `min:"1" type:"string"` 3073 3074 // The key-name for the tag. 3075 // 3076 // TagKey is a required field 3077 TagKey *string `min:"1" type:"string" required:"true"` 3078 3079 // A list of possible values an attribute can take. 3080 // 3081 // TagValues is a required field 3082 TagValues []*string `min:"1" type:"list" required:"true"` 3083 } 3084 3085 // String returns the string representation. 3086 // 3087 // API parameter values that are decorated as "sensitive" in the API will not 3088 // be included in the string output. The member name will be present, but the 3089 // value will be replaced with "sensitive". 3090 func (s CreateLFTagInput) String() string { 3091 return awsutil.Prettify(s) 3092 } 3093 3094 // GoString returns the string representation. 3095 // 3096 // API parameter values that are decorated as "sensitive" in the API will not 3097 // be included in the string output. The member name will be present, but the 3098 // value will be replaced with "sensitive". 3099 func (s CreateLFTagInput) GoString() string { 3100 return s.String() 3101 } 3102 3103 // Validate inspects the fields of the type to determine if they are valid. 3104 func (s *CreateLFTagInput) Validate() error { 3105 invalidParams := request.ErrInvalidParams{Context: "CreateLFTagInput"} 3106 if s.CatalogId != nil && len(*s.CatalogId) < 1 { 3107 invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) 3108 } 3109 if s.TagKey == nil { 3110 invalidParams.Add(request.NewErrParamRequired("TagKey")) 3111 } 3112 if s.TagKey != nil && len(*s.TagKey) < 1 { 3113 invalidParams.Add(request.NewErrParamMinLen("TagKey", 1)) 3114 } 3115 if s.TagValues == nil { 3116 invalidParams.Add(request.NewErrParamRequired("TagValues")) 3117 } 3118 if s.TagValues != nil && len(s.TagValues) < 1 { 3119 invalidParams.Add(request.NewErrParamMinLen("TagValues", 1)) 3120 } 3121 3122 if invalidParams.Len() > 0 { 3123 return invalidParams 3124 } 3125 return nil 3126 } 3127 3128 // SetCatalogId sets the CatalogId field's value. 3129 func (s *CreateLFTagInput) SetCatalogId(v string) *CreateLFTagInput { 3130 s.CatalogId = &v 3131 return s 3132 } 3133 3134 // SetTagKey sets the TagKey field's value. 3135 func (s *CreateLFTagInput) SetTagKey(v string) *CreateLFTagInput { 3136 s.TagKey = &v 3137 return s 3138 } 3139 3140 // SetTagValues sets the TagValues field's value. 3141 func (s *CreateLFTagInput) SetTagValues(v []*string) *CreateLFTagInput { 3142 s.TagValues = v 3143 return s 3144 } 3145 3146 type CreateLFTagOutput struct { 3147 _ struct{} `type:"structure"` 3148 } 3149 3150 // String returns the string representation. 3151 // 3152 // API parameter values that are decorated as "sensitive" in the API will not 3153 // be included in the string output. The member name will be present, but the 3154 // value will be replaced with "sensitive". 3155 func (s CreateLFTagOutput) String() string { 3156 return awsutil.Prettify(s) 3157 } 3158 3159 // GoString returns the string representation. 3160 // 3161 // API parameter values that are decorated as "sensitive" in the API will not 3162 // be included in the string output. The member name will be present, but the 3163 // value will be replaced with "sensitive". 3164 func (s CreateLFTagOutput) GoString() string { 3165 return s.String() 3166 } 3167 3168 // The AWS Lake Formation principal. Supported principals are IAM users or IAM 3169 // roles. 3170 type DataLakePrincipal struct { 3171 _ struct{} `type:"structure"` 3172 3173 // An identifier for the AWS Lake Formation principal. 3174 DataLakePrincipalIdentifier *string `min:"1" type:"string"` 3175 } 3176 3177 // String returns the string representation. 3178 // 3179 // API parameter values that are decorated as "sensitive" in the API will not 3180 // be included in the string output. The member name will be present, but the 3181 // value will be replaced with "sensitive". 3182 func (s DataLakePrincipal) String() string { 3183 return awsutil.Prettify(s) 3184 } 3185 3186 // GoString returns the string representation. 3187 // 3188 // API parameter values that are decorated as "sensitive" in the API will not 3189 // be included in the string output. The member name will be present, but the 3190 // value will be replaced with "sensitive". 3191 func (s DataLakePrincipal) GoString() string { 3192 return s.String() 3193 } 3194 3195 // Validate inspects the fields of the type to determine if they are valid. 3196 func (s *DataLakePrincipal) Validate() error { 3197 invalidParams := request.ErrInvalidParams{Context: "DataLakePrincipal"} 3198 if s.DataLakePrincipalIdentifier != nil && len(*s.DataLakePrincipalIdentifier) < 1 { 3199 invalidParams.Add(request.NewErrParamMinLen("DataLakePrincipalIdentifier", 1)) 3200 } 3201 3202 if invalidParams.Len() > 0 { 3203 return invalidParams 3204 } 3205 return nil 3206 } 3207 3208 // SetDataLakePrincipalIdentifier sets the DataLakePrincipalIdentifier field's value. 3209 func (s *DataLakePrincipal) SetDataLakePrincipalIdentifier(v string) *DataLakePrincipal { 3210 s.DataLakePrincipalIdentifier = &v 3211 return s 3212 } 3213 3214 // A structure representing a list of AWS Lake Formation principals designated 3215 // as data lake administrators and lists of principal permission entries for 3216 // default create database and default create table permissions. 3217 type DataLakeSettings struct { 3218 _ struct{} `type:"structure"` 3219 3220 // A structure representing a list of up to three principal permissions entries 3221 // for default create database permissions. 3222 CreateDatabaseDefaultPermissions []*PrincipalPermissions `type:"list"` 3223 3224 // A structure representing a list of up to three principal permissions entries 3225 // for default create table permissions. 3226 CreateTableDefaultPermissions []*PrincipalPermissions `type:"list"` 3227 3228 // A list of AWS Lake Formation principals. Supported principals are IAM users 3229 // or IAM roles. 3230 DataLakeAdmins []*DataLakePrincipal `type:"list"` 3231 3232 // A list of the resource-owning account IDs that the caller's account can use 3233 // to share their user access details (user ARNs). The user ARNs can be logged 3234 // in the resource owner's AWS CloudTrail log. 3235 // 3236 // You may want to specify this property when you are in a high-trust boundary, 3237 // such as the same team or company. 3238 TrustedResourceOwners []*string `type:"list"` 3239 } 3240 3241 // String returns the string representation. 3242 // 3243 // API parameter values that are decorated as "sensitive" in the API will not 3244 // be included in the string output. The member name will be present, but the 3245 // value will be replaced with "sensitive". 3246 func (s DataLakeSettings) String() string { 3247 return awsutil.Prettify(s) 3248 } 3249 3250 // GoString returns the string representation. 3251 // 3252 // API parameter values that are decorated as "sensitive" in the API will not 3253 // be included in the string output. The member name will be present, but the 3254 // value will be replaced with "sensitive". 3255 func (s DataLakeSettings) GoString() string { 3256 return s.String() 3257 } 3258 3259 // Validate inspects the fields of the type to determine if they are valid. 3260 func (s *DataLakeSettings) Validate() error { 3261 invalidParams := request.ErrInvalidParams{Context: "DataLakeSettings"} 3262 if s.CreateDatabaseDefaultPermissions != nil { 3263 for i, v := range s.CreateDatabaseDefaultPermissions { 3264 if v == nil { 3265 continue 3266 } 3267 if err := v.Validate(); err != nil { 3268 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CreateDatabaseDefaultPermissions", i), err.(request.ErrInvalidParams)) 3269 } 3270 } 3271 } 3272 if s.CreateTableDefaultPermissions != nil { 3273 for i, v := range s.CreateTableDefaultPermissions { 3274 if v == nil { 3275 continue 3276 } 3277 if err := v.Validate(); err != nil { 3278 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CreateTableDefaultPermissions", i), err.(request.ErrInvalidParams)) 3279 } 3280 } 3281 } 3282 if s.DataLakeAdmins != nil { 3283 for i, v := range s.DataLakeAdmins { 3284 if v == nil { 3285 continue 3286 } 3287 if err := v.Validate(); err != nil { 3288 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DataLakeAdmins", i), err.(request.ErrInvalidParams)) 3289 } 3290 } 3291 } 3292 3293 if invalidParams.Len() > 0 { 3294 return invalidParams 3295 } 3296 return nil 3297 } 3298 3299 // SetCreateDatabaseDefaultPermissions sets the CreateDatabaseDefaultPermissions field's value. 3300 func (s *DataLakeSettings) SetCreateDatabaseDefaultPermissions(v []*PrincipalPermissions) *DataLakeSettings { 3301 s.CreateDatabaseDefaultPermissions = v 3302 return s 3303 } 3304 3305 // SetCreateTableDefaultPermissions sets the CreateTableDefaultPermissions field's value. 3306 func (s *DataLakeSettings) SetCreateTableDefaultPermissions(v []*PrincipalPermissions) *DataLakeSettings { 3307 s.CreateTableDefaultPermissions = v 3308 return s 3309 } 3310 3311 // SetDataLakeAdmins sets the DataLakeAdmins field's value. 3312 func (s *DataLakeSettings) SetDataLakeAdmins(v []*DataLakePrincipal) *DataLakeSettings { 3313 s.DataLakeAdmins = v 3314 return s 3315 } 3316 3317 // SetTrustedResourceOwners sets the TrustedResourceOwners field's value. 3318 func (s *DataLakeSettings) SetTrustedResourceOwners(v []*string) *DataLakeSettings { 3319 s.TrustedResourceOwners = v 3320 return s 3321 } 3322 3323 // A structure for a data location object where permissions are granted or revoked. 3324 type DataLocationResource struct { 3325 _ struct{} `type:"structure"` 3326 3327 // The identifier for the Data Catalog where the location is registered with 3328 // AWS Lake Formation. By default, it is the account ID of the caller. 3329 CatalogId *string `min:"1" type:"string"` 3330 3331 // The Amazon Resource Name (ARN) that uniquely identifies the data location 3332 // resource. 3333 // 3334 // ResourceArn is a required field 3335 ResourceArn *string `type:"string" required:"true"` 3336 } 3337 3338 // String returns the string representation. 3339 // 3340 // API parameter values that are decorated as "sensitive" in the API will not 3341 // be included in the string output. The member name will be present, but the 3342 // value will be replaced with "sensitive". 3343 func (s DataLocationResource) String() string { 3344 return awsutil.Prettify(s) 3345 } 3346 3347 // GoString returns the string representation. 3348 // 3349 // API parameter values that are decorated as "sensitive" in the API will not 3350 // be included in the string output. The member name will be present, but the 3351 // value will be replaced with "sensitive". 3352 func (s DataLocationResource) GoString() string { 3353 return s.String() 3354 } 3355 3356 // Validate inspects the fields of the type to determine if they are valid. 3357 func (s *DataLocationResource) Validate() error { 3358 invalidParams := request.ErrInvalidParams{Context: "DataLocationResource"} 3359 if s.CatalogId != nil && len(*s.CatalogId) < 1 { 3360 invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) 3361 } 3362 if s.ResourceArn == nil { 3363 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 3364 } 3365 3366 if invalidParams.Len() > 0 { 3367 return invalidParams 3368 } 3369 return nil 3370 } 3371 3372 // SetCatalogId sets the CatalogId field's value. 3373 func (s *DataLocationResource) SetCatalogId(v string) *DataLocationResource { 3374 s.CatalogId = &v 3375 return s 3376 } 3377 3378 // SetResourceArn sets the ResourceArn field's value. 3379 func (s *DataLocationResource) SetResourceArn(v string) *DataLocationResource { 3380 s.ResourceArn = &v 3381 return s 3382 } 3383 3384 // A structure for the database object. 3385 type DatabaseResource struct { 3386 _ struct{} `type:"structure"` 3387 3388 // The identifier for the Data Catalog. By default, it is the account ID of 3389 // the caller. 3390 CatalogId *string `min:"1" type:"string"` 3391 3392 // The name of the database resource. Unique to the Data Catalog. 3393 // 3394 // Name is a required field 3395 Name *string `min:"1" type:"string" required:"true"` 3396 } 3397 3398 // String returns the string representation. 3399 // 3400 // API parameter values that are decorated as "sensitive" in the API will not 3401 // be included in the string output. The member name will be present, but the 3402 // value will be replaced with "sensitive". 3403 func (s DatabaseResource) String() string { 3404 return awsutil.Prettify(s) 3405 } 3406 3407 // GoString returns the string representation. 3408 // 3409 // API parameter values that are decorated as "sensitive" in the API will not 3410 // be included in the string output. The member name will be present, but the 3411 // value will be replaced with "sensitive". 3412 func (s DatabaseResource) GoString() string { 3413 return s.String() 3414 } 3415 3416 // Validate inspects the fields of the type to determine if they are valid. 3417 func (s *DatabaseResource) Validate() error { 3418 invalidParams := request.ErrInvalidParams{Context: "DatabaseResource"} 3419 if s.CatalogId != nil && len(*s.CatalogId) < 1 { 3420 invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) 3421 } 3422 if s.Name == nil { 3423 invalidParams.Add(request.NewErrParamRequired("Name")) 3424 } 3425 if s.Name != nil && len(*s.Name) < 1 { 3426 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 3427 } 3428 3429 if invalidParams.Len() > 0 { 3430 return invalidParams 3431 } 3432 return nil 3433 } 3434 3435 // SetCatalogId sets the CatalogId field's value. 3436 func (s *DatabaseResource) SetCatalogId(v string) *DatabaseResource { 3437 s.CatalogId = &v 3438 return s 3439 } 3440 3441 // SetName sets the Name field's value. 3442 func (s *DatabaseResource) SetName(v string) *DatabaseResource { 3443 s.Name = &v 3444 return s 3445 } 3446 3447 type DeleteLFTagInput struct { 3448 _ struct{} `type:"structure"` 3449 3450 // The identifier for the Data Catalog. By default, the account ID. The Data 3451 // Catalog is the persistent metadata store. It contains database definitions, 3452 // table definitions, and other control information to manage your AWS Lake 3453 // Formation environment. 3454 CatalogId *string `min:"1" type:"string"` 3455 3456 // The key-name for the tag to delete. 3457 // 3458 // TagKey is a required field 3459 TagKey *string `min:"1" type:"string" required:"true"` 3460 } 3461 3462 // String returns the string representation. 3463 // 3464 // API parameter values that are decorated as "sensitive" in the API will not 3465 // be included in the string output. The member name will be present, but the 3466 // value will be replaced with "sensitive". 3467 func (s DeleteLFTagInput) String() string { 3468 return awsutil.Prettify(s) 3469 } 3470 3471 // GoString returns the string representation. 3472 // 3473 // API parameter values that are decorated as "sensitive" in the API will not 3474 // be included in the string output. The member name will be present, but the 3475 // value will be replaced with "sensitive". 3476 func (s DeleteLFTagInput) GoString() string { 3477 return s.String() 3478 } 3479 3480 // Validate inspects the fields of the type to determine if they are valid. 3481 func (s *DeleteLFTagInput) Validate() error { 3482 invalidParams := request.ErrInvalidParams{Context: "DeleteLFTagInput"} 3483 if s.CatalogId != nil && len(*s.CatalogId) < 1 { 3484 invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) 3485 } 3486 if s.TagKey == nil { 3487 invalidParams.Add(request.NewErrParamRequired("TagKey")) 3488 } 3489 if s.TagKey != nil && len(*s.TagKey) < 1 { 3490 invalidParams.Add(request.NewErrParamMinLen("TagKey", 1)) 3491 } 3492 3493 if invalidParams.Len() > 0 { 3494 return invalidParams 3495 } 3496 return nil 3497 } 3498 3499 // SetCatalogId sets the CatalogId field's value. 3500 func (s *DeleteLFTagInput) SetCatalogId(v string) *DeleteLFTagInput { 3501 s.CatalogId = &v 3502 return s 3503 } 3504 3505 // SetTagKey sets the TagKey field's value. 3506 func (s *DeleteLFTagInput) SetTagKey(v string) *DeleteLFTagInput { 3507 s.TagKey = &v 3508 return s 3509 } 3510 3511 type DeleteLFTagOutput struct { 3512 _ struct{} `type:"structure"` 3513 } 3514 3515 // String returns the string representation. 3516 // 3517 // API parameter values that are decorated as "sensitive" in the API will not 3518 // be included in the string output. The member name will be present, but the 3519 // value will be replaced with "sensitive". 3520 func (s DeleteLFTagOutput) String() string { 3521 return awsutil.Prettify(s) 3522 } 3523 3524 // GoString returns the string representation. 3525 // 3526 // API parameter values that are decorated as "sensitive" in the API will not 3527 // be included in the string output. The member name will be present, but the 3528 // value will be replaced with "sensitive". 3529 func (s DeleteLFTagOutput) GoString() string { 3530 return s.String() 3531 } 3532 3533 type DeregisterResourceInput struct { 3534 _ struct{} `type:"structure"` 3535 3536 // The Amazon Resource Name (ARN) of the resource that you want to deregister. 3537 // 3538 // ResourceArn is a required field 3539 ResourceArn *string `type:"string" required:"true"` 3540 } 3541 3542 // String returns the string representation. 3543 // 3544 // API parameter values that are decorated as "sensitive" in the API will not 3545 // be included in the string output. The member name will be present, but the 3546 // value will be replaced with "sensitive". 3547 func (s DeregisterResourceInput) String() string { 3548 return awsutil.Prettify(s) 3549 } 3550 3551 // GoString returns the string representation. 3552 // 3553 // API parameter values that are decorated as "sensitive" in the API will not 3554 // be included in the string output. The member name will be present, but the 3555 // value will be replaced with "sensitive". 3556 func (s DeregisterResourceInput) GoString() string { 3557 return s.String() 3558 } 3559 3560 // Validate inspects the fields of the type to determine if they are valid. 3561 func (s *DeregisterResourceInput) Validate() error { 3562 invalidParams := request.ErrInvalidParams{Context: "DeregisterResourceInput"} 3563 if s.ResourceArn == nil { 3564 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 3565 } 3566 3567 if invalidParams.Len() > 0 { 3568 return invalidParams 3569 } 3570 return nil 3571 } 3572 3573 // SetResourceArn sets the ResourceArn field's value. 3574 func (s *DeregisterResourceInput) SetResourceArn(v string) *DeregisterResourceInput { 3575 s.ResourceArn = &v 3576 return s 3577 } 3578 3579 type DeregisterResourceOutput struct { 3580 _ struct{} `type:"structure"` 3581 } 3582 3583 // String returns the string representation. 3584 // 3585 // API parameter values that are decorated as "sensitive" in the API will not 3586 // be included in the string output. The member name will be present, but the 3587 // value will be replaced with "sensitive". 3588 func (s DeregisterResourceOutput) String() string { 3589 return awsutil.Prettify(s) 3590 } 3591 3592 // GoString returns the string representation. 3593 // 3594 // API parameter values that are decorated as "sensitive" in the API will not 3595 // be included in the string output. The member name will be present, but the 3596 // value will be replaced with "sensitive". 3597 func (s DeregisterResourceOutput) GoString() string { 3598 return s.String() 3599 } 3600 3601 type DescribeResourceInput struct { 3602 _ struct{} `type:"structure"` 3603 3604 // The resource ARN. 3605 // 3606 // ResourceArn is a required field 3607 ResourceArn *string `type:"string" required:"true"` 3608 } 3609 3610 // String returns the string representation. 3611 // 3612 // API parameter values that are decorated as "sensitive" in the API will not 3613 // be included in the string output. The member name will be present, but the 3614 // value will be replaced with "sensitive". 3615 func (s DescribeResourceInput) String() string { 3616 return awsutil.Prettify(s) 3617 } 3618 3619 // GoString returns the string representation. 3620 // 3621 // API parameter values that are decorated as "sensitive" in the API will not 3622 // be included in the string output. The member name will be present, but the 3623 // value will be replaced with "sensitive". 3624 func (s DescribeResourceInput) GoString() string { 3625 return s.String() 3626 } 3627 3628 // Validate inspects the fields of the type to determine if they are valid. 3629 func (s *DescribeResourceInput) Validate() error { 3630 invalidParams := request.ErrInvalidParams{Context: "DescribeResourceInput"} 3631 if s.ResourceArn == nil { 3632 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 3633 } 3634 3635 if invalidParams.Len() > 0 { 3636 return invalidParams 3637 } 3638 return nil 3639 } 3640 3641 // SetResourceArn sets the ResourceArn field's value. 3642 func (s *DescribeResourceInput) SetResourceArn(v string) *DescribeResourceInput { 3643 s.ResourceArn = &v 3644 return s 3645 } 3646 3647 type DescribeResourceOutput struct { 3648 _ struct{} `type:"structure"` 3649 3650 // A structure containing information about an AWS Lake Formation resource. 3651 ResourceInfo *ResourceInfo `type:"structure"` 3652 } 3653 3654 // String returns the string representation. 3655 // 3656 // API parameter values that are decorated as "sensitive" in the API will not 3657 // be included in the string output. The member name will be present, but the 3658 // value will be replaced with "sensitive". 3659 func (s DescribeResourceOutput) String() string { 3660 return awsutil.Prettify(s) 3661 } 3662 3663 // GoString returns the string representation. 3664 // 3665 // API parameter values that are decorated as "sensitive" in the API will not 3666 // be included in the string output. The member name will be present, but the 3667 // value will be replaced with "sensitive". 3668 func (s DescribeResourceOutput) GoString() string { 3669 return s.String() 3670 } 3671 3672 // SetResourceInfo sets the ResourceInfo field's value. 3673 func (s *DescribeResourceOutput) SetResourceInfo(v *ResourceInfo) *DescribeResourceOutput { 3674 s.ResourceInfo = v 3675 return s 3676 } 3677 3678 // A structure containing the additional details to be returned in the AdditionalDetails 3679 // attribute of PrincipalResourcePermissions. 3680 // 3681 // If a catalog resource is shared through AWS Resource Access Manager (AWS 3682 // RAM), then there will exist a corresponding RAM resource share ARN. 3683 type DetailsMap struct { 3684 _ struct{} `type:"structure"` 3685 3686 // A resource share ARN for a catalog resource shared through AWS Resource Access 3687 // Manager (AWS RAM). 3688 ResourceShare []*string `type:"list"` 3689 } 3690 3691 // String returns the string representation. 3692 // 3693 // API parameter values that are decorated as "sensitive" in the API will not 3694 // be included in the string output. The member name will be present, but the 3695 // value will be replaced with "sensitive". 3696 func (s DetailsMap) String() string { 3697 return awsutil.Prettify(s) 3698 } 3699 3700 // GoString returns the string representation. 3701 // 3702 // API parameter values that are decorated as "sensitive" in the API will not 3703 // be included in the string output. The member name will be present, but the 3704 // value will be replaced with "sensitive". 3705 func (s DetailsMap) GoString() string { 3706 return s.String() 3707 } 3708 3709 // SetResourceShare sets the ResourceShare field's value. 3710 func (s *DetailsMap) SetResourceShare(v []*string) *DetailsMap { 3711 s.ResourceShare = v 3712 return s 3713 } 3714 3715 // A specified entity does not exist 3716 type EntityNotFoundException struct { 3717 _ struct{} `type:"structure"` 3718 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 3719 3720 // A message describing the problem. 3721 Message_ *string `locationName:"Message" type:"string"` 3722 } 3723 3724 // String returns the string representation. 3725 // 3726 // API parameter values that are decorated as "sensitive" in the API will not 3727 // be included in the string output. The member name will be present, but the 3728 // value will be replaced with "sensitive". 3729 func (s EntityNotFoundException) String() string { 3730 return awsutil.Prettify(s) 3731 } 3732 3733 // GoString returns the string representation. 3734 // 3735 // API parameter values that are decorated as "sensitive" in the API will not 3736 // be included in the string output. The member name will be present, but the 3737 // value will be replaced with "sensitive". 3738 func (s EntityNotFoundException) GoString() string { 3739 return s.String() 3740 } 3741 3742 func newErrorEntityNotFoundException(v protocol.ResponseMetadata) error { 3743 return &EntityNotFoundException{ 3744 RespMetadata: v, 3745 } 3746 } 3747 3748 // Code returns the exception type name. 3749 func (s *EntityNotFoundException) Code() string { 3750 return "EntityNotFoundException" 3751 } 3752 3753 // Message returns the exception's message. 3754 func (s *EntityNotFoundException) Message() string { 3755 if s.Message_ != nil { 3756 return *s.Message_ 3757 } 3758 return "" 3759 } 3760 3761 // OrigErr always returns nil, satisfies awserr.Error interface. 3762 func (s *EntityNotFoundException) OrigErr() error { 3763 return nil 3764 } 3765 3766 func (s *EntityNotFoundException) Error() string { 3767 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 3768 } 3769 3770 // Status code returns the HTTP status code for the request's response error. 3771 func (s *EntityNotFoundException) StatusCode() int { 3772 return s.RespMetadata.StatusCode 3773 } 3774 3775 // RequestID returns the service's response RequestID for request. 3776 func (s *EntityNotFoundException) RequestID() string { 3777 return s.RespMetadata.RequestID 3778 } 3779 3780 // Contains details about an error. 3781 type ErrorDetail struct { 3782 _ struct{} `type:"structure"` 3783 3784 // The code associated with this error. 3785 ErrorCode *string `min:"1" type:"string"` 3786 3787 // A message describing the error. 3788 ErrorMessage *string `type:"string"` 3789 } 3790 3791 // String returns the string representation. 3792 // 3793 // API parameter values that are decorated as "sensitive" in the API will not 3794 // be included in the string output. The member name will be present, but the 3795 // value will be replaced with "sensitive". 3796 func (s ErrorDetail) String() string { 3797 return awsutil.Prettify(s) 3798 } 3799 3800 // GoString returns the string representation. 3801 // 3802 // API parameter values that are decorated as "sensitive" in the API will not 3803 // be included in the string output. The member name will be present, but the 3804 // value will be replaced with "sensitive". 3805 func (s ErrorDetail) GoString() string { 3806 return s.String() 3807 } 3808 3809 // SetErrorCode sets the ErrorCode field's value. 3810 func (s *ErrorDetail) SetErrorCode(v string) *ErrorDetail { 3811 s.ErrorCode = &v 3812 return s 3813 } 3814 3815 // SetErrorMessage sets the ErrorMessage field's value. 3816 func (s *ErrorDetail) SetErrorMessage(v string) *ErrorDetail { 3817 s.ErrorMessage = &v 3818 return s 3819 } 3820 3821 // This structure describes the filtering of columns in a table based on a filter 3822 // condition. 3823 type FilterCondition struct { 3824 _ struct{} `type:"structure"` 3825 3826 // The comparison operator used in the filter condition. 3827 ComparisonOperator *string `type:"string" enum:"ComparisonOperator"` 3828 3829 // The field to filter in the filter condition. 3830 Field *string `type:"string" enum:"FieldNameString"` 3831 3832 // A string with values used in evaluating the filter condition. 3833 StringValueList []*string `type:"list"` 3834 } 3835 3836 // String returns the string representation. 3837 // 3838 // API parameter values that are decorated as "sensitive" in the API will not 3839 // be included in the string output. The member name will be present, but the 3840 // value will be replaced with "sensitive". 3841 func (s FilterCondition) String() string { 3842 return awsutil.Prettify(s) 3843 } 3844 3845 // GoString returns the string representation. 3846 // 3847 // API parameter values that are decorated as "sensitive" in the API will not 3848 // be included in the string output. The member name will be present, but the 3849 // value will be replaced with "sensitive". 3850 func (s FilterCondition) GoString() string { 3851 return s.String() 3852 } 3853 3854 // SetComparisonOperator sets the ComparisonOperator field's value. 3855 func (s *FilterCondition) SetComparisonOperator(v string) *FilterCondition { 3856 s.ComparisonOperator = &v 3857 return s 3858 } 3859 3860 // SetField sets the Field field's value. 3861 func (s *FilterCondition) SetField(v string) *FilterCondition { 3862 s.Field = &v 3863 return s 3864 } 3865 3866 // SetStringValueList sets the StringValueList field's value. 3867 func (s *FilterCondition) SetStringValueList(v []*string) *FilterCondition { 3868 s.StringValueList = v 3869 return s 3870 } 3871 3872 type GetDataLakeSettingsInput struct { 3873 _ struct{} `type:"structure"` 3874 3875 // The identifier for the Data Catalog. By default, the account ID. The Data 3876 // Catalog is the persistent metadata store. It contains database definitions, 3877 // table definitions, and other control information to manage your AWS Lake 3878 // Formation environment. 3879 CatalogId *string `min:"1" type:"string"` 3880 } 3881 3882 // String returns the string representation. 3883 // 3884 // API parameter values that are decorated as "sensitive" in the API will not 3885 // be included in the string output. The member name will be present, but the 3886 // value will be replaced with "sensitive". 3887 func (s GetDataLakeSettingsInput) String() string { 3888 return awsutil.Prettify(s) 3889 } 3890 3891 // GoString returns the string representation. 3892 // 3893 // API parameter values that are decorated as "sensitive" in the API will not 3894 // be included in the string output. The member name will be present, but the 3895 // value will be replaced with "sensitive". 3896 func (s GetDataLakeSettingsInput) GoString() string { 3897 return s.String() 3898 } 3899 3900 // Validate inspects the fields of the type to determine if they are valid. 3901 func (s *GetDataLakeSettingsInput) Validate() error { 3902 invalidParams := request.ErrInvalidParams{Context: "GetDataLakeSettingsInput"} 3903 if s.CatalogId != nil && len(*s.CatalogId) < 1 { 3904 invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) 3905 } 3906 3907 if invalidParams.Len() > 0 { 3908 return invalidParams 3909 } 3910 return nil 3911 } 3912 3913 // SetCatalogId sets the CatalogId field's value. 3914 func (s *GetDataLakeSettingsInput) SetCatalogId(v string) *GetDataLakeSettingsInput { 3915 s.CatalogId = &v 3916 return s 3917 } 3918 3919 type GetDataLakeSettingsOutput struct { 3920 _ struct{} `type:"structure"` 3921 3922 // A structure representing a list of AWS Lake Formation principals designated 3923 // as data lake administrators. 3924 DataLakeSettings *DataLakeSettings `type:"structure"` 3925 } 3926 3927 // String returns the string representation. 3928 // 3929 // API parameter values that are decorated as "sensitive" in the API will not 3930 // be included in the string output. The member name will be present, but the 3931 // value will be replaced with "sensitive". 3932 func (s GetDataLakeSettingsOutput) String() string { 3933 return awsutil.Prettify(s) 3934 } 3935 3936 // GoString returns the string representation. 3937 // 3938 // API parameter values that are decorated as "sensitive" in the API will not 3939 // be included in the string output. The member name will be present, but the 3940 // value will be replaced with "sensitive". 3941 func (s GetDataLakeSettingsOutput) GoString() string { 3942 return s.String() 3943 } 3944 3945 // SetDataLakeSettings sets the DataLakeSettings field's value. 3946 func (s *GetDataLakeSettingsOutput) SetDataLakeSettings(v *DataLakeSettings) *GetDataLakeSettingsOutput { 3947 s.DataLakeSettings = v 3948 return s 3949 } 3950 3951 type GetEffectivePermissionsForPathInput struct { 3952 _ struct{} `type:"structure"` 3953 3954 // The identifier for the Data Catalog. By default, the account ID. The Data 3955 // Catalog is the persistent metadata store. It contains database definitions, 3956 // table definitions, and other control information to manage your AWS Lake 3957 // Formation environment. 3958 CatalogId *string `min:"1" type:"string"` 3959 3960 // The maximum number of results to return. 3961 MaxResults *int64 `min:"1" type:"integer"` 3962 3963 // A continuation token, if this is not the first call to retrieve this list. 3964 NextToken *string `type:"string"` 3965 3966 // The Amazon Resource Name (ARN) of the resource for which you want to get 3967 // permissions. 3968 // 3969 // ResourceArn is a required field 3970 ResourceArn *string `type:"string" required:"true"` 3971 } 3972 3973 // String returns the string representation. 3974 // 3975 // API parameter values that are decorated as "sensitive" in the API will not 3976 // be included in the string output. The member name will be present, but the 3977 // value will be replaced with "sensitive". 3978 func (s GetEffectivePermissionsForPathInput) String() string { 3979 return awsutil.Prettify(s) 3980 } 3981 3982 // GoString returns the string representation. 3983 // 3984 // API parameter values that are decorated as "sensitive" in the API will not 3985 // be included in the string output. The member name will be present, but the 3986 // value will be replaced with "sensitive". 3987 func (s GetEffectivePermissionsForPathInput) GoString() string { 3988 return s.String() 3989 } 3990 3991 // Validate inspects the fields of the type to determine if they are valid. 3992 func (s *GetEffectivePermissionsForPathInput) Validate() error { 3993 invalidParams := request.ErrInvalidParams{Context: "GetEffectivePermissionsForPathInput"} 3994 if s.CatalogId != nil && len(*s.CatalogId) < 1 { 3995 invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) 3996 } 3997 if s.MaxResults != nil && *s.MaxResults < 1 { 3998 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 3999 } 4000 if s.ResourceArn == nil { 4001 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 4002 } 4003 4004 if invalidParams.Len() > 0 { 4005 return invalidParams 4006 } 4007 return nil 4008 } 4009 4010 // SetCatalogId sets the CatalogId field's value. 4011 func (s *GetEffectivePermissionsForPathInput) SetCatalogId(v string) *GetEffectivePermissionsForPathInput { 4012 s.CatalogId = &v 4013 return s 4014 } 4015 4016 // SetMaxResults sets the MaxResults field's value. 4017 func (s *GetEffectivePermissionsForPathInput) SetMaxResults(v int64) *GetEffectivePermissionsForPathInput { 4018 s.MaxResults = &v 4019 return s 4020 } 4021 4022 // SetNextToken sets the NextToken field's value. 4023 func (s *GetEffectivePermissionsForPathInput) SetNextToken(v string) *GetEffectivePermissionsForPathInput { 4024 s.NextToken = &v 4025 return s 4026 } 4027 4028 // SetResourceArn sets the ResourceArn field's value. 4029 func (s *GetEffectivePermissionsForPathInput) SetResourceArn(v string) *GetEffectivePermissionsForPathInput { 4030 s.ResourceArn = &v 4031 return s 4032 } 4033 4034 type GetEffectivePermissionsForPathOutput struct { 4035 _ struct{} `type:"structure"` 4036 4037 // A continuation token, if this is not the first call to retrieve this list. 4038 NextToken *string `type:"string"` 4039 4040 // A list of the permissions for the specified table or database resource located 4041 // at the path in Amazon S3. 4042 Permissions []*PrincipalResourcePermissions `type:"list"` 4043 } 4044 4045 // String returns the string representation. 4046 // 4047 // API parameter values that are decorated as "sensitive" in the API will not 4048 // be included in the string output. The member name will be present, but the 4049 // value will be replaced with "sensitive". 4050 func (s GetEffectivePermissionsForPathOutput) String() string { 4051 return awsutil.Prettify(s) 4052 } 4053 4054 // GoString returns the string representation. 4055 // 4056 // API parameter values that are decorated as "sensitive" in the API will not 4057 // be included in the string output. The member name will be present, but the 4058 // value will be replaced with "sensitive". 4059 func (s GetEffectivePermissionsForPathOutput) GoString() string { 4060 return s.String() 4061 } 4062 4063 // SetNextToken sets the NextToken field's value. 4064 func (s *GetEffectivePermissionsForPathOutput) SetNextToken(v string) *GetEffectivePermissionsForPathOutput { 4065 s.NextToken = &v 4066 return s 4067 } 4068 4069 // SetPermissions sets the Permissions field's value. 4070 func (s *GetEffectivePermissionsForPathOutput) SetPermissions(v []*PrincipalResourcePermissions) *GetEffectivePermissionsForPathOutput { 4071 s.Permissions = v 4072 return s 4073 } 4074 4075 type GetLFTagInput struct { 4076 _ struct{} `type:"structure"` 4077 4078 // The identifier for the Data Catalog. By default, the account ID. The Data 4079 // Catalog is the persistent metadata store. It contains database definitions, 4080 // table definitions, and other control information to manage your AWS Lake 4081 // Formation environment. 4082 CatalogId *string `min:"1" type:"string"` 4083 4084 // The key-name for the tag. 4085 // 4086 // TagKey is a required field 4087 TagKey *string `min:"1" type:"string" required:"true"` 4088 } 4089 4090 // String returns the string representation. 4091 // 4092 // API parameter values that are decorated as "sensitive" in the API will not 4093 // be included in the string output. The member name will be present, but the 4094 // value will be replaced with "sensitive". 4095 func (s GetLFTagInput) String() string { 4096 return awsutil.Prettify(s) 4097 } 4098 4099 // GoString returns the string representation. 4100 // 4101 // API parameter values that are decorated as "sensitive" in the API will not 4102 // be included in the string output. The member name will be present, but the 4103 // value will be replaced with "sensitive". 4104 func (s GetLFTagInput) GoString() string { 4105 return s.String() 4106 } 4107 4108 // Validate inspects the fields of the type to determine if they are valid. 4109 func (s *GetLFTagInput) Validate() error { 4110 invalidParams := request.ErrInvalidParams{Context: "GetLFTagInput"} 4111 if s.CatalogId != nil && len(*s.CatalogId) < 1 { 4112 invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) 4113 } 4114 if s.TagKey == nil { 4115 invalidParams.Add(request.NewErrParamRequired("TagKey")) 4116 } 4117 if s.TagKey != nil && len(*s.TagKey) < 1 { 4118 invalidParams.Add(request.NewErrParamMinLen("TagKey", 1)) 4119 } 4120 4121 if invalidParams.Len() > 0 { 4122 return invalidParams 4123 } 4124 return nil 4125 } 4126 4127 // SetCatalogId sets the CatalogId field's value. 4128 func (s *GetLFTagInput) SetCatalogId(v string) *GetLFTagInput { 4129 s.CatalogId = &v 4130 return s 4131 } 4132 4133 // SetTagKey sets the TagKey field's value. 4134 func (s *GetLFTagInput) SetTagKey(v string) *GetLFTagInput { 4135 s.TagKey = &v 4136 return s 4137 } 4138 4139 type GetLFTagOutput struct { 4140 _ struct{} `type:"structure"` 4141 4142 // The identifier for the Data Catalog. By default, the account ID. The Data 4143 // Catalog is the persistent metadata store. It contains database definitions, 4144 // table definitions, and other control information to manage your AWS Lake 4145 // Formation environment. 4146 CatalogId *string `min:"1" type:"string"` 4147 4148 // The key-name for the tag. 4149 TagKey *string `min:"1" type:"string"` 4150 4151 // A list of possible values an attribute can take. 4152 TagValues []*string `min:"1" type:"list"` 4153 } 4154 4155 // String returns the string representation. 4156 // 4157 // API parameter values that are decorated as "sensitive" in the API will not 4158 // be included in the string output. The member name will be present, but the 4159 // value will be replaced with "sensitive". 4160 func (s GetLFTagOutput) String() string { 4161 return awsutil.Prettify(s) 4162 } 4163 4164 // GoString returns the string representation. 4165 // 4166 // API parameter values that are decorated as "sensitive" in the API will not 4167 // be included in the string output. The member name will be present, but the 4168 // value will be replaced with "sensitive". 4169 func (s GetLFTagOutput) GoString() string { 4170 return s.String() 4171 } 4172 4173 // SetCatalogId sets the CatalogId field's value. 4174 func (s *GetLFTagOutput) SetCatalogId(v string) *GetLFTagOutput { 4175 s.CatalogId = &v 4176 return s 4177 } 4178 4179 // SetTagKey sets the TagKey field's value. 4180 func (s *GetLFTagOutput) SetTagKey(v string) *GetLFTagOutput { 4181 s.TagKey = &v 4182 return s 4183 } 4184 4185 // SetTagValues sets the TagValues field's value. 4186 func (s *GetLFTagOutput) SetTagValues(v []*string) *GetLFTagOutput { 4187 s.TagValues = v 4188 return s 4189 } 4190 4191 type GetResourceLFTagsInput struct { 4192 _ struct{} `type:"structure"` 4193 4194 // The identifier for the Data Catalog. By default, the account ID. The Data 4195 // Catalog is the persistent metadata store. It contains database definitions, 4196 // table definitions, and other control information to manage your AWS Lake 4197 // Formation environment. 4198 CatalogId *string `min:"1" type:"string"` 4199 4200 // The resource for which you want to return tags. 4201 // 4202 // Resource is a required field 4203 Resource *Resource `type:"structure" required:"true"` 4204 4205 // Indicates whether to show the assigned tags. 4206 ShowAssignedLFTags *bool `type:"boolean"` 4207 } 4208 4209 // String returns the string representation. 4210 // 4211 // API parameter values that are decorated as "sensitive" in the API will not 4212 // be included in the string output. The member name will be present, but the 4213 // value will be replaced with "sensitive". 4214 func (s GetResourceLFTagsInput) String() string { 4215 return awsutil.Prettify(s) 4216 } 4217 4218 // GoString returns the string representation. 4219 // 4220 // API parameter values that are decorated as "sensitive" in the API will not 4221 // be included in the string output. The member name will be present, but the 4222 // value will be replaced with "sensitive". 4223 func (s GetResourceLFTagsInput) GoString() string { 4224 return s.String() 4225 } 4226 4227 // Validate inspects the fields of the type to determine if they are valid. 4228 func (s *GetResourceLFTagsInput) Validate() error { 4229 invalidParams := request.ErrInvalidParams{Context: "GetResourceLFTagsInput"} 4230 if s.CatalogId != nil && len(*s.CatalogId) < 1 { 4231 invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) 4232 } 4233 if s.Resource == nil { 4234 invalidParams.Add(request.NewErrParamRequired("Resource")) 4235 } 4236 if s.Resource != nil { 4237 if err := s.Resource.Validate(); err != nil { 4238 invalidParams.AddNested("Resource", err.(request.ErrInvalidParams)) 4239 } 4240 } 4241 4242 if invalidParams.Len() > 0 { 4243 return invalidParams 4244 } 4245 return nil 4246 } 4247 4248 // SetCatalogId sets the CatalogId field's value. 4249 func (s *GetResourceLFTagsInput) SetCatalogId(v string) *GetResourceLFTagsInput { 4250 s.CatalogId = &v 4251 return s 4252 } 4253 4254 // SetResource sets the Resource field's value. 4255 func (s *GetResourceLFTagsInput) SetResource(v *Resource) *GetResourceLFTagsInput { 4256 s.Resource = v 4257 return s 4258 } 4259 4260 // SetShowAssignedLFTags sets the ShowAssignedLFTags field's value. 4261 func (s *GetResourceLFTagsInput) SetShowAssignedLFTags(v bool) *GetResourceLFTagsInput { 4262 s.ShowAssignedLFTags = &v 4263 return s 4264 } 4265 4266 type GetResourceLFTagsOutput struct { 4267 _ struct{} `type:"structure"` 4268 4269 // A list of tags applied to a database resource. 4270 LFTagOnDatabase []*LFTagPair `min:"1" type:"list"` 4271 4272 // A list of tags applied to a column resource. 4273 LFTagsOnColumns []*ColumnLFTag `type:"list"` 4274 4275 // A list of tags applied to a table resource. 4276 LFTagsOnTable []*LFTagPair `min:"1" type:"list"` 4277 } 4278 4279 // String returns the string representation. 4280 // 4281 // API parameter values that are decorated as "sensitive" in the API will not 4282 // be included in the string output. The member name will be present, but the 4283 // value will be replaced with "sensitive". 4284 func (s GetResourceLFTagsOutput) String() string { 4285 return awsutil.Prettify(s) 4286 } 4287 4288 // GoString returns the string representation. 4289 // 4290 // API parameter values that are decorated as "sensitive" in the API will not 4291 // be included in the string output. The member name will be present, but the 4292 // value will be replaced with "sensitive". 4293 func (s GetResourceLFTagsOutput) GoString() string { 4294 return s.String() 4295 } 4296 4297 // SetLFTagOnDatabase sets the LFTagOnDatabase field's value. 4298 func (s *GetResourceLFTagsOutput) SetLFTagOnDatabase(v []*LFTagPair) *GetResourceLFTagsOutput { 4299 s.LFTagOnDatabase = v 4300 return s 4301 } 4302 4303 // SetLFTagsOnColumns sets the LFTagsOnColumns field's value. 4304 func (s *GetResourceLFTagsOutput) SetLFTagsOnColumns(v []*ColumnLFTag) *GetResourceLFTagsOutput { 4305 s.LFTagsOnColumns = v 4306 return s 4307 } 4308 4309 // SetLFTagsOnTable sets the LFTagsOnTable field's value. 4310 func (s *GetResourceLFTagsOutput) SetLFTagsOnTable(v []*LFTagPair) *GetResourceLFTagsOutput { 4311 s.LFTagsOnTable = v 4312 return s 4313 } 4314 4315 // An encryption operation failed. 4316 type GlueEncryptionException struct { 4317 _ struct{} `type:"structure"` 4318 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4319 4320 // A message describing the problem. 4321 Message_ *string `locationName:"Message" type:"string"` 4322 } 4323 4324 // String returns the string representation. 4325 // 4326 // API parameter values that are decorated as "sensitive" in the API will not 4327 // be included in the string output. The member name will be present, but the 4328 // value will be replaced with "sensitive". 4329 func (s GlueEncryptionException) String() string { 4330 return awsutil.Prettify(s) 4331 } 4332 4333 // GoString returns the string representation. 4334 // 4335 // API parameter values that are decorated as "sensitive" in the API will not 4336 // be included in the string output. The member name will be present, but the 4337 // value will be replaced with "sensitive". 4338 func (s GlueEncryptionException) GoString() string { 4339 return s.String() 4340 } 4341 4342 func newErrorGlueEncryptionException(v protocol.ResponseMetadata) error { 4343 return &GlueEncryptionException{ 4344 RespMetadata: v, 4345 } 4346 } 4347 4348 // Code returns the exception type name. 4349 func (s *GlueEncryptionException) Code() string { 4350 return "GlueEncryptionException" 4351 } 4352 4353 // Message returns the exception's message. 4354 func (s *GlueEncryptionException) Message() string { 4355 if s.Message_ != nil { 4356 return *s.Message_ 4357 } 4358 return "" 4359 } 4360 4361 // OrigErr always returns nil, satisfies awserr.Error interface. 4362 func (s *GlueEncryptionException) OrigErr() error { 4363 return nil 4364 } 4365 4366 func (s *GlueEncryptionException) Error() string { 4367 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 4368 } 4369 4370 // Status code returns the HTTP status code for the request's response error. 4371 func (s *GlueEncryptionException) StatusCode() int { 4372 return s.RespMetadata.StatusCode 4373 } 4374 4375 // RequestID returns the service's response RequestID for request. 4376 func (s *GlueEncryptionException) RequestID() string { 4377 return s.RespMetadata.RequestID 4378 } 4379 4380 type GrantPermissionsInput struct { 4381 _ struct{} `type:"structure"` 4382 4383 // The identifier for the Data Catalog. By default, the account ID. The Data 4384 // Catalog is the persistent metadata store. It contains database definitions, 4385 // table definitions, and other control information to manage your AWS Lake 4386 // Formation environment. 4387 CatalogId *string `min:"1" type:"string"` 4388 4389 // The permissions granted to the principal on the resource. AWS Lake Formation 4390 // defines privileges to grant and revoke access to metadata in the Data Catalog 4391 // and data organized in underlying data storage such as Amazon S3. AWS Lake 4392 // Formation requires that each principal be authorized to perform a specific 4393 // task on AWS Lake Formation resources. 4394 // 4395 // Permissions is a required field 4396 Permissions []*string `type:"list" required:"true"` 4397 4398 // Indicates a list of the granted permissions that the principal may pass to 4399 // other users. These permissions may only be a subset of the permissions granted 4400 // in the Privileges. 4401 PermissionsWithGrantOption []*string `type:"list"` 4402 4403 // The principal to be granted the permissions on the resource. Supported principals 4404 // are IAM users or IAM roles, and they are defined by their principal type 4405 // and their ARN. 4406 // 4407 // Note that if you define a resource with a particular ARN, then later delete, 4408 // and recreate a resource with that same ARN, the resource maintains the permissions 4409 // already granted. 4410 // 4411 // Principal is a required field 4412 Principal *DataLakePrincipal `type:"structure" required:"true"` 4413 4414 // The resource to which permissions are to be granted. Resources in AWS Lake 4415 // Formation are the Data Catalog, databases, and tables. 4416 // 4417 // Resource is a required field 4418 Resource *Resource `type:"structure" required:"true"` 4419 } 4420 4421 // String returns the string representation. 4422 // 4423 // API parameter values that are decorated as "sensitive" in the API will not 4424 // be included in the string output. The member name will be present, but the 4425 // value will be replaced with "sensitive". 4426 func (s GrantPermissionsInput) String() string { 4427 return awsutil.Prettify(s) 4428 } 4429 4430 // GoString returns the string representation. 4431 // 4432 // API parameter values that are decorated as "sensitive" in the API will not 4433 // be included in the string output. The member name will be present, but the 4434 // value will be replaced with "sensitive". 4435 func (s GrantPermissionsInput) GoString() string { 4436 return s.String() 4437 } 4438 4439 // Validate inspects the fields of the type to determine if they are valid. 4440 func (s *GrantPermissionsInput) Validate() error { 4441 invalidParams := request.ErrInvalidParams{Context: "GrantPermissionsInput"} 4442 if s.CatalogId != nil && len(*s.CatalogId) < 1 { 4443 invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) 4444 } 4445 if s.Permissions == nil { 4446 invalidParams.Add(request.NewErrParamRequired("Permissions")) 4447 } 4448 if s.Principal == nil { 4449 invalidParams.Add(request.NewErrParamRequired("Principal")) 4450 } 4451 if s.Resource == nil { 4452 invalidParams.Add(request.NewErrParamRequired("Resource")) 4453 } 4454 if s.Principal != nil { 4455 if err := s.Principal.Validate(); err != nil { 4456 invalidParams.AddNested("Principal", err.(request.ErrInvalidParams)) 4457 } 4458 } 4459 if s.Resource != nil { 4460 if err := s.Resource.Validate(); err != nil { 4461 invalidParams.AddNested("Resource", err.(request.ErrInvalidParams)) 4462 } 4463 } 4464 4465 if invalidParams.Len() > 0 { 4466 return invalidParams 4467 } 4468 return nil 4469 } 4470 4471 // SetCatalogId sets the CatalogId field's value. 4472 func (s *GrantPermissionsInput) SetCatalogId(v string) *GrantPermissionsInput { 4473 s.CatalogId = &v 4474 return s 4475 } 4476 4477 // SetPermissions sets the Permissions field's value. 4478 func (s *GrantPermissionsInput) SetPermissions(v []*string) *GrantPermissionsInput { 4479 s.Permissions = v 4480 return s 4481 } 4482 4483 // SetPermissionsWithGrantOption sets the PermissionsWithGrantOption field's value. 4484 func (s *GrantPermissionsInput) SetPermissionsWithGrantOption(v []*string) *GrantPermissionsInput { 4485 s.PermissionsWithGrantOption = v 4486 return s 4487 } 4488 4489 // SetPrincipal sets the Principal field's value. 4490 func (s *GrantPermissionsInput) SetPrincipal(v *DataLakePrincipal) *GrantPermissionsInput { 4491 s.Principal = v 4492 return s 4493 } 4494 4495 // SetResource sets the Resource field's value. 4496 func (s *GrantPermissionsInput) SetResource(v *Resource) *GrantPermissionsInput { 4497 s.Resource = v 4498 return s 4499 } 4500 4501 type GrantPermissionsOutput struct { 4502 _ struct{} `type:"structure"` 4503 } 4504 4505 // String returns the string representation. 4506 // 4507 // API parameter values that are decorated as "sensitive" in the API will not 4508 // be included in the string output. The member name will be present, but the 4509 // value will be replaced with "sensitive". 4510 func (s GrantPermissionsOutput) String() string { 4511 return awsutil.Prettify(s) 4512 } 4513 4514 // GoString returns the string representation. 4515 // 4516 // API parameter values that are decorated as "sensitive" in the API will not 4517 // be included in the string output. The member name will be present, but the 4518 // value will be replaced with "sensitive". 4519 func (s GrantPermissionsOutput) GoString() string { 4520 return s.String() 4521 } 4522 4523 // An internal service error occurred. 4524 type InternalServiceException struct { 4525 _ struct{} `type:"structure"` 4526 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4527 4528 // A message describing the problem. 4529 Message_ *string `locationName:"Message" type:"string"` 4530 } 4531 4532 // String returns the string representation. 4533 // 4534 // API parameter values that are decorated as "sensitive" in the API will not 4535 // be included in the string output. The member name will be present, but the 4536 // value will be replaced with "sensitive". 4537 func (s InternalServiceException) String() string { 4538 return awsutil.Prettify(s) 4539 } 4540 4541 // GoString returns the string representation. 4542 // 4543 // API parameter values that are decorated as "sensitive" in the API will not 4544 // be included in the string output. The member name will be present, but the 4545 // value will be replaced with "sensitive". 4546 func (s InternalServiceException) GoString() string { 4547 return s.String() 4548 } 4549 4550 func newErrorInternalServiceException(v protocol.ResponseMetadata) error { 4551 return &InternalServiceException{ 4552 RespMetadata: v, 4553 } 4554 } 4555 4556 // Code returns the exception type name. 4557 func (s *InternalServiceException) Code() string { 4558 return "InternalServiceException" 4559 } 4560 4561 // Message returns the exception's message. 4562 func (s *InternalServiceException) Message() string { 4563 if s.Message_ != nil { 4564 return *s.Message_ 4565 } 4566 return "" 4567 } 4568 4569 // OrigErr always returns nil, satisfies awserr.Error interface. 4570 func (s *InternalServiceException) OrigErr() error { 4571 return nil 4572 } 4573 4574 func (s *InternalServiceException) Error() string { 4575 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 4576 } 4577 4578 // Status code returns the HTTP status code for the request's response error. 4579 func (s *InternalServiceException) StatusCode() int { 4580 return s.RespMetadata.StatusCode 4581 } 4582 4583 // RequestID returns the service's response RequestID for request. 4584 func (s *InternalServiceException) RequestID() string { 4585 return s.RespMetadata.RequestID 4586 } 4587 4588 // The input provided was not valid. 4589 type InvalidInputException struct { 4590 _ struct{} `type:"structure"` 4591 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4592 4593 // A message describing the problem. 4594 Message_ *string `locationName:"Message" type:"string"` 4595 } 4596 4597 // String returns the string representation. 4598 // 4599 // API parameter values that are decorated as "sensitive" in the API will not 4600 // be included in the string output. The member name will be present, but the 4601 // value will be replaced with "sensitive". 4602 func (s InvalidInputException) String() string { 4603 return awsutil.Prettify(s) 4604 } 4605 4606 // GoString returns the string representation. 4607 // 4608 // API parameter values that are decorated as "sensitive" in the API will not 4609 // be included in the string output. The member name will be present, but the 4610 // value will be replaced with "sensitive". 4611 func (s InvalidInputException) GoString() string { 4612 return s.String() 4613 } 4614 4615 func newErrorInvalidInputException(v protocol.ResponseMetadata) error { 4616 return &InvalidInputException{ 4617 RespMetadata: v, 4618 } 4619 } 4620 4621 // Code returns the exception type name. 4622 func (s *InvalidInputException) Code() string { 4623 return "InvalidInputException" 4624 } 4625 4626 // Message returns the exception's message. 4627 func (s *InvalidInputException) Message() string { 4628 if s.Message_ != nil { 4629 return *s.Message_ 4630 } 4631 return "" 4632 } 4633 4634 // OrigErr always returns nil, satisfies awserr.Error interface. 4635 func (s *InvalidInputException) OrigErr() error { 4636 return nil 4637 } 4638 4639 func (s *InvalidInputException) Error() string { 4640 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 4641 } 4642 4643 // Status code returns the HTTP status code for the request's response error. 4644 func (s *InvalidInputException) StatusCode() int { 4645 return s.RespMetadata.StatusCode 4646 } 4647 4648 // RequestID returns the service's response RequestID for request. 4649 func (s *InvalidInputException) RequestID() string { 4650 return s.RespMetadata.RequestID 4651 } 4652 4653 // A structure that allows an admin to grant user permissions on certain conditions. 4654 // For example, granting a role access to all columns not tagged 'PII' of tables 4655 // tagged 'Prod'. 4656 type LFTag struct { 4657 _ struct{} `type:"structure"` 4658 4659 // The key-name for the tag. 4660 // 4661 // TagKey is a required field 4662 TagKey *string `min:"1" type:"string" required:"true"` 4663 4664 // A list of possible values an attribute can take. 4665 // 4666 // TagValues is a required field 4667 TagValues []*string `min:"1" type:"list" required:"true"` 4668 } 4669 4670 // String returns the string representation. 4671 // 4672 // API parameter values that are decorated as "sensitive" in the API will not 4673 // be included in the string output. The member name will be present, but the 4674 // value will be replaced with "sensitive". 4675 func (s LFTag) String() string { 4676 return awsutil.Prettify(s) 4677 } 4678 4679 // GoString returns the string representation. 4680 // 4681 // API parameter values that are decorated as "sensitive" in the API will not 4682 // be included in the string output. The member name will be present, but the 4683 // value will be replaced with "sensitive". 4684 func (s LFTag) GoString() string { 4685 return s.String() 4686 } 4687 4688 // Validate inspects the fields of the type to determine if they are valid. 4689 func (s *LFTag) Validate() error { 4690 invalidParams := request.ErrInvalidParams{Context: "LFTag"} 4691 if s.TagKey == nil { 4692 invalidParams.Add(request.NewErrParamRequired("TagKey")) 4693 } 4694 if s.TagKey != nil && len(*s.TagKey) < 1 { 4695 invalidParams.Add(request.NewErrParamMinLen("TagKey", 1)) 4696 } 4697 if s.TagValues == nil { 4698 invalidParams.Add(request.NewErrParamRequired("TagValues")) 4699 } 4700 if s.TagValues != nil && len(s.TagValues) < 1 { 4701 invalidParams.Add(request.NewErrParamMinLen("TagValues", 1)) 4702 } 4703 4704 if invalidParams.Len() > 0 { 4705 return invalidParams 4706 } 4707 return nil 4708 } 4709 4710 // SetTagKey sets the TagKey field's value. 4711 func (s *LFTag) SetTagKey(v string) *LFTag { 4712 s.TagKey = &v 4713 return s 4714 } 4715 4716 // SetTagValues sets the TagValues field's value. 4717 func (s *LFTag) SetTagValues(v []*string) *LFTag { 4718 s.TagValues = v 4719 return s 4720 } 4721 4722 // A structure containing an error related to a TagResource or UnTagResource 4723 // operation. 4724 type LFTagError struct { 4725 _ struct{} `type:"structure"` 4726 4727 // An error that occurred with the attachment or detachment of the tag. 4728 Error *ErrorDetail `type:"structure"` 4729 4730 // The key-name of the tag. 4731 LFTag *LFTagPair `type:"structure"` 4732 } 4733 4734 // String returns the string representation. 4735 // 4736 // API parameter values that are decorated as "sensitive" in the API will not 4737 // be included in the string output. The member name will be present, but the 4738 // value will be replaced with "sensitive". 4739 func (s LFTagError) String() string { 4740 return awsutil.Prettify(s) 4741 } 4742 4743 // GoString returns the string representation. 4744 // 4745 // API parameter values that are decorated as "sensitive" in the API will not 4746 // be included in the string output. The member name will be present, but the 4747 // value will be replaced with "sensitive". 4748 func (s LFTagError) GoString() string { 4749 return s.String() 4750 } 4751 4752 // SetError sets the Error field's value. 4753 func (s *LFTagError) SetError(v *ErrorDetail) *LFTagError { 4754 s.Error = v 4755 return s 4756 } 4757 4758 // SetLFTag sets the LFTag field's value. 4759 func (s *LFTagError) SetLFTag(v *LFTagPair) *LFTagError { 4760 s.LFTag = v 4761 return s 4762 } 4763 4764 // A structure containing a tag key and values for a resource. 4765 type LFTagKeyResource struct { 4766 _ struct{} `type:"structure"` 4767 4768 // The identifier for the Data Catalog. By default, the account ID. The Data 4769 // Catalog is the persistent metadata store. It contains database definitions, 4770 // table definitions, and other control information to manage your AWS Lake 4771 // Formation environment. 4772 CatalogId *string `min:"1" type:"string"` 4773 4774 // The key-name for the tag. 4775 // 4776 // TagKey is a required field 4777 TagKey *string `min:"1" type:"string" required:"true"` 4778 4779 // A list of possible values an attribute can take. 4780 // 4781 // TagValues is a required field 4782 TagValues []*string `min:"1" type:"list" required:"true"` 4783 } 4784 4785 // String returns the string representation. 4786 // 4787 // API parameter values that are decorated as "sensitive" in the API will not 4788 // be included in the string output. The member name will be present, but the 4789 // value will be replaced with "sensitive". 4790 func (s LFTagKeyResource) String() string { 4791 return awsutil.Prettify(s) 4792 } 4793 4794 // GoString returns the string representation. 4795 // 4796 // API parameter values that are decorated as "sensitive" in the API will not 4797 // be included in the string output. The member name will be present, but the 4798 // value will be replaced with "sensitive". 4799 func (s LFTagKeyResource) GoString() string { 4800 return s.String() 4801 } 4802 4803 // Validate inspects the fields of the type to determine if they are valid. 4804 func (s *LFTagKeyResource) Validate() error { 4805 invalidParams := request.ErrInvalidParams{Context: "LFTagKeyResource"} 4806 if s.CatalogId != nil && len(*s.CatalogId) < 1 { 4807 invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) 4808 } 4809 if s.TagKey == nil { 4810 invalidParams.Add(request.NewErrParamRequired("TagKey")) 4811 } 4812 if s.TagKey != nil && len(*s.TagKey) < 1 { 4813 invalidParams.Add(request.NewErrParamMinLen("TagKey", 1)) 4814 } 4815 if s.TagValues == nil { 4816 invalidParams.Add(request.NewErrParamRequired("TagValues")) 4817 } 4818 if s.TagValues != nil && len(s.TagValues) < 1 { 4819 invalidParams.Add(request.NewErrParamMinLen("TagValues", 1)) 4820 } 4821 4822 if invalidParams.Len() > 0 { 4823 return invalidParams 4824 } 4825 return nil 4826 } 4827 4828 // SetCatalogId sets the CatalogId field's value. 4829 func (s *LFTagKeyResource) SetCatalogId(v string) *LFTagKeyResource { 4830 s.CatalogId = &v 4831 return s 4832 } 4833 4834 // SetTagKey sets the TagKey field's value. 4835 func (s *LFTagKeyResource) SetTagKey(v string) *LFTagKeyResource { 4836 s.TagKey = &v 4837 return s 4838 } 4839 4840 // SetTagValues sets the TagValues field's value. 4841 func (s *LFTagKeyResource) SetTagValues(v []*string) *LFTagKeyResource { 4842 s.TagValues = v 4843 return s 4844 } 4845 4846 // A structure containing a tag key-value pair. 4847 type LFTagPair struct { 4848 _ struct{} `type:"structure"` 4849 4850 // The identifier for the Data Catalog. By default, the account ID. The Data 4851 // Catalog is the persistent metadata store. It contains database definitions, 4852 // table definitions, and other control information to manage your AWS Lake 4853 // Formation environment. 4854 CatalogId *string `min:"1" type:"string"` 4855 4856 // The key-name for the tag. 4857 // 4858 // TagKey is a required field 4859 TagKey *string `min:"1" type:"string" required:"true"` 4860 4861 // A list of possible values an attribute can take. 4862 // 4863 // TagValues is a required field 4864 TagValues []*string `min:"1" type:"list" required:"true"` 4865 } 4866 4867 // String returns the string representation. 4868 // 4869 // API parameter values that are decorated as "sensitive" in the API will not 4870 // be included in the string output. The member name will be present, but the 4871 // value will be replaced with "sensitive". 4872 func (s LFTagPair) String() string { 4873 return awsutil.Prettify(s) 4874 } 4875 4876 // GoString returns the string representation. 4877 // 4878 // API parameter values that are decorated as "sensitive" in the API will not 4879 // be included in the string output. The member name will be present, but the 4880 // value will be replaced with "sensitive". 4881 func (s LFTagPair) GoString() string { 4882 return s.String() 4883 } 4884 4885 // Validate inspects the fields of the type to determine if they are valid. 4886 func (s *LFTagPair) Validate() error { 4887 invalidParams := request.ErrInvalidParams{Context: "LFTagPair"} 4888 if s.CatalogId != nil && len(*s.CatalogId) < 1 { 4889 invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) 4890 } 4891 if s.TagKey == nil { 4892 invalidParams.Add(request.NewErrParamRequired("TagKey")) 4893 } 4894 if s.TagKey != nil && len(*s.TagKey) < 1 { 4895 invalidParams.Add(request.NewErrParamMinLen("TagKey", 1)) 4896 } 4897 if s.TagValues == nil { 4898 invalidParams.Add(request.NewErrParamRequired("TagValues")) 4899 } 4900 if s.TagValues != nil && len(s.TagValues) < 1 { 4901 invalidParams.Add(request.NewErrParamMinLen("TagValues", 1)) 4902 } 4903 4904 if invalidParams.Len() > 0 { 4905 return invalidParams 4906 } 4907 return nil 4908 } 4909 4910 // SetCatalogId sets the CatalogId field's value. 4911 func (s *LFTagPair) SetCatalogId(v string) *LFTagPair { 4912 s.CatalogId = &v 4913 return s 4914 } 4915 4916 // SetTagKey sets the TagKey field's value. 4917 func (s *LFTagPair) SetTagKey(v string) *LFTagPair { 4918 s.TagKey = &v 4919 return s 4920 } 4921 4922 // SetTagValues sets the TagValues field's value. 4923 func (s *LFTagPair) SetTagValues(v []*string) *LFTagPair { 4924 s.TagValues = v 4925 return s 4926 } 4927 4928 // A structure containing a list of tag conditions that apply to a resource's 4929 // tag policy. 4930 type LFTagPolicyResource struct { 4931 _ struct{} `type:"structure"` 4932 4933 // The identifier for the Data Catalog. By default, the account ID. The Data 4934 // Catalog is the persistent metadata store. It contains database definitions, 4935 // table definitions, and other control information to manage your AWS Lake 4936 // Formation environment. 4937 CatalogId *string `min:"1" type:"string"` 4938 4939 // A list of tag conditions that apply to the resource's tag policy. 4940 // 4941 // Expression is a required field 4942 Expression []*LFTag `min:"1" type:"list" required:"true"` 4943 4944 // The resource type for which the tag policy applies. 4945 // 4946 // ResourceType is a required field 4947 ResourceType *string `type:"string" required:"true" enum:"ResourceType"` 4948 } 4949 4950 // String returns the string representation. 4951 // 4952 // API parameter values that are decorated as "sensitive" in the API will not 4953 // be included in the string output. The member name will be present, but the 4954 // value will be replaced with "sensitive". 4955 func (s LFTagPolicyResource) String() string { 4956 return awsutil.Prettify(s) 4957 } 4958 4959 // GoString returns the string representation. 4960 // 4961 // API parameter values that are decorated as "sensitive" in the API will not 4962 // be included in the string output. The member name will be present, but the 4963 // value will be replaced with "sensitive". 4964 func (s LFTagPolicyResource) GoString() string { 4965 return s.String() 4966 } 4967 4968 // Validate inspects the fields of the type to determine if they are valid. 4969 func (s *LFTagPolicyResource) Validate() error { 4970 invalidParams := request.ErrInvalidParams{Context: "LFTagPolicyResource"} 4971 if s.CatalogId != nil && len(*s.CatalogId) < 1 { 4972 invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) 4973 } 4974 if s.Expression == nil { 4975 invalidParams.Add(request.NewErrParamRequired("Expression")) 4976 } 4977 if s.Expression != nil && len(s.Expression) < 1 { 4978 invalidParams.Add(request.NewErrParamMinLen("Expression", 1)) 4979 } 4980 if s.ResourceType == nil { 4981 invalidParams.Add(request.NewErrParamRequired("ResourceType")) 4982 } 4983 if s.Expression != nil { 4984 for i, v := range s.Expression { 4985 if v == nil { 4986 continue 4987 } 4988 if err := v.Validate(); err != nil { 4989 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Expression", i), err.(request.ErrInvalidParams)) 4990 } 4991 } 4992 } 4993 4994 if invalidParams.Len() > 0 { 4995 return invalidParams 4996 } 4997 return nil 4998 } 4999 5000 // SetCatalogId sets the CatalogId field's value. 5001 func (s *LFTagPolicyResource) SetCatalogId(v string) *LFTagPolicyResource { 5002 s.CatalogId = &v 5003 return s 5004 } 5005 5006 // SetExpression sets the Expression field's value. 5007 func (s *LFTagPolicyResource) SetExpression(v []*LFTag) *LFTagPolicyResource { 5008 s.Expression = v 5009 return s 5010 } 5011 5012 // SetResourceType sets the ResourceType field's value. 5013 func (s *LFTagPolicyResource) SetResourceType(v string) *LFTagPolicyResource { 5014 s.ResourceType = &v 5015 return s 5016 } 5017 5018 type ListLFTagsInput struct { 5019 _ struct{} `type:"structure"` 5020 5021 // The identifier for the Data Catalog. By default, the account ID. The Data 5022 // Catalog is the persistent metadata store. It contains database definitions, 5023 // table definitions, and other control information to manage your AWS Lake 5024 // Formation environment. 5025 CatalogId *string `min:"1" type:"string"` 5026 5027 // The maximum number of results to return. 5028 MaxResults *int64 `min:"1" type:"integer"` 5029 5030 // A continuation token, if this is not the first call to retrieve this list. 5031 NextToken *string `type:"string"` 5032 5033 // If resource share type is ALL, returns both in-account tags and shared tags 5034 // that the requester has permission to view. If resource share type is FOREIGN, 5035 // returns all share tags that the requester can view. If no resource share 5036 // type is passed, lists tags in the given catalog ID that the requester has 5037 // permission to view. 5038 ResourceShareType *string `type:"string" enum:"ResourceShareType"` 5039 } 5040 5041 // String returns the string representation. 5042 // 5043 // API parameter values that are decorated as "sensitive" in the API will not 5044 // be included in the string output. The member name will be present, but the 5045 // value will be replaced with "sensitive". 5046 func (s ListLFTagsInput) String() string { 5047 return awsutil.Prettify(s) 5048 } 5049 5050 // GoString returns the string representation. 5051 // 5052 // API parameter values that are decorated as "sensitive" in the API will not 5053 // be included in the string output. The member name will be present, but the 5054 // value will be replaced with "sensitive". 5055 func (s ListLFTagsInput) GoString() string { 5056 return s.String() 5057 } 5058 5059 // Validate inspects the fields of the type to determine if they are valid. 5060 func (s *ListLFTagsInput) Validate() error { 5061 invalidParams := request.ErrInvalidParams{Context: "ListLFTagsInput"} 5062 if s.CatalogId != nil && len(*s.CatalogId) < 1 { 5063 invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) 5064 } 5065 if s.MaxResults != nil && *s.MaxResults < 1 { 5066 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 5067 } 5068 5069 if invalidParams.Len() > 0 { 5070 return invalidParams 5071 } 5072 return nil 5073 } 5074 5075 // SetCatalogId sets the CatalogId field's value. 5076 func (s *ListLFTagsInput) SetCatalogId(v string) *ListLFTagsInput { 5077 s.CatalogId = &v 5078 return s 5079 } 5080 5081 // SetMaxResults sets the MaxResults field's value. 5082 func (s *ListLFTagsInput) SetMaxResults(v int64) *ListLFTagsInput { 5083 s.MaxResults = &v 5084 return s 5085 } 5086 5087 // SetNextToken sets the NextToken field's value. 5088 func (s *ListLFTagsInput) SetNextToken(v string) *ListLFTagsInput { 5089 s.NextToken = &v 5090 return s 5091 } 5092 5093 // SetResourceShareType sets the ResourceShareType field's value. 5094 func (s *ListLFTagsInput) SetResourceShareType(v string) *ListLFTagsInput { 5095 s.ResourceShareType = &v 5096 return s 5097 } 5098 5099 type ListLFTagsOutput struct { 5100 _ struct{} `type:"structure"` 5101 5102 // A list of tags that the requested has permission to view. 5103 LFTags []*LFTagPair `min:"1" type:"list"` 5104 5105 // A continuation token, present if the current list segment is not the last. 5106 NextToken *string `type:"string"` 5107 } 5108 5109 // String returns the string representation. 5110 // 5111 // API parameter values that are decorated as "sensitive" in the API will not 5112 // be included in the string output. The member name will be present, but the 5113 // value will be replaced with "sensitive". 5114 func (s ListLFTagsOutput) String() string { 5115 return awsutil.Prettify(s) 5116 } 5117 5118 // GoString returns the string representation. 5119 // 5120 // API parameter values that are decorated as "sensitive" in the API will not 5121 // be included in the string output. The member name will be present, but the 5122 // value will be replaced with "sensitive". 5123 func (s ListLFTagsOutput) GoString() string { 5124 return s.String() 5125 } 5126 5127 // SetLFTags sets the LFTags field's value. 5128 func (s *ListLFTagsOutput) SetLFTags(v []*LFTagPair) *ListLFTagsOutput { 5129 s.LFTags = v 5130 return s 5131 } 5132 5133 // SetNextToken sets the NextToken field's value. 5134 func (s *ListLFTagsOutput) SetNextToken(v string) *ListLFTagsOutput { 5135 s.NextToken = &v 5136 return s 5137 } 5138 5139 type ListPermissionsInput struct { 5140 _ struct{} `type:"structure"` 5141 5142 // The identifier for the Data Catalog. By default, the account ID. The Data 5143 // Catalog is the persistent metadata store. It contains database definitions, 5144 // table definitions, and other control information to manage your AWS Lake 5145 // Formation environment. 5146 CatalogId *string `min:"1" type:"string"` 5147 5148 // The maximum number of results to return. 5149 MaxResults *int64 `min:"1" type:"integer"` 5150 5151 // A continuation token, if this is not the first call to retrieve this list. 5152 NextToken *string `type:"string"` 5153 5154 // Specifies a principal to filter the permissions returned. 5155 Principal *DataLakePrincipal `type:"structure"` 5156 5157 // A resource where you will get a list of the principal permissions. 5158 // 5159 // This operation does not support getting privileges on a table with columns. 5160 // Instead, call this operation on the table, and the operation returns the 5161 // table and the table w columns. 5162 Resource *Resource `type:"structure"` 5163 5164 // Specifies a resource type to filter the permissions returned. 5165 ResourceType *string `type:"string" enum:"DataLakeResourceType"` 5166 } 5167 5168 // String returns the string representation. 5169 // 5170 // API parameter values that are decorated as "sensitive" in the API will not 5171 // be included in the string output. The member name will be present, but the 5172 // value will be replaced with "sensitive". 5173 func (s ListPermissionsInput) String() string { 5174 return awsutil.Prettify(s) 5175 } 5176 5177 // GoString returns the string representation. 5178 // 5179 // API parameter values that are decorated as "sensitive" in the API will not 5180 // be included in the string output. The member name will be present, but the 5181 // value will be replaced with "sensitive". 5182 func (s ListPermissionsInput) GoString() string { 5183 return s.String() 5184 } 5185 5186 // Validate inspects the fields of the type to determine if they are valid. 5187 func (s *ListPermissionsInput) Validate() error { 5188 invalidParams := request.ErrInvalidParams{Context: "ListPermissionsInput"} 5189 if s.CatalogId != nil && len(*s.CatalogId) < 1 { 5190 invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) 5191 } 5192 if s.MaxResults != nil && *s.MaxResults < 1 { 5193 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 5194 } 5195 if s.Principal != nil { 5196 if err := s.Principal.Validate(); err != nil { 5197 invalidParams.AddNested("Principal", err.(request.ErrInvalidParams)) 5198 } 5199 } 5200 if s.Resource != nil { 5201 if err := s.Resource.Validate(); err != nil { 5202 invalidParams.AddNested("Resource", err.(request.ErrInvalidParams)) 5203 } 5204 } 5205 5206 if invalidParams.Len() > 0 { 5207 return invalidParams 5208 } 5209 return nil 5210 } 5211 5212 // SetCatalogId sets the CatalogId field's value. 5213 func (s *ListPermissionsInput) SetCatalogId(v string) *ListPermissionsInput { 5214 s.CatalogId = &v 5215 return s 5216 } 5217 5218 // SetMaxResults sets the MaxResults field's value. 5219 func (s *ListPermissionsInput) SetMaxResults(v int64) *ListPermissionsInput { 5220 s.MaxResults = &v 5221 return s 5222 } 5223 5224 // SetNextToken sets the NextToken field's value. 5225 func (s *ListPermissionsInput) SetNextToken(v string) *ListPermissionsInput { 5226 s.NextToken = &v 5227 return s 5228 } 5229 5230 // SetPrincipal sets the Principal field's value. 5231 func (s *ListPermissionsInput) SetPrincipal(v *DataLakePrincipal) *ListPermissionsInput { 5232 s.Principal = v 5233 return s 5234 } 5235 5236 // SetResource sets the Resource field's value. 5237 func (s *ListPermissionsInput) SetResource(v *Resource) *ListPermissionsInput { 5238 s.Resource = v 5239 return s 5240 } 5241 5242 // SetResourceType sets the ResourceType field's value. 5243 func (s *ListPermissionsInput) SetResourceType(v string) *ListPermissionsInput { 5244 s.ResourceType = &v 5245 return s 5246 } 5247 5248 type ListPermissionsOutput struct { 5249 _ struct{} `type:"structure"` 5250 5251 // A continuation token, if this is not the first call to retrieve this list. 5252 NextToken *string `type:"string"` 5253 5254 // A list of principals and their permissions on the resource for the specified 5255 // principal and resource types. 5256 PrincipalResourcePermissions []*PrincipalResourcePermissions `type:"list"` 5257 } 5258 5259 // String returns the string representation. 5260 // 5261 // API parameter values that are decorated as "sensitive" in the API will not 5262 // be included in the string output. The member name will be present, but the 5263 // value will be replaced with "sensitive". 5264 func (s ListPermissionsOutput) String() string { 5265 return awsutil.Prettify(s) 5266 } 5267 5268 // GoString returns the string representation. 5269 // 5270 // API parameter values that are decorated as "sensitive" in the API will not 5271 // be included in the string output. The member name will be present, but the 5272 // value will be replaced with "sensitive". 5273 func (s ListPermissionsOutput) GoString() string { 5274 return s.String() 5275 } 5276 5277 // SetNextToken sets the NextToken field's value. 5278 func (s *ListPermissionsOutput) SetNextToken(v string) *ListPermissionsOutput { 5279 s.NextToken = &v 5280 return s 5281 } 5282 5283 // SetPrincipalResourcePermissions sets the PrincipalResourcePermissions field's value. 5284 func (s *ListPermissionsOutput) SetPrincipalResourcePermissions(v []*PrincipalResourcePermissions) *ListPermissionsOutput { 5285 s.PrincipalResourcePermissions = v 5286 return s 5287 } 5288 5289 type ListResourcesInput struct { 5290 _ struct{} `type:"structure"` 5291 5292 // Any applicable row-level and/or column-level filtering conditions for the 5293 // resources. 5294 FilterConditionList []*FilterCondition `min:"1" type:"list"` 5295 5296 // The maximum number of resource results. 5297 MaxResults *int64 `min:"1" type:"integer"` 5298 5299 // A continuation token, if this is not the first call to retrieve these resources. 5300 NextToken *string `type:"string"` 5301 } 5302 5303 // String returns the string representation. 5304 // 5305 // API parameter values that are decorated as "sensitive" in the API will not 5306 // be included in the string output. The member name will be present, but the 5307 // value will be replaced with "sensitive". 5308 func (s ListResourcesInput) String() string { 5309 return awsutil.Prettify(s) 5310 } 5311 5312 // GoString returns the string representation. 5313 // 5314 // API parameter values that are decorated as "sensitive" in the API will not 5315 // be included in the string output. The member name will be present, but the 5316 // value will be replaced with "sensitive". 5317 func (s ListResourcesInput) GoString() string { 5318 return s.String() 5319 } 5320 5321 // Validate inspects the fields of the type to determine if they are valid. 5322 func (s *ListResourcesInput) Validate() error { 5323 invalidParams := request.ErrInvalidParams{Context: "ListResourcesInput"} 5324 if s.FilterConditionList != nil && len(s.FilterConditionList) < 1 { 5325 invalidParams.Add(request.NewErrParamMinLen("FilterConditionList", 1)) 5326 } 5327 if s.MaxResults != nil && *s.MaxResults < 1 { 5328 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 5329 } 5330 5331 if invalidParams.Len() > 0 { 5332 return invalidParams 5333 } 5334 return nil 5335 } 5336 5337 // SetFilterConditionList sets the FilterConditionList field's value. 5338 func (s *ListResourcesInput) SetFilterConditionList(v []*FilterCondition) *ListResourcesInput { 5339 s.FilterConditionList = v 5340 return s 5341 } 5342 5343 // SetMaxResults sets the MaxResults field's value. 5344 func (s *ListResourcesInput) SetMaxResults(v int64) *ListResourcesInput { 5345 s.MaxResults = &v 5346 return s 5347 } 5348 5349 // SetNextToken sets the NextToken field's value. 5350 func (s *ListResourcesInput) SetNextToken(v string) *ListResourcesInput { 5351 s.NextToken = &v 5352 return s 5353 } 5354 5355 type ListResourcesOutput struct { 5356 _ struct{} `type:"structure"` 5357 5358 // A continuation token, if this is not the first call to retrieve these resources. 5359 NextToken *string `type:"string"` 5360 5361 // A summary of the data lake resources. 5362 ResourceInfoList []*ResourceInfo `type:"list"` 5363 } 5364 5365 // String returns the string representation. 5366 // 5367 // API parameter values that are decorated as "sensitive" in the API will not 5368 // be included in the string output. The member name will be present, but the 5369 // value will be replaced with "sensitive". 5370 func (s ListResourcesOutput) String() string { 5371 return awsutil.Prettify(s) 5372 } 5373 5374 // GoString returns the string representation. 5375 // 5376 // API parameter values that are decorated as "sensitive" in the API will not 5377 // be included in the string output. The member name will be present, but the 5378 // value will be replaced with "sensitive". 5379 func (s ListResourcesOutput) GoString() string { 5380 return s.String() 5381 } 5382 5383 // SetNextToken sets the NextToken field's value. 5384 func (s *ListResourcesOutput) SetNextToken(v string) *ListResourcesOutput { 5385 s.NextToken = &v 5386 return s 5387 } 5388 5389 // SetResourceInfoList sets the ResourceInfoList field's value. 5390 func (s *ListResourcesOutput) SetResourceInfoList(v []*ResourceInfo) *ListResourcesOutput { 5391 s.ResourceInfoList = v 5392 return s 5393 } 5394 5395 // The operation timed out. 5396 type OperationTimeoutException struct { 5397 _ struct{} `type:"structure"` 5398 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5399 5400 // A message describing the problem. 5401 Message_ *string `locationName:"Message" type:"string"` 5402 } 5403 5404 // String returns the string representation. 5405 // 5406 // API parameter values that are decorated as "sensitive" in the API will not 5407 // be included in the string output. The member name will be present, but the 5408 // value will be replaced with "sensitive". 5409 func (s OperationTimeoutException) String() string { 5410 return awsutil.Prettify(s) 5411 } 5412 5413 // GoString returns the string representation. 5414 // 5415 // API parameter values that are decorated as "sensitive" in the API will not 5416 // be included in the string output. The member name will be present, but the 5417 // value will be replaced with "sensitive". 5418 func (s OperationTimeoutException) GoString() string { 5419 return s.String() 5420 } 5421 5422 func newErrorOperationTimeoutException(v protocol.ResponseMetadata) error { 5423 return &OperationTimeoutException{ 5424 RespMetadata: v, 5425 } 5426 } 5427 5428 // Code returns the exception type name. 5429 func (s *OperationTimeoutException) Code() string { 5430 return "OperationTimeoutException" 5431 } 5432 5433 // Message returns the exception's message. 5434 func (s *OperationTimeoutException) Message() string { 5435 if s.Message_ != nil { 5436 return *s.Message_ 5437 } 5438 return "" 5439 } 5440 5441 // OrigErr always returns nil, satisfies awserr.Error interface. 5442 func (s *OperationTimeoutException) OrigErr() error { 5443 return nil 5444 } 5445 5446 func (s *OperationTimeoutException) Error() string { 5447 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 5448 } 5449 5450 // Status code returns the HTTP status code for the request's response error. 5451 func (s *OperationTimeoutException) StatusCode() int { 5452 return s.RespMetadata.StatusCode 5453 } 5454 5455 // RequestID returns the service's response RequestID for request. 5456 func (s *OperationTimeoutException) RequestID() string { 5457 return s.RespMetadata.RequestID 5458 } 5459 5460 // Permissions granted to a principal. 5461 type PrincipalPermissions struct { 5462 _ struct{} `type:"structure"` 5463 5464 // The permissions that are granted to the principal. 5465 Permissions []*string `type:"list"` 5466 5467 // The principal who is granted permissions. 5468 Principal *DataLakePrincipal `type:"structure"` 5469 } 5470 5471 // String returns the string representation. 5472 // 5473 // API parameter values that are decorated as "sensitive" in the API will not 5474 // be included in the string output. The member name will be present, but the 5475 // value will be replaced with "sensitive". 5476 func (s PrincipalPermissions) String() string { 5477 return awsutil.Prettify(s) 5478 } 5479 5480 // GoString returns the string representation. 5481 // 5482 // API parameter values that are decorated as "sensitive" in the API will not 5483 // be included in the string output. The member name will be present, but the 5484 // value will be replaced with "sensitive". 5485 func (s PrincipalPermissions) GoString() string { 5486 return s.String() 5487 } 5488 5489 // Validate inspects the fields of the type to determine if they are valid. 5490 func (s *PrincipalPermissions) Validate() error { 5491 invalidParams := request.ErrInvalidParams{Context: "PrincipalPermissions"} 5492 if s.Principal != nil { 5493 if err := s.Principal.Validate(); err != nil { 5494 invalidParams.AddNested("Principal", err.(request.ErrInvalidParams)) 5495 } 5496 } 5497 5498 if invalidParams.Len() > 0 { 5499 return invalidParams 5500 } 5501 return nil 5502 } 5503 5504 // SetPermissions sets the Permissions field's value. 5505 func (s *PrincipalPermissions) SetPermissions(v []*string) *PrincipalPermissions { 5506 s.Permissions = v 5507 return s 5508 } 5509 5510 // SetPrincipal sets the Principal field's value. 5511 func (s *PrincipalPermissions) SetPrincipal(v *DataLakePrincipal) *PrincipalPermissions { 5512 s.Principal = v 5513 return s 5514 } 5515 5516 // The permissions granted or revoked on a resource. 5517 type PrincipalResourcePermissions struct { 5518 _ struct{} `type:"structure"` 5519 5520 // This attribute can be used to return any additional details of PrincipalResourcePermissions. 5521 // Currently returns only as a RAM resource share ARN. 5522 AdditionalDetails *DetailsMap `type:"structure"` 5523 5524 // The permissions to be granted or revoked on the resource. 5525 Permissions []*string `type:"list"` 5526 5527 // Indicates whether to grant the ability to grant permissions (as a subset 5528 // of permissions granted). 5529 PermissionsWithGrantOption []*string `type:"list"` 5530 5531 // The Data Lake principal to be granted or revoked permissions. 5532 Principal *DataLakePrincipal `type:"structure"` 5533 5534 // The resource where permissions are to be granted or revoked. 5535 Resource *Resource `type:"structure"` 5536 } 5537 5538 // String returns the string representation. 5539 // 5540 // API parameter values that are decorated as "sensitive" in the API will not 5541 // be included in the string output. The member name will be present, but the 5542 // value will be replaced with "sensitive". 5543 func (s PrincipalResourcePermissions) String() string { 5544 return awsutil.Prettify(s) 5545 } 5546 5547 // GoString returns the string representation. 5548 // 5549 // API parameter values that are decorated as "sensitive" in the API will not 5550 // be included in the string output. The member name will be present, but the 5551 // value will be replaced with "sensitive". 5552 func (s PrincipalResourcePermissions) GoString() string { 5553 return s.String() 5554 } 5555 5556 // SetAdditionalDetails sets the AdditionalDetails field's value. 5557 func (s *PrincipalResourcePermissions) SetAdditionalDetails(v *DetailsMap) *PrincipalResourcePermissions { 5558 s.AdditionalDetails = v 5559 return s 5560 } 5561 5562 // SetPermissions sets the Permissions field's value. 5563 func (s *PrincipalResourcePermissions) SetPermissions(v []*string) *PrincipalResourcePermissions { 5564 s.Permissions = v 5565 return s 5566 } 5567 5568 // SetPermissionsWithGrantOption sets the PermissionsWithGrantOption field's value. 5569 func (s *PrincipalResourcePermissions) SetPermissionsWithGrantOption(v []*string) *PrincipalResourcePermissions { 5570 s.PermissionsWithGrantOption = v 5571 return s 5572 } 5573 5574 // SetPrincipal sets the Principal field's value. 5575 func (s *PrincipalResourcePermissions) SetPrincipal(v *DataLakePrincipal) *PrincipalResourcePermissions { 5576 s.Principal = v 5577 return s 5578 } 5579 5580 // SetResource sets the Resource field's value. 5581 func (s *PrincipalResourcePermissions) SetResource(v *Resource) *PrincipalResourcePermissions { 5582 s.Resource = v 5583 return s 5584 } 5585 5586 type PutDataLakeSettingsInput struct { 5587 _ struct{} `type:"structure"` 5588 5589 // The identifier for the Data Catalog. By default, the account ID. The Data 5590 // Catalog is the persistent metadata store. It contains database definitions, 5591 // table definitions, and other control information to manage your AWS Lake 5592 // Formation environment. 5593 CatalogId *string `min:"1" type:"string"` 5594 5595 // A structure representing a list of AWS Lake Formation principals designated 5596 // as data lake administrators. 5597 // 5598 // DataLakeSettings is a required field 5599 DataLakeSettings *DataLakeSettings `type:"structure" required:"true"` 5600 } 5601 5602 // String returns the string representation. 5603 // 5604 // API parameter values that are decorated as "sensitive" in the API will not 5605 // be included in the string output. The member name will be present, but the 5606 // value will be replaced with "sensitive". 5607 func (s PutDataLakeSettingsInput) String() string { 5608 return awsutil.Prettify(s) 5609 } 5610 5611 // GoString returns the string representation. 5612 // 5613 // API parameter values that are decorated as "sensitive" in the API will not 5614 // be included in the string output. The member name will be present, but the 5615 // value will be replaced with "sensitive". 5616 func (s PutDataLakeSettingsInput) GoString() string { 5617 return s.String() 5618 } 5619 5620 // Validate inspects the fields of the type to determine if they are valid. 5621 func (s *PutDataLakeSettingsInput) Validate() error { 5622 invalidParams := request.ErrInvalidParams{Context: "PutDataLakeSettingsInput"} 5623 if s.CatalogId != nil && len(*s.CatalogId) < 1 { 5624 invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) 5625 } 5626 if s.DataLakeSettings == nil { 5627 invalidParams.Add(request.NewErrParamRequired("DataLakeSettings")) 5628 } 5629 if s.DataLakeSettings != nil { 5630 if err := s.DataLakeSettings.Validate(); err != nil { 5631 invalidParams.AddNested("DataLakeSettings", err.(request.ErrInvalidParams)) 5632 } 5633 } 5634 5635 if invalidParams.Len() > 0 { 5636 return invalidParams 5637 } 5638 return nil 5639 } 5640 5641 // SetCatalogId sets the CatalogId field's value. 5642 func (s *PutDataLakeSettingsInput) SetCatalogId(v string) *PutDataLakeSettingsInput { 5643 s.CatalogId = &v 5644 return s 5645 } 5646 5647 // SetDataLakeSettings sets the DataLakeSettings field's value. 5648 func (s *PutDataLakeSettingsInput) SetDataLakeSettings(v *DataLakeSettings) *PutDataLakeSettingsInput { 5649 s.DataLakeSettings = v 5650 return s 5651 } 5652 5653 type PutDataLakeSettingsOutput struct { 5654 _ struct{} `type:"structure"` 5655 } 5656 5657 // String returns the string representation. 5658 // 5659 // API parameter values that are decorated as "sensitive" in the API will not 5660 // be included in the string output. The member name will be present, but the 5661 // value will be replaced with "sensitive". 5662 func (s PutDataLakeSettingsOutput) String() string { 5663 return awsutil.Prettify(s) 5664 } 5665 5666 // GoString returns the string representation. 5667 // 5668 // API parameter values that are decorated as "sensitive" in the API will not 5669 // be included in the string output. The member name will be present, but the 5670 // value will be replaced with "sensitive". 5671 func (s PutDataLakeSettingsOutput) GoString() string { 5672 return s.String() 5673 } 5674 5675 type RegisterResourceInput struct { 5676 _ struct{} `type:"structure"` 5677 5678 // The Amazon Resource Name (ARN) of the resource that you want to register. 5679 // 5680 // ResourceArn is a required field 5681 ResourceArn *string `type:"string" required:"true"` 5682 5683 // The identifier for the role that registers the resource. 5684 RoleArn *string `type:"string"` 5685 5686 // Designates an AWS Identity and Access Management (IAM) service-linked role 5687 // by registering this role with the Data Catalog. A service-linked role is 5688 // a unique type of IAM role that is linked directly to Lake Formation. 5689 // 5690 // For more information, see Using Service-Linked Roles for Lake Formation (https://docs-aws.amazon.com/lake-formation/latest/dg/service-linked-roles.html). 5691 UseServiceLinkedRole *bool `type:"boolean"` 5692 } 5693 5694 // String returns the string representation. 5695 // 5696 // API parameter values that are decorated as "sensitive" in the API will not 5697 // be included in the string output. The member name will be present, but the 5698 // value will be replaced with "sensitive". 5699 func (s RegisterResourceInput) String() string { 5700 return awsutil.Prettify(s) 5701 } 5702 5703 // GoString returns the string representation. 5704 // 5705 // API parameter values that are decorated as "sensitive" in the API will not 5706 // be included in the string output. The member name will be present, but the 5707 // value will be replaced with "sensitive". 5708 func (s RegisterResourceInput) GoString() string { 5709 return s.String() 5710 } 5711 5712 // Validate inspects the fields of the type to determine if they are valid. 5713 func (s *RegisterResourceInput) Validate() error { 5714 invalidParams := request.ErrInvalidParams{Context: "RegisterResourceInput"} 5715 if s.ResourceArn == nil { 5716 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 5717 } 5718 5719 if invalidParams.Len() > 0 { 5720 return invalidParams 5721 } 5722 return nil 5723 } 5724 5725 // SetResourceArn sets the ResourceArn field's value. 5726 func (s *RegisterResourceInput) SetResourceArn(v string) *RegisterResourceInput { 5727 s.ResourceArn = &v 5728 return s 5729 } 5730 5731 // SetRoleArn sets the RoleArn field's value. 5732 func (s *RegisterResourceInput) SetRoleArn(v string) *RegisterResourceInput { 5733 s.RoleArn = &v 5734 return s 5735 } 5736 5737 // SetUseServiceLinkedRole sets the UseServiceLinkedRole field's value. 5738 func (s *RegisterResourceInput) SetUseServiceLinkedRole(v bool) *RegisterResourceInput { 5739 s.UseServiceLinkedRole = &v 5740 return s 5741 } 5742 5743 type RegisterResourceOutput struct { 5744 _ struct{} `type:"structure"` 5745 } 5746 5747 // String returns the string representation. 5748 // 5749 // API parameter values that are decorated as "sensitive" in the API will not 5750 // be included in the string output. The member name will be present, but the 5751 // value will be replaced with "sensitive". 5752 func (s RegisterResourceOutput) String() string { 5753 return awsutil.Prettify(s) 5754 } 5755 5756 // GoString returns the string representation. 5757 // 5758 // API parameter values that are decorated as "sensitive" in the API will not 5759 // be included in the string output. The member name will be present, but the 5760 // value will be replaced with "sensitive". 5761 func (s RegisterResourceOutput) GoString() string { 5762 return s.String() 5763 } 5764 5765 type RemoveLFTagsFromResourceInput struct { 5766 _ struct{} `type:"structure"` 5767 5768 // The identifier for the Data Catalog. By default, the account ID. The Data 5769 // Catalog is the persistent metadata store. It contains database definitions, 5770 // table definitions, and other control information to manage your AWS Lake 5771 // Formation environment. 5772 CatalogId *string `min:"1" type:"string"` 5773 5774 // The tags to be removed from the resource. 5775 // 5776 // LFTags is a required field 5777 LFTags []*LFTagPair `min:"1" type:"list" required:"true"` 5778 5779 // The resource where you want to remove a tag. 5780 // 5781 // Resource is a required field 5782 Resource *Resource `type:"structure" required:"true"` 5783 } 5784 5785 // String returns the string representation. 5786 // 5787 // API parameter values that are decorated as "sensitive" in the API will not 5788 // be included in the string output. The member name will be present, but the 5789 // value will be replaced with "sensitive". 5790 func (s RemoveLFTagsFromResourceInput) String() string { 5791 return awsutil.Prettify(s) 5792 } 5793 5794 // GoString returns the string representation. 5795 // 5796 // API parameter values that are decorated as "sensitive" in the API will not 5797 // be included in the string output. The member name will be present, but the 5798 // value will be replaced with "sensitive". 5799 func (s RemoveLFTagsFromResourceInput) GoString() string { 5800 return s.String() 5801 } 5802 5803 // Validate inspects the fields of the type to determine if they are valid. 5804 func (s *RemoveLFTagsFromResourceInput) Validate() error { 5805 invalidParams := request.ErrInvalidParams{Context: "RemoveLFTagsFromResourceInput"} 5806 if s.CatalogId != nil && len(*s.CatalogId) < 1 { 5807 invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) 5808 } 5809 if s.LFTags == nil { 5810 invalidParams.Add(request.NewErrParamRequired("LFTags")) 5811 } 5812 if s.LFTags != nil && len(s.LFTags) < 1 { 5813 invalidParams.Add(request.NewErrParamMinLen("LFTags", 1)) 5814 } 5815 if s.Resource == nil { 5816 invalidParams.Add(request.NewErrParamRequired("Resource")) 5817 } 5818 if s.LFTags != nil { 5819 for i, v := range s.LFTags { 5820 if v == nil { 5821 continue 5822 } 5823 if err := v.Validate(); err != nil { 5824 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LFTags", i), err.(request.ErrInvalidParams)) 5825 } 5826 } 5827 } 5828 if s.Resource != nil { 5829 if err := s.Resource.Validate(); err != nil { 5830 invalidParams.AddNested("Resource", err.(request.ErrInvalidParams)) 5831 } 5832 } 5833 5834 if invalidParams.Len() > 0 { 5835 return invalidParams 5836 } 5837 return nil 5838 } 5839 5840 // SetCatalogId sets the CatalogId field's value. 5841 func (s *RemoveLFTagsFromResourceInput) SetCatalogId(v string) *RemoveLFTagsFromResourceInput { 5842 s.CatalogId = &v 5843 return s 5844 } 5845 5846 // SetLFTags sets the LFTags field's value. 5847 func (s *RemoveLFTagsFromResourceInput) SetLFTags(v []*LFTagPair) *RemoveLFTagsFromResourceInput { 5848 s.LFTags = v 5849 return s 5850 } 5851 5852 // SetResource sets the Resource field's value. 5853 func (s *RemoveLFTagsFromResourceInput) SetResource(v *Resource) *RemoveLFTagsFromResourceInput { 5854 s.Resource = v 5855 return s 5856 } 5857 5858 type RemoveLFTagsFromResourceOutput struct { 5859 _ struct{} `type:"structure"` 5860 5861 // A list of failures to untag a resource. 5862 Failures []*LFTagError `type:"list"` 5863 } 5864 5865 // String returns the string representation. 5866 // 5867 // API parameter values that are decorated as "sensitive" in the API will not 5868 // be included in the string output. The member name will be present, but the 5869 // value will be replaced with "sensitive". 5870 func (s RemoveLFTagsFromResourceOutput) String() string { 5871 return awsutil.Prettify(s) 5872 } 5873 5874 // GoString returns the string representation. 5875 // 5876 // API parameter values that are decorated as "sensitive" in the API will not 5877 // be included in the string output. The member name will be present, but the 5878 // value will be replaced with "sensitive". 5879 func (s RemoveLFTagsFromResourceOutput) GoString() string { 5880 return s.String() 5881 } 5882 5883 // SetFailures sets the Failures field's value. 5884 func (s *RemoveLFTagsFromResourceOutput) SetFailures(v []*LFTagError) *RemoveLFTagsFromResourceOutput { 5885 s.Failures = v 5886 return s 5887 } 5888 5889 // A structure for the resource. 5890 type Resource struct { 5891 _ struct{} `type:"structure"` 5892 5893 // The identifier for the Data Catalog. By default, the account ID. The Data 5894 // Catalog is the persistent metadata store. It contains database definitions, 5895 // table definitions, and other control information to manage your AWS Lake 5896 // Formation environment. 5897 Catalog *CatalogResource `type:"structure"` 5898 5899 // The location of an Amazon S3 path where permissions are granted or revoked. 5900 DataLocation *DataLocationResource `type:"structure"` 5901 5902 // The database for the resource. Unique to the Data Catalog. A database is 5903 // a set of associated table definitions organized into a logical group. You 5904 // can Grant and Revoke database permissions to a principal. 5905 Database *DatabaseResource `type:"structure"` 5906 5907 // The tag key and values attached to a resource. 5908 LFTag *LFTagKeyResource `type:"structure"` 5909 5910 // A list of tag conditions that define a resource's tag policy. 5911 LFTagPolicy *LFTagPolicyResource `type:"structure"` 5912 5913 // The table for the resource. A table is a metadata definition that represents 5914 // your data. You can Grant and Revoke table privileges to a principal. 5915 Table *TableResource `type:"structure"` 5916 5917 // The table with columns for the resource. A principal with permissions to 5918 // this resource can select metadata from the columns of a table in the Data 5919 // Catalog and the underlying data in Amazon S3. 5920 TableWithColumns *TableWithColumnsResource `type:"structure"` 5921 } 5922 5923 // String returns the string representation. 5924 // 5925 // API parameter values that are decorated as "sensitive" in the API will not 5926 // be included in the string output. The member name will be present, but the 5927 // value will be replaced with "sensitive". 5928 func (s Resource) String() string { 5929 return awsutil.Prettify(s) 5930 } 5931 5932 // GoString returns the string representation. 5933 // 5934 // API parameter values that are decorated as "sensitive" in the API will not 5935 // be included in the string output. The member name will be present, but the 5936 // value will be replaced with "sensitive". 5937 func (s Resource) GoString() string { 5938 return s.String() 5939 } 5940 5941 // Validate inspects the fields of the type to determine if they are valid. 5942 func (s *Resource) Validate() error { 5943 invalidParams := request.ErrInvalidParams{Context: "Resource"} 5944 if s.DataLocation != nil { 5945 if err := s.DataLocation.Validate(); err != nil { 5946 invalidParams.AddNested("DataLocation", err.(request.ErrInvalidParams)) 5947 } 5948 } 5949 if s.Database != nil { 5950 if err := s.Database.Validate(); err != nil { 5951 invalidParams.AddNested("Database", err.(request.ErrInvalidParams)) 5952 } 5953 } 5954 if s.LFTag != nil { 5955 if err := s.LFTag.Validate(); err != nil { 5956 invalidParams.AddNested("LFTag", err.(request.ErrInvalidParams)) 5957 } 5958 } 5959 if s.LFTagPolicy != nil { 5960 if err := s.LFTagPolicy.Validate(); err != nil { 5961 invalidParams.AddNested("LFTagPolicy", err.(request.ErrInvalidParams)) 5962 } 5963 } 5964 if s.Table != nil { 5965 if err := s.Table.Validate(); err != nil { 5966 invalidParams.AddNested("Table", err.(request.ErrInvalidParams)) 5967 } 5968 } 5969 if s.TableWithColumns != nil { 5970 if err := s.TableWithColumns.Validate(); err != nil { 5971 invalidParams.AddNested("TableWithColumns", err.(request.ErrInvalidParams)) 5972 } 5973 } 5974 5975 if invalidParams.Len() > 0 { 5976 return invalidParams 5977 } 5978 return nil 5979 } 5980 5981 // SetCatalog sets the Catalog field's value. 5982 func (s *Resource) SetCatalog(v *CatalogResource) *Resource { 5983 s.Catalog = v 5984 return s 5985 } 5986 5987 // SetDataLocation sets the DataLocation field's value. 5988 func (s *Resource) SetDataLocation(v *DataLocationResource) *Resource { 5989 s.DataLocation = v 5990 return s 5991 } 5992 5993 // SetDatabase sets the Database field's value. 5994 func (s *Resource) SetDatabase(v *DatabaseResource) *Resource { 5995 s.Database = v 5996 return s 5997 } 5998 5999 // SetLFTag sets the LFTag field's value. 6000 func (s *Resource) SetLFTag(v *LFTagKeyResource) *Resource { 6001 s.LFTag = v 6002 return s 6003 } 6004 6005 // SetLFTagPolicy sets the LFTagPolicy field's value. 6006 func (s *Resource) SetLFTagPolicy(v *LFTagPolicyResource) *Resource { 6007 s.LFTagPolicy = v 6008 return s 6009 } 6010 6011 // SetTable sets the Table field's value. 6012 func (s *Resource) SetTable(v *TableResource) *Resource { 6013 s.Table = v 6014 return s 6015 } 6016 6017 // SetTableWithColumns sets the TableWithColumns field's value. 6018 func (s *Resource) SetTableWithColumns(v *TableWithColumnsResource) *Resource { 6019 s.TableWithColumns = v 6020 return s 6021 } 6022 6023 // A structure containing information about an AWS Lake Formation resource. 6024 type ResourceInfo struct { 6025 _ struct{} `type:"structure"` 6026 6027 // The date and time the resource was last modified. 6028 LastModified *time.Time `type:"timestamp"` 6029 6030 // The Amazon Resource Name (ARN) of the resource. 6031 ResourceArn *string `type:"string"` 6032 6033 // The IAM role that registered a resource. 6034 RoleArn *string `type:"string"` 6035 } 6036 6037 // String returns the string representation. 6038 // 6039 // API parameter values that are decorated as "sensitive" in the API will not 6040 // be included in the string output. The member name will be present, but the 6041 // value will be replaced with "sensitive". 6042 func (s ResourceInfo) String() string { 6043 return awsutil.Prettify(s) 6044 } 6045 6046 // GoString returns the string representation. 6047 // 6048 // API parameter values that are decorated as "sensitive" in the API will not 6049 // be included in the string output. The member name will be present, but the 6050 // value will be replaced with "sensitive". 6051 func (s ResourceInfo) GoString() string { 6052 return s.String() 6053 } 6054 6055 // SetLastModified sets the LastModified field's value. 6056 func (s *ResourceInfo) SetLastModified(v time.Time) *ResourceInfo { 6057 s.LastModified = &v 6058 return s 6059 } 6060 6061 // SetResourceArn sets the ResourceArn field's value. 6062 func (s *ResourceInfo) SetResourceArn(v string) *ResourceInfo { 6063 s.ResourceArn = &v 6064 return s 6065 } 6066 6067 // SetRoleArn sets the RoleArn field's value. 6068 func (s *ResourceInfo) SetRoleArn(v string) *ResourceInfo { 6069 s.RoleArn = &v 6070 return s 6071 } 6072 6073 // A resource numerical limit was exceeded. 6074 type ResourceNumberLimitExceededException struct { 6075 _ struct{} `type:"structure"` 6076 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6077 6078 // A message describing the problem. 6079 Message_ *string `locationName:"Message" type:"string"` 6080 } 6081 6082 // String returns the string representation. 6083 // 6084 // API parameter values that are decorated as "sensitive" in the API will not 6085 // be included in the string output. The member name will be present, but the 6086 // value will be replaced with "sensitive". 6087 func (s ResourceNumberLimitExceededException) String() string { 6088 return awsutil.Prettify(s) 6089 } 6090 6091 // GoString returns the string representation. 6092 // 6093 // API parameter values that are decorated as "sensitive" in the API will not 6094 // be included in the string output. The member name will be present, but the 6095 // value will be replaced with "sensitive". 6096 func (s ResourceNumberLimitExceededException) GoString() string { 6097 return s.String() 6098 } 6099 6100 func newErrorResourceNumberLimitExceededException(v protocol.ResponseMetadata) error { 6101 return &ResourceNumberLimitExceededException{ 6102 RespMetadata: v, 6103 } 6104 } 6105 6106 // Code returns the exception type name. 6107 func (s *ResourceNumberLimitExceededException) Code() string { 6108 return "ResourceNumberLimitExceededException" 6109 } 6110 6111 // Message returns the exception's message. 6112 func (s *ResourceNumberLimitExceededException) Message() string { 6113 if s.Message_ != nil { 6114 return *s.Message_ 6115 } 6116 return "" 6117 } 6118 6119 // OrigErr always returns nil, satisfies awserr.Error interface. 6120 func (s *ResourceNumberLimitExceededException) OrigErr() error { 6121 return nil 6122 } 6123 6124 func (s *ResourceNumberLimitExceededException) Error() string { 6125 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6126 } 6127 6128 // Status code returns the HTTP status code for the request's response error. 6129 func (s *ResourceNumberLimitExceededException) StatusCode() int { 6130 return s.RespMetadata.StatusCode 6131 } 6132 6133 // RequestID returns the service's response RequestID for request. 6134 func (s *ResourceNumberLimitExceededException) RequestID() string { 6135 return s.RespMetadata.RequestID 6136 } 6137 6138 type RevokePermissionsInput struct { 6139 _ struct{} `type:"structure"` 6140 6141 // The identifier for the Data Catalog. By default, the account ID. The Data 6142 // Catalog is the persistent metadata store. It contains database definitions, 6143 // table definitions, and other control information to manage your AWS Lake 6144 // Formation environment. 6145 CatalogId *string `min:"1" type:"string"` 6146 6147 // The permissions revoked to the principal on the resource. For information 6148 // about permissions, see Security and Access Control to Metadata and Data (https://docs-aws.amazon.com/lake-formation/latest/dg/security-data-access.html). 6149 // 6150 // Permissions is a required field 6151 Permissions []*string `type:"list" required:"true"` 6152 6153 // Indicates a list of permissions for which to revoke the grant option allowing 6154 // the principal to pass permissions to other principals. 6155 PermissionsWithGrantOption []*string `type:"list"` 6156 6157 // The principal to be revoked permissions on the resource. 6158 // 6159 // Principal is a required field 6160 Principal *DataLakePrincipal `type:"structure" required:"true"` 6161 6162 // The resource to which permissions are to be revoked. 6163 // 6164 // Resource is a required field 6165 Resource *Resource `type:"structure" required:"true"` 6166 } 6167 6168 // String returns the string representation. 6169 // 6170 // API parameter values that are decorated as "sensitive" in the API will not 6171 // be included in the string output. The member name will be present, but the 6172 // value will be replaced with "sensitive". 6173 func (s RevokePermissionsInput) String() string { 6174 return awsutil.Prettify(s) 6175 } 6176 6177 // GoString returns the string representation. 6178 // 6179 // API parameter values that are decorated as "sensitive" in the API will not 6180 // be included in the string output. The member name will be present, but the 6181 // value will be replaced with "sensitive". 6182 func (s RevokePermissionsInput) GoString() string { 6183 return s.String() 6184 } 6185 6186 // Validate inspects the fields of the type to determine if they are valid. 6187 func (s *RevokePermissionsInput) Validate() error { 6188 invalidParams := request.ErrInvalidParams{Context: "RevokePermissionsInput"} 6189 if s.CatalogId != nil && len(*s.CatalogId) < 1 { 6190 invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) 6191 } 6192 if s.Permissions == nil { 6193 invalidParams.Add(request.NewErrParamRequired("Permissions")) 6194 } 6195 if s.Principal == nil { 6196 invalidParams.Add(request.NewErrParamRequired("Principal")) 6197 } 6198 if s.Resource == nil { 6199 invalidParams.Add(request.NewErrParamRequired("Resource")) 6200 } 6201 if s.Principal != nil { 6202 if err := s.Principal.Validate(); err != nil { 6203 invalidParams.AddNested("Principal", err.(request.ErrInvalidParams)) 6204 } 6205 } 6206 if s.Resource != nil { 6207 if err := s.Resource.Validate(); err != nil { 6208 invalidParams.AddNested("Resource", err.(request.ErrInvalidParams)) 6209 } 6210 } 6211 6212 if invalidParams.Len() > 0 { 6213 return invalidParams 6214 } 6215 return nil 6216 } 6217 6218 // SetCatalogId sets the CatalogId field's value. 6219 func (s *RevokePermissionsInput) SetCatalogId(v string) *RevokePermissionsInput { 6220 s.CatalogId = &v 6221 return s 6222 } 6223 6224 // SetPermissions sets the Permissions field's value. 6225 func (s *RevokePermissionsInput) SetPermissions(v []*string) *RevokePermissionsInput { 6226 s.Permissions = v 6227 return s 6228 } 6229 6230 // SetPermissionsWithGrantOption sets the PermissionsWithGrantOption field's value. 6231 func (s *RevokePermissionsInput) SetPermissionsWithGrantOption(v []*string) *RevokePermissionsInput { 6232 s.PermissionsWithGrantOption = v 6233 return s 6234 } 6235 6236 // SetPrincipal sets the Principal field's value. 6237 func (s *RevokePermissionsInput) SetPrincipal(v *DataLakePrincipal) *RevokePermissionsInput { 6238 s.Principal = v 6239 return s 6240 } 6241 6242 // SetResource sets the Resource field's value. 6243 func (s *RevokePermissionsInput) SetResource(v *Resource) *RevokePermissionsInput { 6244 s.Resource = v 6245 return s 6246 } 6247 6248 type RevokePermissionsOutput struct { 6249 _ struct{} `type:"structure"` 6250 } 6251 6252 // String returns the string representation. 6253 // 6254 // API parameter values that are decorated as "sensitive" in the API will not 6255 // be included in the string output. The member name will be present, but the 6256 // value will be replaced with "sensitive". 6257 func (s RevokePermissionsOutput) String() string { 6258 return awsutil.Prettify(s) 6259 } 6260 6261 // GoString returns the string representation. 6262 // 6263 // API parameter values that are decorated as "sensitive" in the API will not 6264 // be included in the string output. The member name will be present, but the 6265 // value will be replaced with "sensitive". 6266 func (s RevokePermissionsOutput) GoString() string { 6267 return s.String() 6268 } 6269 6270 type SearchDatabasesByLFTagsInput struct { 6271 _ struct{} `type:"structure"` 6272 6273 // The identifier for the Data Catalog. By default, the account ID. The Data 6274 // Catalog is the persistent metadata store. It contains database definitions, 6275 // table definitions, and other control information to manage your AWS Lake 6276 // Formation environment. 6277 CatalogId *string `min:"1" type:"string"` 6278 6279 // A list of conditions (LFTag structures) to search for in database resources. 6280 // 6281 // Expression is a required field 6282 Expression []*LFTag `min:"1" type:"list" required:"true"` 6283 6284 // The maximum number of results to return. 6285 MaxResults *int64 `min:"1" type:"integer"` 6286 6287 // A continuation token, if this is not the first call to retrieve this list. 6288 NextToken *string `type:"string"` 6289 } 6290 6291 // String returns the string representation. 6292 // 6293 // API parameter values that are decorated as "sensitive" in the API will not 6294 // be included in the string output. The member name will be present, but the 6295 // value will be replaced with "sensitive". 6296 func (s SearchDatabasesByLFTagsInput) String() string { 6297 return awsutil.Prettify(s) 6298 } 6299 6300 // GoString returns the string representation. 6301 // 6302 // API parameter values that are decorated as "sensitive" in the API will not 6303 // be included in the string output. The member name will be present, but the 6304 // value will be replaced with "sensitive". 6305 func (s SearchDatabasesByLFTagsInput) GoString() string { 6306 return s.String() 6307 } 6308 6309 // Validate inspects the fields of the type to determine if they are valid. 6310 func (s *SearchDatabasesByLFTagsInput) Validate() error { 6311 invalidParams := request.ErrInvalidParams{Context: "SearchDatabasesByLFTagsInput"} 6312 if s.CatalogId != nil && len(*s.CatalogId) < 1 { 6313 invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) 6314 } 6315 if s.Expression == nil { 6316 invalidParams.Add(request.NewErrParamRequired("Expression")) 6317 } 6318 if s.Expression != nil && len(s.Expression) < 1 { 6319 invalidParams.Add(request.NewErrParamMinLen("Expression", 1)) 6320 } 6321 if s.MaxResults != nil && *s.MaxResults < 1 { 6322 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 6323 } 6324 if s.Expression != nil { 6325 for i, v := range s.Expression { 6326 if v == nil { 6327 continue 6328 } 6329 if err := v.Validate(); err != nil { 6330 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Expression", i), err.(request.ErrInvalidParams)) 6331 } 6332 } 6333 } 6334 6335 if invalidParams.Len() > 0 { 6336 return invalidParams 6337 } 6338 return nil 6339 } 6340 6341 // SetCatalogId sets the CatalogId field's value. 6342 func (s *SearchDatabasesByLFTagsInput) SetCatalogId(v string) *SearchDatabasesByLFTagsInput { 6343 s.CatalogId = &v 6344 return s 6345 } 6346 6347 // SetExpression sets the Expression field's value. 6348 func (s *SearchDatabasesByLFTagsInput) SetExpression(v []*LFTag) *SearchDatabasesByLFTagsInput { 6349 s.Expression = v 6350 return s 6351 } 6352 6353 // SetMaxResults sets the MaxResults field's value. 6354 func (s *SearchDatabasesByLFTagsInput) SetMaxResults(v int64) *SearchDatabasesByLFTagsInput { 6355 s.MaxResults = &v 6356 return s 6357 } 6358 6359 // SetNextToken sets the NextToken field's value. 6360 func (s *SearchDatabasesByLFTagsInput) SetNextToken(v string) *SearchDatabasesByLFTagsInput { 6361 s.NextToken = &v 6362 return s 6363 } 6364 6365 type SearchDatabasesByLFTagsOutput struct { 6366 _ struct{} `type:"structure"` 6367 6368 // A list of databases that meet the tag conditions. 6369 DatabaseList []*TaggedDatabase `type:"list"` 6370 6371 // A continuation token, present if the current list segment is not the last. 6372 NextToken *string `type:"string"` 6373 } 6374 6375 // String returns the string representation. 6376 // 6377 // API parameter values that are decorated as "sensitive" in the API will not 6378 // be included in the string output. The member name will be present, but the 6379 // value will be replaced with "sensitive". 6380 func (s SearchDatabasesByLFTagsOutput) String() string { 6381 return awsutil.Prettify(s) 6382 } 6383 6384 // GoString returns the string representation. 6385 // 6386 // API parameter values that are decorated as "sensitive" in the API will not 6387 // be included in the string output. The member name will be present, but the 6388 // value will be replaced with "sensitive". 6389 func (s SearchDatabasesByLFTagsOutput) GoString() string { 6390 return s.String() 6391 } 6392 6393 // SetDatabaseList sets the DatabaseList field's value. 6394 func (s *SearchDatabasesByLFTagsOutput) SetDatabaseList(v []*TaggedDatabase) *SearchDatabasesByLFTagsOutput { 6395 s.DatabaseList = v 6396 return s 6397 } 6398 6399 // SetNextToken sets the NextToken field's value. 6400 func (s *SearchDatabasesByLFTagsOutput) SetNextToken(v string) *SearchDatabasesByLFTagsOutput { 6401 s.NextToken = &v 6402 return s 6403 } 6404 6405 type SearchTablesByLFTagsInput struct { 6406 _ struct{} `type:"structure"` 6407 6408 // The identifier for the Data Catalog. By default, the account ID. The Data 6409 // Catalog is the persistent metadata store. It contains database definitions, 6410 // table definitions, and other control information to manage your AWS Lake 6411 // Formation environment. 6412 CatalogId *string `min:"1" type:"string"` 6413 6414 // A list of conditions (LFTag structures) to search for in table resources. 6415 // 6416 // Expression is a required field 6417 Expression []*LFTag `min:"1" type:"list" required:"true"` 6418 6419 // The maximum number of results to return. 6420 MaxResults *int64 `min:"1" type:"integer"` 6421 6422 // A continuation token, if this is not the first call to retrieve this list. 6423 NextToken *string `type:"string"` 6424 } 6425 6426 // String returns the string representation. 6427 // 6428 // API parameter values that are decorated as "sensitive" in the API will not 6429 // be included in the string output. The member name will be present, but the 6430 // value will be replaced with "sensitive". 6431 func (s SearchTablesByLFTagsInput) String() string { 6432 return awsutil.Prettify(s) 6433 } 6434 6435 // GoString returns the string representation. 6436 // 6437 // API parameter values that are decorated as "sensitive" in the API will not 6438 // be included in the string output. The member name will be present, but the 6439 // value will be replaced with "sensitive". 6440 func (s SearchTablesByLFTagsInput) GoString() string { 6441 return s.String() 6442 } 6443 6444 // Validate inspects the fields of the type to determine if they are valid. 6445 func (s *SearchTablesByLFTagsInput) Validate() error { 6446 invalidParams := request.ErrInvalidParams{Context: "SearchTablesByLFTagsInput"} 6447 if s.CatalogId != nil && len(*s.CatalogId) < 1 { 6448 invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) 6449 } 6450 if s.Expression == nil { 6451 invalidParams.Add(request.NewErrParamRequired("Expression")) 6452 } 6453 if s.Expression != nil && len(s.Expression) < 1 { 6454 invalidParams.Add(request.NewErrParamMinLen("Expression", 1)) 6455 } 6456 if s.MaxResults != nil && *s.MaxResults < 1 { 6457 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 6458 } 6459 if s.Expression != nil { 6460 for i, v := range s.Expression { 6461 if v == nil { 6462 continue 6463 } 6464 if err := v.Validate(); err != nil { 6465 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Expression", i), err.(request.ErrInvalidParams)) 6466 } 6467 } 6468 } 6469 6470 if invalidParams.Len() > 0 { 6471 return invalidParams 6472 } 6473 return nil 6474 } 6475 6476 // SetCatalogId sets the CatalogId field's value. 6477 func (s *SearchTablesByLFTagsInput) SetCatalogId(v string) *SearchTablesByLFTagsInput { 6478 s.CatalogId = &v 6479 return s 6480 } 6481 6482 // SetExpression sets the Expression field's value. 6483 func (s *SearchTablesByLFTagsInput) SetExpression(v []*LFTag) *SearchTablesByLFTagsInput { 6484 s.Expression = v 6485 return s 6486 } 6487 6488 // SetMaxResults sets the MaxResults field's value. 6489 func (s *SearchTablesByLFTagsInput) SetMaxResults(v int64) *SearchTablesByLFTagsInput { 6490 s.MaxResults = &v 6491 return s 6492 } 6493 6494 // SetNextToken sets the NextToken field's value. 6495 func (s *SearchTablesByLFTagsInput) SetNextToken(v string) *SearchTablesByLFTagsInput { 6496 s.NextToken = &v 6497 return s 6498 } 6499 6500 type SearchTablesByLFTagsOutput struct { 6501 _ struct{} `type:"structure"` 6502 6503 // A continuation token, present if the current list segment is not the last. 6504 NextToken *string `type:"string"` 6505 6506 // A list of tables that meet the tag conditions. 6507 TableList []*TaggedTable `type:"list"` 6508 } 6509 6510 // String returns the string representation. 6511 // 6512 // API parameter values that are decorated as "sensitive" in the API will not 6513 // be included in the string output. The member name will be present, but the 6514 // value will be replaced with "sensitive". 6515 func (s SearchTablesByLFTagsOutput) String() string { 6516 return awsutil.Prettify(s) 6517 } 6518 6519 // GoString returns the string representation. 6520 // 6521 // API parameter values that are decorated as "sensitive" in the API will not 6522 // be included in the string output. The member name will be present, but the 6523 // value will be replaced with "sensitive". 6524 func (s SearchTablesByLFTagsOutput) GoString() string { 6525 return s.String() 6526 } 6527 6528 // SetNextToken sets the NextToken field's value. 6529 func (s *SearchTablesByLFTagsOutput) SetNextToken(v string) *SearchTablesByLFTagsOutput { 6530 s.NextToken = &v 6531 return s 6532 } 6533 6534 // SetTableList sets the TableList field's value. 6535 func (s *SearchTablesByLFTagsOutput) SetTableList(v []*TaggedTable) *SearchTablesByLFTagsOutput { 6536 s.TableList = v 6537 return s 6538 } 6539 6540 // A structure for the table object. A table is a metadata definition that represents 6541 // your data. You can Grant and Revoke table privileges to a principal. 6542 type TableResource struct { 6543 _ struct{} `type:"structure"` 6544 6545 // The identifier for the Data Catalog. By default, it is the account ID of 6546 // the caller. 6547 CatalogId *string `min:"1" type:"string"` 6548 6549 // The name of the database for the table. Unique to a Data Catalog. A database 6550 // is a set of associated table definitions organized into a logical group. 6551 // You can Grant and Revoke database privileges to a principal. 6552 // 6553 // DatabaseName is a required field 6554 DatabaseName *string `min:"1" type:"string" required:"true"` 6555 6556 // The name of the table. 6557 Name *string `min:"1" type:"string"` 6558 6559 // A wildcard object representing every table under a database. 6560 // 6561 // At least one of TableResource$Name or TableResource$TableWildcard is required. 6562 TableWildcard *TableWildcard `type:"structure"` 6563 } 6564 6565 // String returns the string representation. 6566 // 6567 // API parameter values that are decorated as "sensitive" in the API will not 6568 // be included in the string output. The member name will be present, but the 6569 // value will be replaced with "sensitive". 6570 func (s TableResource) String() string { 6571 return awsutil.Prettify(s) 6572 } 6573 6574 // GoString returns the string representation. 6575 // 6576 // API parameter values that are decorated as "sensitive" in the API will not 6577 // be included in the string output. The member name will be present, but the 6578 // value will be replaced with "sensitive". 6579 func (s TableResource) GoString() string { 6580 return s.String() 6581 } 6582 6583 // Validate inspects the fields of the type to determine if they are valid. 6584 func (s *TableResource) Validate() error { 6585 invalidParams := request.ErrInvalidParams{Context: "TableResource"} 6586 if s.CatalogId != nil && len(*s.CatalogId) < 1 { 6587 invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) 6588 } 6589 if s.DatabaseName == nil { 6590 invalidParams.Add(request.NewErrParamRequired("DatabaseName")) 6591 } 6592 if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { 6593 invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) 6594 } 6595 if s.Name != nil && len(*s.Name) < 1 { 6596 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 6597 } 6598 6599 if invalidParams.Len() > 0 { 6600 return invalidParams 6601 } 6602 return nil 6603 } 6604 6605 // SetCatalogId sets the CatalogId field's value. 6606 func (s *TableResource) SetCatalogId(v string) *TableResource { 6607 s.CatalogId = &v 6608 return s 6609 } 6610 6611 // SetDatabaseName sets the DatabaseName field's value. 6612 func (s *TableResource) SetDatabaseName(v string) *TableResource { 6613 s.DatabaseName = &v 6614 return s 6615 } 6616 6617 // SetName sets the Name field's value. 6618 func (s *TableResource) SetName(v string) *TableResource { 6619 s.Name = &v 6620 return s 6621 } 6622 6623 // SetTableWildcard sets the TableWildcard field's value. 6624 func (s *TableResource) SetTableWildcard(v *TableWildcard) *TableResource { 6625 s.TableWildcard = v 6626 return s 6627 } 6628 6629 // A wildcard object representing every table under a database. 6630 type TableWildcard struct { 6631 _ struct{} `type:"structure"` 6632 } 6633 6634 // String returns the string representation. 6635 // 6636 // API parameter values that are decorated as "sensitive" in the API will not 6637 // be included in the string output. The member name will be present, but the 6638 // value will be replaced with "sensitive". 6639 func (s TableWildcard) String() string { 6640 return awsutil.Prettify(s) 6641 } 6642 6643 // GoString returns the string representation. 6644 // 6645 // API parameter values that are decorated as "sensitive" in the API will not 6646 // be included in the string output. The member name will be present, but the 6647 // value will be replaced with "sensitive". 6648 func (s TableWildcard) GoString() string { 6649 return s.String() 6650 } 6651 6652 // A structure for a table with columns object. This object is only used when 6653 // granting a SELECT permission. 6654 // 6655 // This object must take a value for at least one of ColumnsNames, ColumnsIndexes, 6656 // or ColumnsWildcard. 6657 type TableWithColumnsResource struct { 6658 _ struct{} `type:"structure"` 6659 6660 // The identifier for the Data Catalog. By default, it is the account ID of 6661 // the caller. 6662 CatalogId *string `min:"1" type:"string"` 6663 6664 // The list of column names for the table. At least one of ColumnNames or ColumnWildcard 6665 // is required. 6666 ColumnNames []*string `type:"list"` 6667 6668 // A wildcard specified by a ColumnWildcard object. At least one of ColumnNames 6669 // or ColumnWildcard is required. 6670 ColumnWildcard *ColumnWildcard `type:"structure"` 6671 6672 // The name of the database for the table with columns resource. Unique to the 6673 // Data Catalog. A database is a set of associated table definitions organized 6674 // into a logical group. You can Grant and Revoke database privileges to a principal. 6675 // 6676 // DatabaseName is a required field 6677 DatabaseName *string `min:"1" type:"string" required:"true"` 6678 6679 // The name of the table resource. A table is a metadata definition that represents 6680 // your data. You can Grant and Revoke table privileges to a principal. 6681 // 6682 // Name is a required field 6683 Name *string `min:"1" type:"string" required:"true"` 6684 } 6685 6686 // String returns the string representation. 6687 // 6688 // API parameter values that are decorated as "sensitive" in the API will not 6689 // be included in the string output. The member name will be present, but the 6690 // value will be replaced with "sensitive". 6691 func (s TableWithColumnsResource) String() string { 6692 return awsutil.Prettify(s) 6693 } 6694 6695 // GoString returns the string representation. 6696 // 6697 // API parameter values that are decorated as "sensitive" in the API will not 6698 // be included in the string output. The member name will be present, but the 6699 // value will be replaced with "sensitive". 6700 func (s TableWithColumnsResource) GoString() string { 6701 return s.String() 6702 } 6703 6704 // Validate inspects the fields of the type to determine if they are valid. 6705 func (s *TableWithColumnsResource) Validate() error { 6706 invalidParams := request.ErrInvalidParams{Context: "TableWithColumnsResource"} 6707 if s.CatalogId != nil && len(*s.CatalogId) < 1 { 6708 invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) 6709 } 6710 if s.DatabaseName == nil { 6711 invalidParams.Add(request.NewErrParamRequired("DatabaseName")) 6712 } 6713 if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { 6714 invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) 6715 } 6716 if s.Name == nil { 6717 invalidParams.Add(request.NewErrParamRequired("Name")) 6718 } 6719 if s.Name != nil && len(*s.Name) < 1 { 6720 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 6721 } 6722 6723 if invalidParams.Len() > 0 { 6724 return invalidParams 6725 } 6726 return nil 6727 } 6728 6729 // SetCatalogId sets the CatalogId field's value. 6730 func (s *TableWithColumnsResource) SetCatalogId(v string) *TableWithColumnsResource { 6731 s.CatalogId = &v 6732 return s 6733 } 6734 6735 // SetColumnNames sets the ColumnNames field's value. 6736 func (s *TableWithColumnsResource) SetColumnNames(v []*string) *TableWithColumnsResource { 6737 s.ColumnNames = v 6738 return s 6739 } 6740 6741 // SetColumnWildcard sets the ColumnWildcard field's value. 6742 func (s *TableWithColumnsResource) SetColumnWildcard(v *ColumnWildcard) *TableWithColumnsResource { 6743 s.ColumnWildcard = v 6744 return s 6745 } 6746 6747 // SetDatabaseName sets the DatabaseName field's value. 6748 func (s *TableWithColumnsResource) SetDatabaseName(v string) *TableWithColumnsResource { 6749 s.DatabaseName = &v 6750 return s 6751 } 6752 6753 // SetName sets the Name field's value. 6754 func (s *TableWithColumnsResource) SetName(v string) *TableWithColumnsResource { 6755 s.Name = &v 6756 return s 6757 } 6758 6759 // A structure describing a database resource with tags. 6760 type TaggedDatabase struct { 6761 _ struct{} `type:"structure"` 6762 6763 // A database that has tags attached to it. 6764 Database *DatabaseResource `type:"structure"` 6765 6766 // A list of tags attached to the database. 6767 LFTags []*LFTagPair `min:"1" type:"list"` 6768 } 6769 6770 // String 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 TaggedDatabase) String() string { 6776 return awsutil.Prettify(s) 6777 } 6778 6779 // GoString returns the string representation. 6780 // 6781 // API parameter values that are decorated as "sensitive" in the API will not 6782 // be included in the string output. The member name will be present, but the 6783 // value will be replaced with "sensitive". 6784 func (s TaggedDatabase) GoString() string { 6785 return s.String() 6786 } 6787 6788 // SetDatabase sets the Database field's value. 6789 func (s *TaggedDatabase) SetDatabase(v *DatabaseResource) *TaggedDatabase { 6790 s.Database = v 6791 return s 6792 } 6793 6794 // SetLFTags sets the LFTags field's value. 6795 func (s *TaggedDatabase) SetLFTags(v []*LFTagPair) *TaggedDatabase { 6796 s.LFTags = v 6797 return s 6798 } 6799 6800 // A structure describing a table resource with tags. 6801 type TaggedTable struct { 6802 _ struct{} `type:"structure"` 6803 6804 // A list of tags attached to the database where the table resides. 6805 LFTagOnDatabase []*LFTagPair `min:"1" type:"list"` 6806 6807 // A list of tags attached to columns in the table. 6808 LFTagsOnColumns []*ColumnLFTag `type:"list"` 6809 6810 // A list of tags attached to the table. 6811 LFTagsOnTable []*LFTagPair `min:"1" type:"list"` 6812 6813 // A table that has tags attached to it. 6814 Table *TableResource `type:"structure"` 6815 } 6816 6817 // String returns the string representation. 6818 // 6819 // API parameter values that are decorated as "sensitive" in the API will not 6820 // be included in the string output. The member name will be present, but the 6821 // value will be replaced with "sensitive". 6822 func (s TaggedTable) String() string { 6823 return awsutil.Prettify(s) 6824 } 6825 6826 // GoString returns the string representation. 6827 // 6828 // API parameter values that are decorated as "sensitive" in the API will not 6829 // be included in the string output. The member name will be present, but the 6830 // value will be replaced with "sensitive". 6831 func (s TaggedTable) GoString() string { 6832 return s.String() 6833 } 6834 6835 // SetLFTagOnDatabase sets the LFTagOnDatabase field's value. 6836 func (s *TaggedTable) SetLFTagOnDatabase(v []*LFTagPair) *TaggedTable { 6837 s.LFTagOnDatabase = v 6838 return s 6839 } 6840 6841 // SetLFTagsOnColumns sets the LFTagsOnColumns field's value. 6842 func (s *TaggedTable) SetLFTagsOnColumns(v []*ColumnLFTag) *TaggedTable { 6843 s.LFTagsOnColumns = v 6844 return s 6845 } 6846 6847 // SetLFTagsOnTable sets the LFTagsOnTable field's value. 6848 func (s *TaggedTable) SetLFTagsOnTable(v []*LFTagPair) *TaggedTable { 6849 s.LFTagsOnTable = v 6850 return s 6851 } 6852 6853 // SetTable sets the Table field's value. 6854 func (s *TaggedTable) SetTable(v *TableResource) *TaggedTable { 6855 s.Table = v 6856 return s 6857 } 6858 6859 type UpdateLFTagInput struct { 6860 _ struct{} `type:"structure"` 6861 6862 // The identifier for the Data Catalog. By default, the account ID. The Data 6863 // Catalog is the persistent metadata store. It contains database definitions, 6864 // table definitions, and other control information to manage your AWS Lake 6865 // Formation environment. 6866 CatalogId *string `min:"1" type:"string"` 6867 6868 // The key-name for the tag for which to add or delete values. 6869 // 6870 // TagKey is a required field 6871 TagKey *string `min:"1" type:"string" required:"true"` 6872 6873 // A list of tag values to add from the tag. 6874 TagValuesToAdd []*string `min:"1" type:"list"` 6875 6876 // A list of tag values to delete from the tag. 6877 TagValuesToDelete []*string `min:"1" type:"list"` 6878 } 6879 6880 // String returns the string representation. 6881 // 6882 // API parameter values that are decorated as "sensitive" in the API will not 6883 // be included in the string output. The member name will be present, but the 6884 // value will be replaced with "sensitive". 6885 func (s UpdateLFTagInput) String() string { 6886 return awsutil.Prettify(s) 6887 } 6888 6889 // GoString returns the string representation. 6890 // 6891 // API parameter values that are decorated as "sensitive" in the API will not 6892 // be included in the string output. The member name will be present, but the 6893 // value will be replaced with "sensitive". 6894 func (s UpdateLFTagInput) GoString() string { 6895 return s.String() 6896 } 6897 6898 // Validate inspects the fields of the type to determine if they are valid. 6899 func (s *UpdateLFTagInput) Validate() error { 6900 invalidParams := request.ErrInvalidParams{Context: "UpdateLFTagInput"} 6901 if s.CatalogId != nil && len(*s.CatalogId) < 1 { 6902 invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) 6903 } 6904 if s.TagKey == nil { 6905 invalidParams.Add(request.NewErrParamRequired("TagKey")) 6906 } 6907 if s.TagKey != nil && len(*s.TagKey) < 1 { 6908 invalidParams.Add(request.NewErrParamMinLen("TagKey", 1)) 6909 } 6910 if s.TagValuesToAdd != nil && len(s.TagValuesToAdd) < 1 { 6911 invalidParams.Add(request.NewErrParamMinLen("TagValuesToAdd", 1)) 6912 } 6913 if s.TagValuesToDelete != nil && len(s.TagValuesToDelete) < 1 { 6914 invalidParams.Add(request.NewErrParamMinLen("TagValuesToDelete", 1)) 6915 } 6916 6917 if invalidParams.Len() > 0 { 6918 return invalidParams 6919 } 6920 return nil 6921 } 6922 6923 // SetCatalogId sets the CatalogId field's value. 6924 func (s *UpdateLFTagInput) SetCatalogId(v string) *UpdateLFTagInput { 6925 s.CatalogId = &v 6926 return s 6927 } 6928 6929 // SetTagKey sets the TagKey field's value. 6930 func (s *UpdateLFTagInput) SetTagKey(v string) *UpdateLFTagInput { 6931 s.TagKey = &v 6932 return s 6933 } 6934 6935 // SetTagValuesToAdd sets the TagValuesToAdd field's value. 6936 func (s *UpdateLFTagInput) SetTagValuesToAdd(v []*string) *UpdateLFTagInput { 6937 s.TagValuesToAdd = v 6938 return s 6939 } 6940 6941 // SetTagValuesToDelete sets the TagValuesToDelete field's value. 6942 func (s *UpdateLFTagInput) SetTagValuesToDelete(v []*string) *UpdateLFTagInput { 6943 s.TagValuesToDelete = v 6944 return s 6945 } 6946 6947 type UpdateLFTagOutput struct { 6948 _ struct{} `type:"structure"` 6949 } 6950 6951 // String returns the string representation. 6952 // 6953 // API parameter values that are decorated as "sensitive" in the API will not 6954 // be included in the string output. The member name will be present, but the 6955 // value will be replaced with "sensitive". 6956 func (s UpdateLFTagOutput) String() string { 6957 return awsutil.Prettify(s) 6958 } 6959 6960 // GoString returns the string representation. 6961 // 6962 // API parameter values that are decorated as "sensitive" in the API will not 6963 // be included in the string output. The member name will be present, but the 6964 // value will be replaced with "sensitive". 6965 func (s UpdateLFTagOutput) GoString() string { 6966 return s.String() 6967 } 6968 6969 type UpdateResourceInput struct { 6970 _ struct{} `type:"structure"` 6971 6972 // The resource ARN. 6973 // 6974 // ResourceArn is a required field 6975 ResourceArn *string `type:"string" required:"true"` 6976 6977 // The new role to use for the given resource registered in AWS Lake Formation. 6978 // 6979 // RoleArn is a required field 6980 RoleArn *string `type:"string" required:"true"` 6981 } 6982 6983 // String returns the string representation. 6984 // 6985 // API parameter values that are decorated as "sensitive" in the API will not 6986 // be included in the string output. The member name will be present, but the 6987 // value will be replaced with "sensitive". 6988 func (s UpdateResourceInput) String() string { 6989 return awsutil.Prettify(s) 6990 } 6991 6992 // GoString returns the string representation. 6993 // 6994 // API parameter values that are decorated as "sensitive" in the API will not 6995 // be included in the string output. The member name will be present, but the 6996 // value will be replaced with "sensitive". 6997 func (s UpdateResourceInput) GoString() string { 6998 return s.String() 6999 } 7000 7001 // Validate inspects the fields of the type to determine if they are valid. 7002 func (s *UpdateResourceInput) Validate() error { 7003 invalidParams := request.ErrInvalidParams{Context: "UpdateResourceInput"} 7004 if s.ResourceArn == nil { 7005 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 7006 } 7007 if s.RoleArn == nil { 7008 invalidParams.Add(request.NewErrParamRequired("RoleArn")) 7009 } 7010 7011 if invalidParams.Len() > 0 { 7012 return invalidParams 7013 } 7014 return nil 7015 } 7016 7017 // SetResourceArn sets the ResourceArn field's value. 7018 func (s *UpdateResourceInput) SetResourceArn(v string) *UpdateResourceInput { 7019 s.ResourceArn = &v 7020 return s 7021 } 7022 7023 // SetRoleArn sets the RoleArn field's value. 7024 func (s *UpdateResourceInput) SetRoleArn(v string) *UpdateResourceInput { 7025 s.RoleArn = &v 7026 return s 7027 } 7028 7029 type UpdateResourceOutput struct { 7030 _ struct{} `type:"structure"` 7031 } 7032 7033 // String returns the string representation. 7034 // 7035 // API parameter values that are decorated as "sensitive" in the API will not 7036 // be included in the string output. The member name will be present, but the 7037 // value will be replaced with "sensitive". 7038 func (s UpdateResourceOutput) String() string { 7039 return awsutil.Prettify(s) 7040 } 7041 7042 // GoString returns the string representation. 7043 // 7044 // API parameter values that are decorated as "sensitive" in the API will not 7045 // be included in the string output. The member name will be present, but the 7046 // value will be replaced with "sensitive". 7047 func (s UpdateResourceOutput) GoString() string { 7048 return s.String() 7049 } 7050 7051 const ( 7052 // ComparisonOperatorEq is a ComparisonOperator enum value 7053 ComparisonOperatorEq = "EQ" 7054 7055 // ComparisonOperatorNe is a ComparisonOperator enum value 7056 ComparisonOperatorNe = "NE" 7057 7058 // ComparisonOperatorLe is a ComparisonOperator enum value 7059 ComparisonOperatorLe = "LE" 7060 7061 // ComparisonOperatorLt is a ComparisonOperator enum value 7062 ComparisonOperatorLt = "LT" 7063 7064 // ComparisonOperatorGe is a ComparisonOperator enum value 7065 ComparisonOperatorGe = "GE" 7066 7067 // ComparisonOperatorGt is a ComparisonOperator enum value 7068 ComparisonOperatorGt = "GT" 7069 7070 // ComparisonOperatorContains is a ComparisonOperator enum value 7071 ComparisonOperatorContains = "CONTAINS" 7072 7073 // ComparisonOperatorNotContains is a ComparisonOperator enum value 7074 ComparisonOperatorNotContains = "NOT_CONTAINS" 7075 7076 // ComparisonOperatorBeginsWith is a ComparisonOperator enum value 7077 ComparisonOperatorBeginsWith = "BEGINS_WITH" 7078 7079 // ComparisonOperatorIn is a ComparisonOperator enum value 7080 ComparisonOperatorIn = "IN" 7081 7082 // ComparisonOperatorBetween is a ComparisonOperator enum value 7083 ComparisonOperatorBetween = "BETWEEN" 7084 ) 7085 7086 // ComparisonOperator_Values returns all elements of the ComparisonOperator enum 7087 func ComparisonOperator_Values() []string { 7088 return []string{ 7089 ComparisonOperatorEq, 7090 ComparisonOperatorNe, 7091 ComparisonOperatorLe, 7092 ComparisonOperatorLt, 7093 ComparisonOperatorGe, 7094 ComparisonOperatorGt, 7095 ComparisonOperatorContains, 7096 ComparisonOperatorNotContains, 7097 ComparisonOperatorBeginsWith, 7098 ComparisonOperatorIn, 7099 ComparisonOperatorBetween, 7100 } 7101 } 7102 7103 const ( 7104 // DataLakeResourceTypeCatalog is a DataLakeResourceType enum value 7105 DataLakeResourceTypeCatalog = "CATALOG" 7106 7107 // DataLakeResourceTypeDatabase is a DataLakeResourceType enum value 7108 DataLakeResourceTypeDatabase = "DATABASE" 7109 7110 // DataLakeResourceTypeTable is a DataLakeResourceType enum value 7111 DataLakeResourceTypeTable = "TABLE" 7112 7113 // DataLakeResourceTypeDataLocation is a DataLakeResourceType enum value 7114 DataLakeResourceTypeDataLocation = "DATA_LOCATION" 7115 7116 // DataLakeResourceTypeLfTag is a DataLakeResourceType enum value 7117 DataLakeResourceTypeLfTag = "LF_TAG" 7118 7119 // DataLakeResourceTypeLfTagPolicy is a DataLakeResourceType enum value 7120 DataLakeResourceTypeLfTagPolicy = "LF_TAG_POLICY" 7121 7122 // DataLakeResourceTypeLfTagPolicyDatabase is a DataLakeResourceType enum value 7123 DataLakeResourceTypeLfTagPolicyDatabase = "LF_TAG_POLICY_DATABASE" 7124 7125 // DataLakeResourceTypeLfTagPolicyTable is a DataLakeResourceType enum value 7126 DataLakeResourceTypeLfTagPolicyTable = "LF_TAG_POLICY_TABLE" 7127 ) 7128 7129 // DataLakeResourceType_Values returns all elements of the DataLakeResourceType enum 7130 func DataLakeResourceType_Values() []string { 7131 return []string{ 7132 DataLakeResourceTypeCatalog, 7133 DataLakeResourceTypeDatabase, 7134 DataLakeResourceTypeTable, 7135 DataLakeResourceTypeDataLocation, 7136 DataLakeResourceTypeLfTag, 7137 DataLakeResourceTypeLfTagPolicy, 7138 DataLakeResourceTypeLfTagPolicyDatabase, 7139 DataLakeResourceTypeLfTagPolicyTable, 7140 } 7141 } 7142 7143 const ( 7144 // FieldNameStringResourceArn is a FieldNameString enum value 7145 FieldNameStringResourceArn = "RESOURCE_ARN" 7146 7147 // FieldNameStringRoleArn is a FieldNameString enum value 7148 FieldNameStringRoleArn = "ROLE_ARN" 7149 7150 // FieldNameStringLastModified is a FieldNameString enum value 7151 FieldNameStringLastModified = "LAST_MODIFIED" 7152 ) 7153 7154 // FieldNameString_Values returns all elements of the FieldNameString enum 7155 func FieldNameString_Values() []string { 7156 return []string{ 7157 FieldNameStringResourceArn, 7158 FieldNameStringRoleArn, 7159 FieldNameStringLastModified, 7160 } 7161 } 7162 7163 const ( 7164 // PermissionAll is a Permission enum value 7165 PermissionAll = "ALL" 7166 7167 // PermissionSelect is a Permission enum value 7168 PermissionSelect = "SELECT" 7169 7170 // PermissionAlter is a Permission enum value 7171 PermissionAlter = "ALTER" 7172 7173 // PermissionDrop is a Permission enum value 7174 PermissionDrop = "DROP" 7175 7176 // PermissionDelete is a Permission enum value 7177 PermissionDelete = "DELETE" 7178 7179 // PermissionInsert is a Permission enum value 7180 PermissionInsert = "INSERT" 7181 7182 // PermissionDescribe is a Permission enum value 7183 PermissionDescribe = "DESCRIBE" 7184 7185 // PermissionCreateDatabase is a Permission enum value 7186 PermissionCreateDatabase = "CREATE_DATABASE" 7187 7188 // PermissionCreateTable is a Permission enum value 7189 PermissionCreateTable = "CREATE_TABLE" 7190 7191 // PermissionDataLocationAccess is a Permission enum value 7192 PermissionDataLocationAccess = "DATA_LOCATION_ACCESS" 7193 7194 // PermissionCreateTag is a Permission enum value 7195 PermissionCreateTag = "CREATE_TAG" 7196 7197 // PermissionAlterTag is a Permission enum value 7198 PermissionAlterTag = "ALTER_TAG" 7199 7200 // PermissionDeleteTag is a Permission enum value 7201 PermissionDeleteTag = "DELETE_TAG" 7202 7203 // PermissionDescribeTag is a Permission enum value 7204 PermissionDescribeTag = "DESCRIBE_TAG" 7205 7206 // PermissionAssociateTag is a Permission enum value 7207 PermissionAssociateTag = "ASSOCIATE_TAG" 7208 ) 7209 7210 // Permission_Values returns all elements of the Permission enum 7211 func Permission_Values() []string { 7212 return []string{ 7213 PermissionAll, 7214 PermissionSelect, 7215 PermissionAlter, 7216 PermissionDrop, 7217 PermissionDelete, 7218 PermissionInsert, 7219 PermissionDescribe, 7220 PermissionCreateDatabase, 7221 PermissionCreateTable, 7222 PermissionDataLocationAccess, 7223 PermissionCreateTag, 7224 PermissionAlterTag, 7225 PermissionDeleteTag, 7226 PermissionDescribeTag, 7227 PermissionAssociateTag, 7228 } 7229 } 7230 7231 const ( 7232 // ResourceShareTypeForeign is a ResourceShareType enum value 7233 ResourceShareTypeForeign = "FOREIGN" 7234 7235 // ResourceShareTypeAll is a ResourceShareType enum value 7236 ResourceShareTypeAll = "ALL" 7237 ) 7238 7239 // ResourceShareType_Values returns all elements of the ResourceShareType enum 7240 func ResourceShareType_Values() []string { 7241 return []string{ 7242 ResourceShareTypeForeign, 7243 ResourceShareTypeAll, 7244 } 7245 } 7246 7247 const ( 7248 // ResourceTypeDatabase is a ResourceType enum value 7249 ResourceTypeDatabase = "DATABASE" 7250 7251 // ResourceTypeTable is a ResourceType enum value 7252 ResourceTypeTable = "TABLE" 7253 ) 7254 7255 // ResourceType_Values returns all elements of the ResourceType enum 7256 func ResourceType_Values() []string { 7257 return []string{ 7258 ResourceTypeDatabase, 7259 ResourceTypeTable, 7260 } 7261 }