aws-sdk-lakeformation 1.13.0 → 1.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6f79821471a850d0177eadd25451c42dd01001b29cec7bfd2e537568878f2615
4
- data.tar.gz: 20a54c9951e81500c50c874895b79f022820dc8f305e70ffabb2a0956a9150e2
3
+ metadata.gz: 2429cab0782da2c6feee131643cb4a151b8ed3016b7088607665964d8d492a23
4
+ data.tar.gz: 2165eeaacbd775637602d2aeb0506a634bb26f520af892369ad41a073b259a54
5
5
  SHA512:
6
- metadata.gz: 503cb1a198610a7f85cc762baff27d819e33fb1deec313cc24194e50c6734a380890b8b34179a8b2e2c4af633d791732565fc57a3d0a8a62ee77e9a5e2bb5c00
7
- data.tar.gz: 3d0f437354eb2628e1d1cd53f68052392c1bea4be8238cbd33b2ed81feea272892a212548300f0d894adcddae5e7a8176f950cdf26993a85542fd13cd8b4b857
6
+ metadata.gz: 560681de2f9ac0a604bc3825720122817023596a98ec00676127367448b70554f36bb635d75477f3e33dea1ddf299ef54a453b516ac3ff13c99de130b44fb8ab
7
+ data.tar.gz: 9a419decd2f10e94ab7f884dd8a8ab65534081fea3be671e9086afd413e82cc5861aa392981335a6908aa8f5decce16502c43f3eafc7047f22df970a5e60dcc8
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.14.0 (2021-05-07)
5
+ ------------------
6
+
7
+ * Feature - This release adds Tag Based Access Control to AWS Lake Formation service
8
+
4
9
  1.13.0 (2021-03-10)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.13.0
1
+ 1.14.0
@@ -28,7 +28,7 @@ require_relative 'aws-sdk-lakeformation/customizations'
28
28
  # structure.
29
29
  #
30
30
  # lake_formation = Aws::LakeFormation::Client.new
31
- # resp = lake_formation.batch_grant_permissions(params)
31
+ # resp = lake_formation.add_lf_tags_to_resource(params)
32
32
  #
33
33
  # See {Client} for more information.
34
34
  #
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-lakeformation/customizations'
48
48
  # @!group service
49
49
  module Aws::LakeFormation
50
50
 
51
- GEM_VERSION = '1.13.0'
51
+ GEM_VERSION = '1.14.0'
52
52
 
53
53
  end
@@ -337,6 +337,99 @@ module Aws::LakeFormation
337
337
 
338
338
  # @!group API Operations
339
339
 
340
+ # Attaches one or more tags to an existing resource.
341
+ #
342
+ # @option params [String] :catalog_id
343
+ # The identifier for the Data Catalog. By default, the account ID. The
344
+ # Data Catalog is the persistent metadata store. It contains database
345
+ # definitions, table definitions, and other control information to
346
+ # manage your AWS Lake Formation environment.
347
+ #
348
+ # @option params [required, Types::Resource] :resource
349
+ # The resource to which to attach a tag.
350
+ #
351
+ # @option params [required, Array<Types::LFTagPair>] :lf_tags
352
+ # The tags to attach to the resource.
353
+ #
354
+ # @return [Types::AddLFTagsToResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
355
+ #
356
+ # * {Types::AddLFTagsToResourceResponse#failures #failures} => Array&lt;Types::LFTagError&gt;
357
+ #
358
+ # @example Request syntax with placeholder values
359
+ #
360
+ # resp = client.add_lf_tags_to_resource({
361
+ # catalog_id: "CatalogIdString",
362
+ # resource: { # required
363
+ # catalog: {
364
+ # },
365
+ # database: {
366
+ # catalog_id: "CatalogIdString",
367
+ # name: "NameString", # required
368
+ # },
369
+ # table: {
370
+ # catalog_id: "CatalogIdString",
371
+ # database_name: "NameString", # required
372
+ # name: "NameString",
373
+ # table_wildcard: {
374
+ # },
375
+ # },
376
+ # table_with_columns: {
377
+ # catalog_id: "CatalogIdString",
378
+ # database_name: "NameString", # required
379
+ # name: "NameString", # required
380
+ # column_names: ["NameString"],
381
+ # column_wildcard: {
382
+ # excluded_column_names: ["NameString"],
383
+ # },
384
+ # },
385
+ # data_location: {
386
+ # catalog_id: "CatalogIdString",
387
+ # resource_arn: "ResourceArnString", # required
388
+ # },
389
+ # lf_tag: {
390
+ # catalog_id: "CatalogIdString",
391
+ # tag_key: "NameString", # required
392
+ # tag_values: ["LFTagValue"], # required
393
+ # },
394
+ # lf_tag_policy: {
395
+ # catalog_id: "CatalogIdString",
396
+ # resource_type: "DATABASE", # required, accepts DATABASE, TABLE
397
+ # expression: [ # required
398
+ # {
399
+ # tag_key: "LFTagKey", # required
400
+ # tag_values: ["LFTagValue"], # required
401
+ # },
402
+ # ],
403
+ # },
404
+ # },
405
+ # lf_tags: [ # required
406
+ # {
407
+ # catalog_id: "CatalogIdString",
408
+ # tag_key: "LFTagKey", # required
409
+ # tag_values: ["LFTagValue"], # required
410
+ # },
411
+ # ],
412
+ # })
413
+ #
414
+ # @example Response structure
415
+ #
416
+ # resp.failures #=> Array
417
+ # resp.failures[0].lf_tag.catalog_id #=> String
418
+ # resp.failures[0].lf_tag.tag_key #=> String
419
+ # resp.failures[0].lf_tag.tag_values #=> Array
420
+ # resp.failures[0].lf_tag.tag_values[0] #=> String
421
+ # resp.failures[0].error.error_code #=> String
422
+ # resp.failures[0].error.error_message #=> String
423
+ #
424
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/AddLFTagsToResource AWS API Documentation
425
+ #
426
+ # @overload add_lf_tags_to_resource(params = {})
427
+ # @param [Hash] params ({})
428
+ def add_lf_tags_to_resource(params = {}, options = {})
429
+ req = build_request(:add_lf_tags_to_resource, params)
430
+ req.send_request(options)
431
+ end
432
+
340
433
  # Batch operation to grant permissions to the principal.
341
434
  #
342
435
  # @option params [String] :catalog_id
@@ -390,9 +483,24 @@ module Aws::LakeFormation
390
483
  # catalog_id: "CatalogIdString",
391
484
  # resource_arn: "ResourceArnString", # required
392
485
  # },
486
+ # lf_tag: {
487
+ # catalog_id: "CatalogIdString",
488
+ # tag_key: "NameString", # required
489
+ # tag_values: ["LFTagValue"], # required
490
+ # },
491
+ # lf_tag_policy: {
492
+ # catalog_id: "CatalogIdString",
493
+ # resource_type: "DATABASE", # required, accepts DATABASE, TABLE
494
+ # expression: [ # required
495
+ # {
496
+ # tag_key: "LFTagKey", # required
497
+ # tag_values: ["LFTagValue"], # required
498
+ # },
499
+ # ],
500
+ # },
393
501
  # },
