aws-sdk-lakeformation 1.13.0 → 1.14.0

Sign up to get free protection for your applications and to get access to all the features.
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