394
- # permissions: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS
395
- # permissions_with_grant_option: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS
502
+ # permissions: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_TAG, ALTER_TAG, DELETE_TAG, DESCRIBE_TAG, ASSOCIATE_TAG
503
+ # permissions_with_grant_option: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_TAG, ALTER_TAG, DELETE_TAG, DESCRIBE_TAG, ASSOCIATE_TAG
396
504
  # },
397
505
  # ],
398
506
  # })
@@ -416,10 +524,20 @@ module Aws::LakeFormation
416
524
  # resp.failures[0].request_entry.resource.table_with_columns.column_wildcard.excluded_column_names[0] #=> String
417
525
  # resp.failures[0].request_entry.resource.data_location.catalog_id #=> String
418
526
  # resp.failures[0].request_entry.resource.data_location.resource_arn #=> String
527
+ # resp.failures[0].request_entry.resource.lf_tag.catalog_id #=> String
528
+ # resp.failures[0].request_entry.resource.lf_tag.tag_key #=> String
529
+ # resp.failures[0].request_entry.resource.lf_tag.tag_values #=> Array
530
+ # resp.failures[0].request_entry.resource.lf_tag.tag_values[0] #=> String
531
+ # resp.failures[0].request_entry.resource.lf_tag_policy.catalog_id #=> String
532
+ # resp.failures[0].request_entry.resource.lf_tag_policy.resource_type #=> String, one of "DATABASE", "TABLE"
533
+ # resp.failures[0].request_entry.resource.lf_tag_policy.expression #=> Array
534
+ # resp.failures[0].request_entry.resource.lf_tag_policy.expression[0].tag_key #=> String
535
+ # resp.failures[0].request_entry.resource.lf_tag_policy.expression[0].tag_values #=> Array
536
+ # resp.failures[0].request_entry.resource.lf_tag_policy.expression[0].tag_values[0] #=> String
419
537
  # resp.failures[0].request_entry.permissions #=> Array
420
- # resp.failures[0].request_entry.permissions[0] #=> String, one of "ALL", "SELECT", "ALTER", "DROP", "DELETE", "INSERT", "DESCRIBE", "CREATE_DATABASE", "CREATE_TABLE", "DATA_LOCATION_ACCESS"
538
+ # resp.failures[0].request_entry.permissions[0] #=> String, one of "ALL", "SELECT", "ALTER", "DROP", "DELETE", "INSERT", "DESCRIBE", "CREATE_DATABASE", "CREATE_TABLE", "DATA_LOCATION_ACCESS", "CREATE_TAG", "ALTER_TAG", "DELETE_TAG", "DESCRIBE_TAG", "ASSOCIATE_TAG"
421
539
  # resp.failures[0].request_entry.permissions_with_grant_option #=> Array
422
- # resp.failures[0].request_entry.permissions_with_grant_option[0] #=> String, one of "ALL", "SELECT", "ALTER", "DROP", "DELETE", "INSERT", "DESCRIBE", "CREATE_DATABASE", "CREATE_TABLE", "DATA_LOCATION_ACCESS"
540
+ # resp.failures[0].request_entry.permissions_with_grant_option[0] #=> String, one of "ALL", "SELECT", "ALTER", "DROP", "DELETE", "INSERT", "DESCRIBE", "CREATE_DATABASE", "CREATE_TABLE", "DATA_LOCATION_ACCESS", "CREATE_TAG", "ALTER_TAG", "DELETE_TAG", "DESCRIBE_TAG", "ASSOCIATE_TAG"
423
541
  # resp.failures[0].error.error_code #=> String
424
542
  # resp.failures[0].error.error_message #=> String
425
543
  #
@@ -485,9 +603,24 @@ module Aws::LakeFormation
485
603
  # catalog_id: "CatalogIdString",
486
604
  # resource_arn: "ResourceArnString", # required
487
605
  # },
606
+ # lf_tag: {
607
+ # catalog_id: "CatalogIdString",
608
+ # tag_key: "NameString", # required
609
+ # tag_values: ["LFTagValue"], # required
610
+ # },
611
+ # lf_tag_policy: {
612
+ # catalog_id: "CatalogIdString",
613
+ # resource_type: "DATABASE", # required, accepts DATABASE, TABLE
614
+ # expression: [ # required
615
+ # {
616
+ # tag_key: "LFTagKey", # required
617
+ # tag_values: ["LFTagValue"], # required
618
+ # },
619
+ # ],
620
+ # },
488
621
  # },
489
- # permissions: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS
490
- # permissions_with_grant_option: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS
622
+ # permissions: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_TAG, ALTER_TAG, DELETE_TAG, DESCRIBE_TAG, ASSOCIATE_TAG
623
+ # permissions_with_grant_option: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_TAG, ALTER_TAG, DELETE_TAG, DESCRIBE_TAG, ASSOCIATE_TAG
491
624
  # },
492
625
  # ],
493
626
  # })
@@ -511,10 +644,20 @@ module Aws::LakeFormation
511
644
  # resp.failures[0].request_entry.resource.table_with_columns.column_wildcard.excluded_column_names[0] #=> String
512
645
  # resp.failures[0].request_entry.resource.data_location.catalog_id #=> String
513
646
  # resp.failures[0].request_entry.resource.data_location.resource_arn #=> String
647
+ # resp.failures[0].request_entry.resource.lf_tag.catalog_id #=> String
648
+ # resp.failures[0].request_entry.resource.lf_tag.tag_key #=> String
649
+ # resp.failures[0].request_entry.resource.lf_tag.tag_values #=> Array
650
+ # resp.failures[0].request_entry.resource.lf_tag.tag_values[0] #=> String
651
+ # resp.failures[0].request_entry.resource.lf_tag_policy.catalog_id #=> String
652
+ # resp.failures[0].request_entry.resource.lf_tag_policy.resource_type #=> String, one of "DATABASE", "TABLE"
653
+ # resp.failures[0].request_entry.resource.lf_tag_policy.expression #=> Array
654
+ # resp.failures[0].request_entry.resource.lf_tag_policy.expression[0].tag_key #=> String
655
+ # resp.failures[0].request_entry.resource.lf_tag_policy.expression[0].tag_values #=> Array
656
+ # resp.failures[0].request_entry.resource.lf_tag_policy.expression[0].tag_values[0] #=> String
514
657
  # resp.failures[0].request_entry.permissions #=> Array
515
- # resp.failures[0].request_entry.permissions[0] #=> String, one of "ALL", "SELECT", "ALTER", "DROP", "DELETE", "INSERT", "DESCRIBE", "CREATE_DATABASE", "CREATE_TABLE", "DATA_LOCATION_ACCESS"
658
+ # resp.failures[0].request_entry.permissions[0] #=> String, one of "ALL", "SELECT", "ALTER", "DROP", "DELETE", "INSERT", "DESCRIBE", "CREATE_DATABASE", "CREATE_TABLE", "DATA_LOCATION_ACCESS", "CREATE_TAG", "ALTER_TAG", "DELETE_TAG", "DESCRIBE_TAG", "ASSOCIATE_TAG"
516
659
  # resp.failures[0].request_entry.permissions_with_grant_option #=> Array
517
- # resp.failures[0].request_entry.permissions_with_grant_option[0] #=> String, one of "ALL", "SELECT", "ALTER", "DROP", "DELETE", "INSERT", "DESCRIBE", "CREATE_DATABASE", "CREATE_TABLE", "DATA_LOCATION_ACCESS"
660
+ # resp.failures[0].request_entry.permissions_with_grant_option[0] #=> String, one of "ALL", "SELECT", "ALTER", "DROP", "DELETE", "INSERT", "DESCRIBE", "CREATE_DATABASE", "CREATE_TABLE", "DATA_LOCATION_ACCESS", "CREATE_TAG", "ALTER_TAG", "DELETE_TAG", "DESCRIBE_TAG", "ASSOCIATE_TAG"
518
661
  # resp.failures[0].error.error_code #=> String
519
662
  # resp.failures[0].error.error_message #=> String
520
663
  #
@@ -527,6 +670,74 @@ module Aws::LakeFormation
527
670
  req.send_request(options)
528
671
  end
529
672
 
673
+ # Creates a tag with the specified name and values.
674
+ #
675
+ # @option params [String] :catalog_id
676
+ # The identifier for the Data Catalog. By default, the account ID. The
677
+ # Data Catalog is the persistent metadata store. It contains database
678
+ # definitions, table definitions, and other control information to
679
+ # manage your AWS Lake Formation environment.
680
+ #
681
+ # @option params [required, String] :tag_key
682
+ # The key-name for the tag.
683
+ #
684
+ # @option params [required, Array<String>] :tag_values
685
+ # A list of possible values an attribute can take.
686
+ #
687
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
688
+ #
689
+ # @example Request syntax with placeholder values
690
+ #
691
+ # resp = client.create_lf_tag({
692
+ # catalog_id: "CatalogIdString",
693
+ # tag_key: "LFTagKey", # required
694
+ # tag_values: ["LFTagValue"], # required
695
+ # })
696
+ #
697
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/CreateLFTag AWS API Documentation
698
+ #
699
+ # @overload create_lf_tag(params = {})
700
+ # @param [Hash] params ({})
701
+ def create_lf_tag(params = {}, options = {})
702
+ req = build_request(:create_lf_tag, params)
703
+ req.send_request(options)
704
+ end
705
+
706
+ # Deletes the specified tag key name. If the attribute key does not
707
+ # exist or the tag does not exist, then the operation will not do
708
+ # anything. If the attribute key exists, then the operation checks if
709
+ # any resources are tagged with this attribute key, if yes, the API
710
+ # throws a 400 Exception with the message "Delete not allowed" as the
711
+ # tag key is still attached with resources. You can consider untagging
712
+ # resources with this tag key.
713
+ #
714
+ # @option params [String] :catalog_id
715
+ # The identifier for the Data Catalog. By default, the account ID. The
716
+ # Data Catalog is the persistent metadata store. It contains database
717
+ # definitions, table definitions, and other control information to
718
+ # manage your AWS Lake Formation environment.
719
+ #
720
+ # @option params [required, String] :tag_key
721
+ # The key-name for the tag to delete.
722
+ #
723
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
724
+ #
725
+ # @example Request syntax with placeholder values
726
+ #
727
+ # resp = client.delete_lf_tag({
728
+ # catalog_id: "CatalogIdString",
729
+ # tag_key: "LFTagKey", # required
730
+ # })
731
+ #
732
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeleteLFTag AWS API Documentation
733
+ #
734
+ # @overload delete_lf_tag(params = {})
735
+ # @param [Hash] params ({})
736
+ def delete_lf_tag(params = {}, options = {})
737
+ req = build_request(:delete_lf_tag, params)
738
+ req.send_request(options)
739
+ end
740
+
530
741
  # Deregisters the resource as managed by the Data Catalog.
531
742
  #
532
743
  # When you deregister a path, Lake Formation removes the path from the
@@ -610,11 +821,11 @@ module Aws::LakeFormation
610
821
  # resp.data_lake_settings.create_database_default_permissions #=> Array
611
822
  # resp.data_lake_settings.create_database_default_permissions[0].principal.data_lake_principal_identifier #=> String
612
823
  # resp.data_lake_settings.create_database_default_permissions[0].permissions #=> Array
613
- # resp.data_lake_settings.create_database_default_permissions[0].permissions[0] #=> String, one of "ALL", "SELECT", "ALTER", "DROP", "DELETE", "INSERT", "DESCRIBE", "CREATE_DATABASE", "CREATE_TABLE", "DATA_LOCATION_ACCESS"
824
+ # resp.data_lake_settings.create_database_default_permissions[0].permissions[0] #=> String, one of "ALL", "SELECT", "ALTER", "DROP", "DELETE", "INSERT", "DESCRIBE", "CREATE_DATABASE", "CREATE_TABLE", "DATA_LOCATION_ACCESS", "CREATE_TAG", "ALTER_TAG", "DELETE_TAG", "DESCRIBE_TAG", "ASSOCIATE_TAG"
614
825
  # resp.data_lake_settings.create_table_default_permissions #=> Array
615
826
  # resp.data_lake_settings.create_table_default_permissions[0].principal.data_lake_principal_identifier #=> String
616
827
  # resp.data_lake_settings.create_table_default_permissions[0].permissions #=> Array
617
- # resp.data_lake_settings.create_table_default_permissions[0].permissions[0] #=> String, one of "ALL", "SELECT", "ALTER", "DROP", "DELETE", "INSERT", "DESCRIBE", "CREATE_DATABASE", "CREATE_TABLE", "DATA_LOCATION_ACCESS"
828
+ # resp.data_lake_settings.create_table_default_permissions[0].permissions[0] #=> String, one of "ALL", "SELECT", "ALTER", "DROP", "DELETE", "INSERT", "DESCRIBE", "CREATE_DATABASE", "CREATE_TABLE", "DATA_LOCATION_ACCESS", "CREATE_TAG", "ALTER_TAG", "DELETE_TAG", "DESCRIBE_TAG", "ASSOCIATE_TAG"
618
829
  # resp.data_lake_settings.trusted_resource_owners #=> Array
619
830
  # resp.data_lake_settings.trusted_resource_owners[0] #=> String
620
831
  #
@@ -683,10 +894,20 @@ module Aws::LakeFormation
683
894
  # resp.permissions[0].resource.table_with_columns.column_wildcard.excluded_column_names[0] #=> String
684
895
  # resp.permissions[0].resource.data_location.catalog_id #=> String
685
896
  # resp.permissions[0].resource.data_location.resource_arn #=> String
897
+ # resp.permissions[0].resource.lf_tag.catalog_id #=> String
898
+ # resp.permissions[0].resource.lf_tag.tag_key #=> String
899
+ # resp.permissions[0].resource.lf_tag.tag_values #=> Array
900
+ # resp.permissions[0].resource.lf_tag.tag_values[0] #=> String
901
+ # resp.permissions[0].resource.lf_tag_policy.catalog_id #=> String
902
+ # resp.permissions[0].resource.lf_tag_policy.resource_type #=> String, one of "DATABASE", "TABLE"
903
+ # resp.permissions[0].resource.lf_tag_policy.expression #=> Array
904
+ # resp.permissions[0].resource.lf_tag_policy.expression[0].tag_key #=> String
905
+ # resp.permissions[0].resource.lf_tag_policy.expression[0].tag_values #=> Array
906
+ # resp.permissions[0].resource.lf_tag_policy.expression[0].tag_values[0] #=> String
686
907
  # resp.permissions[0].permissions #=> Array
687
- # resp.permissions[0].permissions[0] #=> String, one of "ALL", "SELECT", "ALTER", "DROP", "DELETE", "INSERT", "DESCRIBE", "CREATE_DATABASE", "CREATE_TABLE", "DATA_LOCATION_ACCESS"
908
+ # resp.permissions[0].permissions[0] #=> String, one of "ALL", "SELECT", "ALTER", "DROP", "DELETE", "INSERT", "DESCRIBE", "CREATE_DATABASE", "CREATE_TABLE", "DATA_LOCATION_ACCESS", "CREATE_TAG", "ALTER_TAG", "DELETE_TAG", "DESCRIBE_TAG", "ASSOCIATE_TAG"
688
909
  # resp.permissions[0].permissions_with_grant_option #=> Array
689
- # resp.permissions[0].permissions_with_grant_option[0] #=> String, one of "ALL", "SELECT", "ALTER", "DROP", "DELETE", "INSERT", "DESCRIBE", "CREATE_DATABASE", "CREATE_TABLE", "DATA_LOCATION_ACCESS"
910
+ # resp.permissions[0].permissions_with_grant_option[0] #=> String, one of "ALL", "SELECT", "ALTER", "DROP", "DELETE", "INSERT", "DESCRIBE", "CREATE_DATABASE", "CREATE_TABLE", "DATA_LOCATION_ACCESS", "CREATE_TAG", "ALTER_TAG", "DELETE_TAG", "DESCRIBE_TAG", "ASSOCIATE_TAG"
690
911
  # resp.permissions[0].additional_details.resource_share #=> Array
691
912
  # resp.permissions[0].additional_details.resource_share[0] #=> String
692
913
  # resp.next_token #=> String
@@ -700,6 +921,145 @@ module Aws::LakeFormation
700
921
  req.send_request(options)
701
922
  end
702
923
 
924
+ # Returns a tag definition.
925
+ #
926
+ # @option params [String] :catalog_id
927
+ # The identifier for the Data Catalog. By default, the account ID. The
928
+ # Data Catalog is the persistent metadata store. It contains database
929
+ # definitions, table definitions, and other control information to
930
+ # manage your AWS Lake Formation environment.
931
+ #
932
+ # @option params [required, String] :tag_key
933
+ # The key-name for the tag.
934
+ #
935
+ # @return [Types::GetLFTagResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
936
+ #
937
+ # * {Types::GetLFTagResponse#catalog_id #catalog_id} => String
938
+ # * {Types::GetLFTagResponse#tag_key #tag_key} => String
939
+ # * {Types::GetLFTagResponse#tag_values #tag_values} => Array&lt;String&gt;
940
+ #
941
+ # @example Request syntax with placeholder values
942
+ #
943
+ # resp = client.get_lf_tag({
944
+ # catalog_id: "CatalogIdString",
945
+ # tag_key: "LFTagKey", # required
946
+ # })
947
+ #
948
+ # @example Response structure
949
+ #
950
+ # resp.catalog_id #=> String
951
+ # resp.tag_key #=> String
952
+ # resp.tag_values #=> Array
953
+ # resp.tag_values[0] #=> String
954
+ #
955
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetLFTag AWS API Documentation
956
+ #
957
+ # @overload get_lf_tag(params = {})
958
+ # @param [Hash] params ({})
959
+ def get_lf_tag(params = {}, options = {})
960
+ req = build_request(:get_lf_tag, params)
961
+ req.send_request(options)
962
+ end
963
+
964
+ # Returns the tags applied to a resource.
965
+ #
966
+ # @option params [String] :catalog_id
967
+ # The identifier for the Data Catalog. By default, the account ID. The
968
+ # Data Catalog is the persistent metadata store. It contains database
969
+ # definitions, table definitions, and other control information to
970
+ # manage your AWS Lake Formation environment.
971
+ #
972
+ # @option params [required, Types::Resource] :resource
973
+ # The resource for which you want to return tags.
974
+ #
975
+ # @option params [Boolean] :show_assigned_lf_tags
976
+ # Indicates whether to show the assigned tags.
977
+ #
978
+ # @return [Types::GetResourceLFTagsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
979
+ #
980
+ # * {Types::GetResourceLFTagsResponse#lf_tag_on_database #lf_tag_on_database} => Array&lt;Types::LFTagPair&gt;
981
+ # * {Types::GetResourceLFTagsResponse#lf_tags_on_table #lf_tags_on_table} => Array&lt;Types::LFTagPair&gt;
982
+ # * {Types::GetResourceLFTagsResponse#lf_tags_on_columns #lf_tags_on_columns} => Array&lt;Types::ColumnLFTag&gt;
983
+ #
984
+ # @example Request syntax with placeholder values
985
+ #
986
+ # resp = client.get_resource_lf_tags({
987
+ # catalog_id: "CatalogIdString",
988
+ # resource: { # required
989
+ # catalog: {
990
+ # },
991
+ # database: {
992
+ # catalog_id: "CatalogIdString",
993
+ # name: "NameString", # required
994
+ # },
995
+ # table: {
996
+ # catalog_id: "CatalogIdString",
997
+ # database_name: "NameString", # required
998
+ # name: "NameString",
999
+ # table_wildcard: {
1000
+ # },
1001
+ # },
1002
+ # table_with_columns: {
1003
+ # catalog_id: "CatalogIdString",
1004
+ # database_name: "NameString", # required
1005
+ # name: "NameString", # required
1006
+ # column_names: ["NameString"],
1007
+ # column_wildcard: {
1008
+ # excluded_column_names: ["NameString"],
1009
+ # },
1010
+ # },
1011
+ # data_location: {
1012
+ # catalog_id: "CatalogIdString",
1013
+ # resource_arn: "ResourceArnString", # required
1014
+ # },
1015
+ # lf_tag: {
1016
+ # catalog_id: "CatalogIdString",
1017
+ # tag_key: "NameString", # required
1018
+ # tag_values: ["LFTagValue"], # required
1019
+ # },
1020
+ # lf_tag_policy: {
1021
+ # catalog_id: "CatalogIdString",
1022
+ # resource_type: "DATABASE", # required, accepts DATABASE, TABLE
1023
+ # expression: [ # required
1024
+ # {
1025
+ # tag_key: "LFTagKey", # required
1026
+ # tag_values: ["LFTagValue"], # required
1027
+ # },
1028
+ # ],
1029
+ # },
1030
+ # },
1031
+ # show_assigned_lf_tags: false,
1032
+ # })
1033
+ #
1034
+ # @example Response structure
1035
+ #
1036
+ # resp.lf_tag_on_database #=> Array
1037
+ # resp.lf_tag_on_database[0].catalog_id #=> String
1038
+ # resp.lf_tag_on_database[0].tag_key #=> String
1039
+ # resp.lf_tag_on_database[0].tag_values #=> Array
1040
+ # resp.lf_tag_on_database[0].tag_values[0] #=> String
1041
+ # resp.lf_tags_on_table #=> Array
1042
+ # resp.lf_tags_on_table[0].catalog_id #=> String
1043
+ # resp.lf_tags_on_table[0].tag_key #=> String
1044
+ # resp.lf_tags_on_table[0].tag_values #=> Array
1045
+ # resp.lf_tags_on_table[0].tag_values[0] #=> String
1046
+ # resp.lf_tags_on_columns #=> Array
1047
+ # resp.lf_tags_on_columns[0].name #=> String
1048
+ # resp.lf_tags_on_columns[0].lf_tags #=> Array
1049
+ # resp.lf_tags_on_columns[0].lf_tags[0].catalog_id #=> String
1050
+ # resp.lf_tags_on_columns[0].lf_tags[0].tag_key #=> String
1051
+ # resp.lf_tags_on_columns[0].lf_tags[0].tag_values #=> Array
1052
+ # resp.lf_tags_on_columns[0].lf_tags[0].tag_values[0] #=> String
1053
+ #
1054
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetResourceLFTags AWS API Documentation
1055
+ #
1056
+ # @overload get_resource_lf_tags(params = {})
1057
+ # @param [Hash] params ({})
1058
+ def get_resource_lf_tags(params = {}, options = {})
1059
+ req = build_request(:get_resource_lf_tags, params)
1060
+ req.send_request(options)
1061
+ end
1062
+
703
1063
  # Grants permissions to the principal to access metadata in the Data
704
1064
  # Catalog and data organized in underlying data storage such as Amazon
705
1065
  # S3.
@@ -778,9 +1138,24 @@ module Aws::LakeFormation
778
1138
  # catalog_id: "CatalogIdString",
779
1139
  # resource_arn: "ResourceArnString", # required
780
1140
  # },
1141
+ # lf_tag: {
1142
+ # catalog_id: "CatalogIdString",
1143
+ # tag_key: "NameString", # required
1144
+ # tag_values: ["LFTagValue"], # required
1145
+ # },
1146
+ # lf_tag_policy: {
1147
+ # catalog_id: "CatalogIdString",
1148
+ # resource_type: "DATABASE", # required, accepts DATABASE, TABLE
1149
+ # expression: [ # required
1150
+ # {
1151
+ # tag_key: "LFTagKey", # required
1152
+ # tag_values: ["LFTagValue"], # required
1153
+ # },
1154
+ # ],
1155
+ # },
781
1156
  # },
782
- # permissions: ["ALL"], # required, accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS
783
- # permissions_with_grant_option: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS
1157
+ # permissions: ["ALL"], # required, accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_TAG, ALTER_TAG, DELETE_TAG, DESCRIBE_TAG, ASSOCIATE_TAG
1158
+ # permissions_with_grant_option: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_TAG, ALTER_TAG, DELETE_TAG, DESCRIBE_TAG, ASSOCIATE_TAG
784
1159
  # })
785
1160
  #
786
1161
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GrantPermissions AWS API Documentation
@@ -792,6 +1167,60 @@ module Aws::LakeFormation
792
1167
  req.send_request(options)
793
1168
  end
794
1169
 
1170
+ # Lists tags that the requester has permission to view.
1171
+ #
1172
+ # @option params [String] :catalog_id
1173
+ # The identifier for the Data Catalog. By default, the account ID. The
1174
+ # Data Catalog is the persistent metadata store. It contains database
1175
+ # definitions, table definitions, and other control information to
1176
+ # manage your AWS Lake Formation environment.
1177
+ #
1178
+ # @option params [String] :resource_share_type
1179
+ # If resource share type is `ALL`, returns both in-account tags and
1180
+ # shared tags that the requester has permission to view. If resource
1181
+ # share type is `FOREIGN`, returns all share tags that the requester can
1182
+ # view. If no resource share type is passed, lists tags in the given
1183
+ # catalog ID that the requester has permission to view.
1184
+ #
1185
+ # @option params [Integer] :max_results
1186
+ # The maximum number of results to return.
1187
+ #
1188
+ # @option params [String] :next_token
1189
+ # A continuation token, if this is not the first call to retrieve this
1190
+ # list.
1191
+ #
1192
+ # @return [Types::ListLFTagsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1193
+ #
1194
+ # * {Types::ListLFTagsResponse#lf_tags #lf_tags} => Array&lt;Types::LFTagPair&gt;
1195
+ # * {Types::ListLFTagsResponse#next_token #next_token} => String
1196
+ #
1197
+ # @example Request syntax with placeholder values
1198
+ #
1199
+ # resp = client.list_lf_tags({
1200
+ # catalog_id: "CatalogIdString",
1201
+ # resource_share_type: "FOREIGN", # accepts FOREIGN, ALL
1202
+ # max_results: 1,
1203
+ # next_token: "Token",
1204
+ # })
1205
+ #
1206
+ # @example Response structure
1207
+ #
1208
+ # resp.lf_tags #=> Array
1209
+ # resp.lf_tags[0].catalog_id #=> String
1210
+ # resp.lf_tags[0].tag_key #=> String
1211
+ # resp.lf_tags[0].tag_values #=> Array
1212
+ # resp.lf_tags[0].tag_values[0] #=> String
1213
+ # resp.next_token #=> String
1214
+ #
1215
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListLFTags AWS API Documentation
1216
+ #
1217
+ # @overload list_lf_tags(params = {})
1218
+ # @param [Hash] params ({})
1219
+ def list_lf_tags(params = {}, options = {})
1220
+ req = build_request(:list_lf_tags, params)
1221
+ req.send_request(options)
1222
+ end
1223
+
795
1224
  # Returns a list of the principal permissions on the resource, filtered
796
1225
  # by the permissions of the caller. For example, if you are granted an
797
1226
  # ALTER permission, you are able to see only the principal permissions
@@ -847,7 +1276,7 @@ module Aws::LakeFormation
847
1276
  # principal: {
848
1277
  # data_lake_principal_identifier: "DataLakePrincipalString",
849
1278
  # },
850
- # resource_type: "CATALOG", # accepts CATALOG, DATABASE, TABLE, DATA_LOCATION
1279
+ # resource_type: "CATALOG", # accepts CATALOG, DATABASE, TABLE, DATA_LOCATION, LF_TAG, LF_TAG_POLICY, LF_TAG_POLICY_DATABASE, LF_TAG_POLICY_TABLE
851
1280
  # resource: {
852
1281
  # catalog: {
853
1282
  # },
@@ -875,6 +1304,21 @@ module Aws::LakeFormation
875
1304
  # catalog_id: "CatalogIdString",
876
1305
  # resource_arn: "ResourceArnString", # required
877
1306
  # },
1307
+ # lf_tag: {
1308
+ # catalog_id: "CatalogIdString",
1309
+ # tag_key: "NameString", # required
1310
+ # tag_values: ["LFTagValue"], # required
1311
+ # },
1312
+ # lf_tag_policy: {
1313
+ # catalog_id: "CatalogIdString",
1314
+ # resource_type: "DATABASE", # required, accepts DATABASE, TABLE
1315
+ # expression: [ # required
1316
+ # {
1317
+ # tag_key: "LFTagKey", # required
1318
+ # tag_values: ["LFTagValue"], # required
1319
+ # },
1320
+ # ],
1321
+ # },
878
1322
  # },
879
1323
  # next_token: "Token",
880
1324
  # max_results: 1,
@@ -898,10 +1342,20 @@ module Aws::LakeFormation
898
1342
  # resp.principal_resource_permissions[0].resource.table_with_columns.column_wildcard.excluded_column_names[0] #=> String
899
1343
  # resp.principal_resource_permissions[0].resource.data_location.catalog_id #=> String
900
1344
  # resp.principal_resource_permissions[0].resource.data_location.resource_arn #=> String
1345
+ # resp.principal_resource_permissions[0].resource.lf_tag.catalog_id #=> String
1346
+ # resp.principal_resource_permissions[0].resource.lf_tag.tag_key #=> String
1347
+ # resp.principal_resource_permissions[0].resource.lf_tag.tag_values #=> Array
1348
+ # resp.principal_resource_permissions[0].resource.lf_tag.tag_values[0] #=> String
1349
+ # resp.principal_resource_permissions[0].resource.lf_tag_policy.catalog_id #=> String
1350
+ # resp.principal_resource_permissions[0].resource.lf_tag_policy.resource_type #=> String, one of "DATABASE", "TABLE"
1351
+ # resp.principal_resource_permissions[0].resource.lf_tag_policy.expression #=> Array
1352
+ # resp.principal_resource_permissions[0].resource.lf_tag_policy.expression[0].tag_key #=> String
1353
+ # resp.principal_resource_permissions[0].resource.lf_tag_policy.expression[0].tag_values #=> Array
1354
+ # resp.principal_resource_permissions[0].resource.lf_tag_policy.expression[0].tag_values[0] #=> String
901
1355
  # resp.principal_resource_permissions[0].permissions #=> Array
902
- # resp.principal_resource_permissions[0].permissions[0] #=> String, one of "ALL", "SELECT", "ALTER", "DROP", "DELETE", "INSERT", "DESCRIBE", "CREATE_DATABASE", "CREATE_TABLE", "DATA_LOCATION_ACCESS"
1356
+ # resp.principal_resource_permissions[0].permissions[0] #=> String, one of "ALL", "SELECT", "ALTER", "DROP", "DELETE", "INSERT", "DESCRIBE", "CREATE_DATABASE", "CREATE_TABLE", "DATA_LOCATION_ACCESS", "CREATE_TAG", "ALTER_TAG", "DELETE_TAG", "DESCRIBE_TAG", "ASSOCIATE_TAG"
903
1357
  # resp.principal_resource_permissions[0].permissions_with_grant_option #=> Array
904
- # resp.principal_resource_permissions[0].permissions_with_grant_option[0] #=> String, one of "ALL", "SELECT", "ALTER", "DROP", "DELETE", "INSERT", "DESCRIBE", "CREATE_DATABASE", "CREATE_TABLE", "DATA_LOCATION_ACCESS"
1358
+ # resp.principal_resource_permissions[0].permissions_with_grant_option[0] #=> String, one of "ALL", "SELECT", "ALTER", "DROP", "DELETE", "INSERT", "DESCRIBE", "CREATE_DATABASE", "CREATE_TABLE", "DATA_LOCATION_ACCESS", "CREATE_TAG", "ALTER_TAG", "DELETE_TAG", "DESCRIBE_TAG", "ASSOCIATE_TAG"
905
1359
  # resp.principal_resource_permissions[0].additional_details.resource_share #=> Array
906
1360
  # resp.principal_resource_permissions[0].additional_details.resource_share[0] #=> String
907
1361
  # resp.next_token #=> String
@@ -1005,7 +1459,7 @@ module Aws::LakeFormation
1005
1459
  # principal: {
1006
1460
  # data_lake_principal_identifier: "DataLakePrincipalString",
1007
1461
  # },
1008
- # permissions: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS
1462
+ # permissions: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_TAG, ALTER_TAG, DELETE_TAG, DESCRIBE_TAG, ASSOCIATE_TAG
1009
1463
  # },
1010
1464
  # ],
1011
1465
  # create_table_default_permissions: [
@@ -1013,7 +1467,7 @@ module Aws::LakeFormation
1013
1467
  # principal: {
1014
1468
  # data_lake_principal_identifier: "DataLakePrincipalString",
1015
1469
  # },
1016
- # permissions: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS
1470
+ # permissions: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_TAG, ALTER_TAG, DELETE_TAG, DESCRIBE_TAG, ASSOCIATE_TAG
1017
1471
  # },
1018
1472
  # ],
1019
1473
  # trusted_resource_owners: ["CatalogIdString"],
@@ -1090,6 +1544,101 @@ module Aws::LakeFormation
1090
1544
  req.send_request(options)
1091
1545
  end
1092
1546
 
1547
+ # Removes a tag from the resource. Only database, table, or
1548
+ # tableWithColumns resource are allowed. To tag columns, use the column
1549
+ # inclusion list in `tableWithColumns` to specify column input.
1550
+ #
1551
+ # @option params [String] :catalog_id
1552
+ # The identifier for the Data Catalog. By default, the account ID. The
1553
+ # Data Catalog is the persistent metadata store. It contains database
1554
+ # definitions, table definitions, and other control information to
1555
+ # manage your AWS Lake Formation environment.
1556
+ #
1557
+ # @option params [required, Types::Resource] :resource
1558
+ # The resource where you want to remove a tag.
1559
+ #
1560
+ # @option params [required, Array<Types::LFTagPair>] :lf_tags
1561
+ # The tags to be removed from the resource.
1562
+ #
1563
+ # @return [Types::RemoveLFTagsFromResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1564
+ #
1565
+ # * {Types::RemoveLFTagsFromResourceResponse#failures #failures} => Array&lt;Types::LFTagError&gt;
1566
+ #
1567
+ # @example Request syntax with placeholder values
1568
+ #
1569
+ # resp = client.remove_lf_tags_from_resource({
1570
+ # catalog_id: "CatalogIdString",
1571
+ # resource: { # required
1572
+ # catalog: {
1573
+ # },
1574
+ # database: {
1575
+ # catalog_id: "CatalogIdString",
1576
+ # name: "NameString", # required
1577
+ # },
1578
+ # table: {
1579
+ # catalog_id: "CatalogIdString",
1580
+ # database_name: "NameString", # required
1581
+ # name: "NameString",
1582
+ # table_wildcard: {
1583
+ # },
1584
+ # },
1585
+ # table_with_columns: {
1586
+ # catalog_id: "CatalogIdString",
1587
+ # database_name: "NameString", # required
1588
+ # name: "NameString", # required
1589
+ # column_names: ["NameString"],
1590
+ # column_wildcard: {
1591
+ # excluded_column_names: ["NameString"],
1592
+ # },
1593
+ # },
1594
+ # data_location: {
1595
+ # catalog_id: "CatalogIdString",
1596
+ # resource_arn: "ResourceArnString", # required
1597
+ # },
1598
+ # lf_tag: {
1599
+ # catalog_id: "CatalogIdString",
1600
+ # tag_key: "NameString", # required
1601
+ # tag_values: ["LFTagValue"], # required
1602
+ # },
1603
+ # lf_tag_policy: {
1604
+ # catalog_id: "CatalogIdString",
1605
+ # resource_type: "DATABASE", # required, accepts DATABASE, TABLE
1606
+ # expression: [ # required
1607
+ # {
1608
+ # tag_key: "LFTagKey", # required
1609
+ # tag_values: ["LFTagValue"], # required
1610
+ # },
1611
+ # ],
1612
+ # },
1613
+ # },
1614
+ # lf_tags: [ # required
1615
+ # {
1616
+ # catalog_id: "CatalogIdString",
1617
+ # tag_key: "LFTagKey", # required
1618
+ # tag_values: ["LFTagValue"], # required
1619
+ # },
1620
+ # ],
1621
+ # })
1622
+ #
1623
+ # @example Response structure
1624
+ #
1625
+ # resp.failures #=> Array
1626
+ # resp.failures[0].lf_tag.catalog_id #=> String
1627
+ # resp.failures[0].lf_tag.tag_key #=> String
1628
+ # resp.failures[0].lf_tag.tag_values #=> Array
1629
+ # resp.failures[0].lf_tag.tag_values[0] #=> String
1630
+ # resp.failures[0].error.error_code #=> String
1631
+ # resp.failures[0].error.error_message #=> String
1632
+ #
1633
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RemoveLFTagsFromResource AWS API Documentation
1634
+ #
1635
+ # @overload remove_lf_tags_from_resource(params = {})
1636
+ # @param [Hash] params ({})
1637
+ def remove_lf_tags_from_resource(params = {}, options = {})
1638
+ req = build_request(:remove_lf_tags_from_resource, params)
1639
+ req.send_request(options)
1640
+ end
1641
+
1093
1642
  # Revokes permissions to the principal to access metadata in the Data
1094
1643
  # Catalog and data organized in underlying data storage such as Amazon
1095
1644
  # S3.
@@ -1155,9 +1704,24 @@ module Aws::LakeFormation
1155
1704
  # catalog_id: "CatalogIdString",
1156
1705
  # resource_arn: "ResourceArnString", # required
1157
1706
  # },
1707
+ # lf_tag: {
1708
+ # catalog_id: "CatalogIdString",
1709
+ # tag_key: "NameString", # required
1710
+ # tag_values: ["LFTagValue"], # required
1711
+ # },
1712
+ # lf_tag_policy: {
1713
+ # catalog_id: "CatalogIdString",
1714
+ # resource_type: "DATABASE", # required, accepts DATABASE, TABLE
1715
+ # expression: [ # required
1716
+ # {
1717
+ # tag_key: "LFTagKey", # required
1718
+ # tag_values: ["LFTagValue"], # required
1719
+ # },
1720
+ # ],
1721
+ # },
1158
1722
  # },
1159
- # permissions: ["ALL"], # required, accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS
1160
- # permissions_with_grant_option: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS
1723
+ # permissions: ["ALL"], # required, accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_TAG, ALTER_TAG, DELETE_TAG, DESCRIBE_TAG, ASSOCIATE_TAG
1724
+ # permissions_with_grant_option: ["ALL"], # accepts ALL, SELECT, ALTER, DROP, DELETE, INSERT, DESCRIBE, CREATE_DATABASE, CREATE_TABLE, DATA_LOCATION_ACCESS, CREATE_TAG, ALTER_TAG, DELETE_TAG, DESCRIBE_TAG, ASSOCIATE_TAG
1161
1725
  # })
1162
1726
  #
1163
1727
  # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RevokePermissions AWS API Documentation
@@ -1169,6 +1733,188 @@ module Aws::LakeFormation
1169
1733
  req.send_request(options)
1170
1734
  end
1171
1735
 
1736
+ # This operation allows a search on `DATABASE` resources by
1737
+ # `TagCondition`. This operation is used by admins who want to grant
1738
+ # user permissions on certain `TagConditions`. Before making a grant,
1739
+ # the admin can use `SearchDatabasesByTags` to find all resources where
1740
+ # the given `TagConditions` are valid to verify whether the returned
1741
+ # resources can be shared.
1742
+ #
1743
+ # @option params [String] :next_token
1744
+ # A continuation token, if this is not the first call to retrieve this
1745
+ # list.
1746
+ #
1747
+ # @option params [Integer] :max_results
1748
+ # The maximum number of results to return.
1749
+ #
1750
+ # @option params [String] :catalog_id
1751
+ # The identifier for the Data Catalog. By default, the account ID. The
1752
+ # Data Catalog is the persistent metadata store. It contains database
1753
+ # definitions, table definitions, and other control information to
1754
+ # manage your AWS Lake Formation environment.
1755
+ #
1756
+ # @option params [required, Array<Types::LFTag>] :expression
1757
+ # A list of conditions (`LFTag` structures) to search for in database
1758
+ # resources.
1759
+ #
1760
+ # @return [Types::SearchDatabasesByLFTagsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1761
+ #
1762
+ # * {Types::SearchDatabasesByLFTagsResponse#next_token #next_token} => String
1763
+ # * {Types::SearchDatabasesByLFTagsResponse#database_list #database_list} => Array&lt;Types::TaggedDatabase&gt;
1764
+ #
1765
+ # @example Request syntax with placeholder values
1766
+ #
1767
+ # resp = client.search_databases_by_lf_tags({
1768
+ # next_token: "Token",
1769
+ # max_results: 1,
1770
+ # catalog_id: "CatalogIdString",
1771
+ # expression: [ # required
1772
+ # {
1773
+ # tag_key: "LFTagKey", # required
1774
+ # tag_values: ["LFTagValue"], # required
1775
+ # },
1776
+ # ],
1777
+ # })
1778
+ #
1779
+ # @example Response structure
1780
+ #
1781
+ # resp.next_token #=> String
1782
+ # resp.database_list #=> Array
1783
+ # resp.database_list[0].database.catalog_id #=> String
1784
+ # resp.database_list[0].database.name #=> String
1785
+ # resp.database_list[0].lf_tags #=> Array
1786
+ # resp.database_list[0].lf_tags[0].catalog_id #=> String
1787
+ # resp.database_list[0].lf_tags[0].tag_key #=> String
1788
+ # resp.database_list[0].lf_tags[0].tag_values #=> Array
1789
+ # resp.database_list[0].lf_tags[0].tag_values[0] #=> String
1790
+ #
1791
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/SearchDatabasesByLFTags AWS API Documentation
1792
+ #
1793
+ # @overload search_databases_by_lf_tags(params = {})
1794
+ # @param [Hash] params ({})
1795
+ def search_databases_by_lf_tags(params = {}, options = {})
1796
+ req = build_request(:search_databases_by_lf_tags, params)
1797
+ req.send_request(options)
1798
+ end
1799
+
1800
+ # This operation allows a search on `TABLE` resources by `LFTag`s. This
1801
+ # will be used by admins who want to grant user permissions on certain
1802
+ # LFTags. Before making a grant, the admin can use
1803
+ # `SearchTablesByLFTags` to find all resources where the given `LFTag`s
1804
+ # are valid to verify whether the returned resources can be shared.
1805
+ #
1806
+ # @option params [String] :next_token
1807
+ # A continuation token, if this is not the first call to retrieve this
1808
+ # list.
1809
+ #
1810
+ # @option params [Integer] :max_results
1811
+ # The maximum number of results to return.
1812
+ #
1813
+ # @option params [String] :catalog_id
1814
+ # The identifier for the Data Catalog. By default, the account ID. The
1815
+ # Data Catalog is the persistent metadata store. It contains database
1816
+ # definitions, table definitions, and other control information to
1817
+ # manage your AWS Lake Formation environment.
1818
+ #
1819
+ # @option params [required, Array<Types::LFTag>] :expression
1820
+ # A list of conditions (`LFTag` structures) to search for in table
1821
+ # resources.
1822
+ #
1823
+ # @return [Types::SearchTablesByLFTagsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1824
+ #
1825
+ # * {Types::SearchTablesByLFTagsResponse#next_token #next_token} => String
1826
+ # * {Types::SearchTablesByLFTagsResponse#table_list #table_list} => Array&lt;Types::TaggedTable&gt;
1827
+ #
1828
+ # @example Request syntax with placeholder values
1829
+ #
1830
+ # resp = client.search_tables_by_lf_tags({
1831
+ # next_token: "Token",
1832
+ # max_results: 1,
1833
+ # catalog_id: "CatalogIdString",
1834
+ # expression: [ # required
1835
+ # {
1836
+ # tag_key: "LFTagKey", # required
1837
+ # tag_values: ["LFTagValue"], # required
1838
+ # },
1839
+ # ],
1840
+ # })
1841
+ #
1842
+ # @example Response structure
1843
+ #
1844
+ # resp.next_token #=> String
1845
+ # resp.table_list #=> Array
1846
+ # resp.table_list[0].table.catalog_id #=> String
1847
+ # resp.table_list[0].table.database_name #=> String
1848
+ # resp.table_list[0].table.name #=> String
1849
+ # resp.table_list[0].lf_tag_on_database #=> Array
1850
+ # resp.table_list[0].lf_tag_on_database[0].catalog_id #=> String
1851
+ # resp.table_list[0].lf_tag_on_database[0].tag_key #=> String
1852
+ # resp.table_list[0].lf_tag_on_database[0].tag_values #=> Array
1853
+ # resp.table_list[0].lf_tag_on_database[0].tag_values[0] #=> String
1854
+ # resp.table_list[0].lf_tags_on_table #=> Array
1855
+ # resp.table_list[0].lf_tags_on_table[0].catalog_id #=> String
1856
+ # resp.table_list[0].lf_tags_on_table[0].tag_key #=> String
1857
+ # resp.table_list[0].lf_tags_on_table[0].tag_values #=> Array
1858
+ # resp.table_list[0].lf_tags_on_table[0].tag_values[0] #=> String
1859
+ # resp.table_list[0].lf_tags_on_columns #=> Array
1860
+ # resp.table_list[0].lf_tags_on_columns[0].name #=> String
1861
+ # resp.table_list[0].lf_tags_on_columns[0].lf_tags #=> Array
1862
+ # resp.table_list[0].lf_tags_on_columns[0].lf_tags[0].catalog_id #=> String
1863
+ # resp.table_list[0].lf_tags_on_columns[0].lf_tags[0].tag_key #=> String
1864
+ # resp.table_list[0].lf_tags_on_columns[0].lf_tags[0].tag_values #=> Array
1865
+ # resp.table_list[0].lf_tags_on_columns[0].lf_tags[0].tag_values[0] #=> String
1866
+ #
1867
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/SearchTablesByLFTags AWS API Documentation
1868
+ #
1869
+ # @overload search_tables_by_lf_tags(params = {})
1870
+ # @param [Hash] params ({})
1871
+ def search_tables_by_lf_tags(params = {}, options = {})
1872
+ req = build_request(:search_tables_by_lf_tags, params)
1873
+ req.send_request(options)
1874
+ end
1875
+
1876
+ # Updates the list of possible values for the specified tag key. If the
1877
+ # tag does not exist, the operation throws an EntityNotFoundException.
1878
+ # The values in the delete key values will be deleted from list of
1879
+ # possible values. If any value in the delete key values is attached to
1880
+ # a resource, then API errors out with a 400 Exception - "Update not
1881
+ # allowed". Untag the attribute before deleting the tag key's value.
1882
+ #
1883
+ # @option params [String] :catalog_id
1884
+ # The identifier for the Data Catalog. By default, the account ID. The
1885
+ # Data Catalog is the persistent metadata store. It contains database
1886
+ # definitions, table definitions, and other control information to
1887
+ # manage your AWS Lake Formation environment.
1888
+ #
1889
+ # @option params [required, String] :tag_key
1890
+ # The key-name for the tag for which to add or delete values.
1891
+ #
1892
+ # @option params [Array<String>] :tag_values_to_delete
1893
+ # A list of tag values to delete from the tag.
1894
+ #
1895
+ # @option params [Array<String>] :tag_values_to_add
1896
+ # A list of tag values to add from the tag.
1897
+ #
1898
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1899
+ #
1900
+ # @example Request syntax with placeholder values
1901
+ #
1902
+ # resp = client.update_lf_tag({
1903
+ # catalog_id: "CatalogIdString",
1904
+ # tag_key: "LFTagKey", # required
1905
+ # tag_values_to_delete: ["LFTagValue"],
1906
+ # tag_values_to_add: ["LFTagValue"],
1907
+ # })
1908
+ #
1909
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateLFTag AWS API Documentation
1910
+ #
1911
+ # @overload update_lf_tag(params = {})
1912
+ # @param [Hash] params ({})
1913
+ def update_lf_tag(params = {}, options = {})
1914
+ req = build_request(:update_lf_tag, params)
1915
+ req.send_request(options)
1916
+ end
1917
+
1172
1918
  # Updates the data access role used for vending access to the given
1173
1919
  # (registered) resource in AWS Lake Formation.
1174
1920
  #
@@ -1210,7 +1956,7 @@ module Aws::LakeFormation
1210
1956
  params: params,
1211
1957
  config: config)
1212
1958
  context[:gem_name] = 'aws-sdk-lakeformation'
1213
- context[:gem_version] = '1.13.0'
1959
+ context[:gem_version] = '1.14.0'
1214
1960
  Seahorse::Client::Request.new(handlers, context)
1215
1961
  end
1216
1962