Class LakeformationFunctions


  • public final class LakeformationFunctions
    extends java.lang.Object
    • Constructor Detail

      • LakeformationFunctions

        public LakeformationFunctions()
    • Method Detail

      • getDataLakeSettings

        public static com.pulumi.core.Output<GetDataLakeSettingsResult> getDataLakeSettings()
        Get Lake Formation principals designated as data lake administrators and lists of principal permission entries for default create database and default create table permissions. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.lakeformation.LakeformationFunctions;
         import com.pulumi.aws.lakeformation.inputs.GetDataLakeSettingsArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var example = LakeformationFunctions.getDataLakeSettings(GetDataLakeSettingsArgs.builder()
                     .catalogId("14916253649")
                     .build());
         
             }
         }
         
         
      • getDataLakeSettingsPlain

        public static java.util.concurrent.CompletableFuture<GetDataLakeSettingsResult> getDataLakeSettingsPlain()
        Get Lake Formation principals designated as data lake administrators and lists of principal permission entries for default create database and default create table permissions. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.lakeformation.LakeformationFunctions;
         import com.pulumi.aws.lakeformation.inputs.GetDataLakeSettingsArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var example = LakeformationFunctions.getDataLakeSettings(GetDataLakeSettingsArgs.builder()
                     .catalogId("14916253649")
                     .build());
         
             }
         }
         
         
      • getDataLakeSettings

        public static com.pulumi.core.Output<GetDataLakeSettingsResult> getDataLakeSettings​(GetDataLakeSettingsArgs args)
        Get Lake Formation principals designated as data lake administrators and lists of principal permission entries for default create database and default create table permissions. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.lakeformation.LakeformationFunctions;
         import com.pulumi.aws.lakeformation.inputs.GetDataLakeSettingsArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var example = LakeformationFunctions.getDataLakeSettings(GetDataLakeSettingsArgs.builder()
                     .catalogId("14916253649")
                     .build());
         
             }
         }
         
         
      • getDataLakeSettingsPlain

        public static java.util.concurrent.CompletableFuture<GetDataLakeSettingsResult> getDataLakeSettingsPlain​(GetDataLakeSettingsPlainArgs args)
        Get Lake Formation principals designated as data lake administrators and lists of principal permission entries for default create database and default create table permissions. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.lakeformation.LakeformationFunctions;
         import com.pulumi.aws.lakeformation.inputs.GetDataLakeSettingsArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var example = LakeformationFunctions.getDataLakeSettings(GetDataLakeSettingsArgs.builder()
                     .catalogId("14916253649")
                     .build());
         
             }
         }
         
         
      • getDataLakeSettings

        public static com.pulumi.core.Output<GetDataLakeSettingsResult> getDataLakeSettings​(GetDataLakeSettingsArgs args,
                                                                                            com.pulumi.deployment.InvokeOptions options)
        Get Lake Formation principals designated as data lake administrators and lists of principal permission entries for default create database and default create table permissions. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.lakeformation.LakeformationFunctions;
         import com.pulumi.aws.lakeformation.inputs.GetDataLakeSettingsArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var example = LakeformationFunctions.getDataLakeSettings(GetDataLakeSettingsArgs.builder()
                     .catalogId("14916253649")
                     .build());
         
             }
         }
         
         
      • getDataLakeSettings

        public static com.pulumi.core.Output<GetDataLakeSettingsResult> getDataLakeSettings​(GetDataLakeSettingsArgs args,
                                                                                            com.pulumi.deployment.InvokeOutputOptions options)
        Get Lake Formation principals designated as data lake administrators and lists of principal permission entries for default create database and default create table permissions. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.lakeformation.LakeformationFunctions;
         import com.pulumi.aws.lakeformation.inputs.GetDataLakeSettingsArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var example = LakeformationFunctions.getDataLakeSettings(GetDataLakeSettingsArgs.builder()
                     .catalogId("14916253649")
                     .build());
         
             }
         }
         
         
      • getDataLakeSettingsPlain

        public static java.util.concurrent.CompletableFuture<GetDataLakeSettingsResult> getDataLakeSettingsPlain​(GetDataLakeSettingsPlainArgs args,
                                                                                                                 com.pulumi.deployment.InvokeOptions options)
        Get Lake Formation principals designated as data lake administrators and lists of principal permission entries for default create database and default create table permissions. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.lakeformation.LakeformationFunctions;
         import com.pulumi.aws.lakeformation.inputs.GetDataLakeSettingsArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var example = LakeformationFunctions.getDataLakeSettings(GetDataLakeSettingsArgs.builder()
                     .catalogId("14916253649")
                     .build());
         
             }
         }
         
         
      • getPermissions

        public static com.pulumi.core.Output<GetPermissionsResult> getPermissions​(GetPermissionsArgs args)
        Get permissions for a principal to access metadata in the Data Catalog and data organized in underlying data storage such as Amazon S3. Permissions are granted to a principal, in a Data Catalog, relative to a Lake Formation resource, which includes the Data Catalog, databases, tables, LF-tags, and LF-tag policies. For more information, see [Security and Access Control to Metadata and Data in Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/security-data-access.html). > **NOTE:** This data source deals with explicitly granted permissions. Lake Formation grants implicit permissions to data lake administrators, database creators, and table creators. For more information, see [Implicit Lake Formation Permissions](https://docs.aws.amazon.com/lake-formation/latest/dg/implicit-permissions.html). ## Example Usage ### Permissions For A Lake Formation S3 Resource
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.lakeformation.LakeformationFunctions;
         import com.pulumi.aws.lakeformation.inputs.GetPermissionsArgs;
         import com.pulumi.aws.lakeformation.inputs.GetPermissionsDataLocationArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var test = LakeformationFunctions.getPermissions(GetPermissionsArgs.builder()
                     .dataLocation(GetPermissionsDataLocationArgs.builder()
                         .arn(testAwsLakeformationResource.arn())
                         .build())
                     .principal(workflowRole.arn())
                     .build());
         
             }
         }
         
         
        ### Permissions For A Glue Catalog Database
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.lakeformation.LakeformationFunctions;
         import com.pulumi.aws.lakeformation.inputs.GetPermissionsArgs;
         import com.pulumi.aws.lakeformation.inputs.GetPermissionsDatabaseArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var test = LakeformationFunctions.getPermissions(GetPermissionsArgs.builder()
                     .database(GetPermissionsDatabaseArgs.builder()
                         .name(testAwsGlueCatalogDatabase.name())
                         .catalogId("110376042874")
                         .build())
                     .principal(workflowRole.arn())
                     .build());
         
             }
         }
         
         
        ### Permissions For Tag-Based Access Control
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.lakeformation.LakeformationFunctions;
         import com.pulumi.aws.lakeformation.inputs.GetPermissionsArgs;
         import com.pulumi.aws.lakeformation.inputs.GetPermissionsLfTagPolicyArgs;
         import com.pulumi.aws.lakeformation.inputs.GetPermissionsLfTagPolicyExpressionArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var test = LakeformationFunctions.getPermissions(GetPermissionsArgs.builder()
                     .lfTagPolicy(GetPermissionsLfTagPolicyArgs.builder()
                         .expressions(                
                             GetPermissionsLfTagPolicyExpressionArgs.builder()
                                 .key("Team")
                                 .values("Sales")
                                 .build(),
                             GetPermissionsLfTagPolicyExpressionArgs.builder()
                                 .key("Environment")
                                 .values(                        
                                     "Dev",
                                     "Production")
                                 .build())
                         .resourceType("DATABASE")
                         .build())
                     .principal(workflowRole.arn())
                     .build());
         
             }
         }
         
         
      • getPermissionsPlain

        public static java.util.concurrent.CompletableFuture<GetPermissionsResult> getPermissionsPlain​(GetPermissionsPlainArgs args)
        Get permissions for a principal to access metadata in the Data Catalog and data organized in underlying data storage such as Amazon S3. Permissions are granted to a principal, in a Data Catalog, relative to a Lake Formation resource, which includes the Data Catalog, databases, tables, LF-tags, and LF-tag policies. For more information, see [Security and Access Control to Metadata and Data in Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/security-data-access.html). > **NOTE:** This data source deals with explicitly granted permissions. Lake Formation grants implicit permissions to data lake administrators, database creators, and table creators. For more information, see [Implicit Lake Formation Permissions](https://docs.aws.amazon.com/lake-formation/latest/dg/implicit-permissions.html). ## Example Usage ### Permissions For A Lake Formation S3 Resource
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.lakeformation.LakeformationFunctions;
         import com.pulumi.aws.lakeformation.inputs.GetPermissionsArgs;
         import com.pulumi.aws.lakeformation.inputs.GetPermissionsDataLocationArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var test = LakeformationFunctions.getPermissions(GetPermissionsArgs.builder()
                     .dataLocation(GetPermissionsDataLocationArgs.builder()
                         .arn(testAwsLakeformationResource.arn())
                         .build())
                     .principal(workflowRole.arn())
                     .build());
         
             }
         }
         
         
        ### Permissions For A Glue Catalog Database
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.lakeformation.LakeformationFunctions;
         import com.pulumi.aws.lakeformation.inputs.GetPermissionsArgs;
         import com.pulumi.aws.lakeformation.inputs.GetPermissionsDatabaseArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var test = LakeformationFunctions.getPermissions(GetPermissionsArgs.builder()
                     .database(GetPermissionsDatabaseArgs.builder()
                         .name(testAwsGlueCatalogDatabase.name())
                         .catalogId("110376042874")
                         .build())
                     .principal(workflowRole.arn())
                     .build());
         
             }
         }
         
         
        ### Permissions For Tag-Based Access Control
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.lakeformation.LakeformationFunctions;
         import com.pulumi.aws.lakeformation.inputs.GetPermissionsArgs;
         import com.pulumi.aws.lakeformation.inputs.GetPermissionsLfTagPolicyArgs;
         import com.pulumi.aws.lakeformation.inputs.GetPermissionsLfTagPolicyExpressionArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var test = LakeformationFunctions.getPermissions(GetPermissionsArgs.builder()
                     .lfTagPolicy(GetPermissionsLfTagPolicyArgs.builder()
                         .expressions(                
                             GetPermissionsLfTagPolicyExpressionArgs.builder()
                                 .key("Team")
                                 .values("Sales")
                                 .build(),
                             GetPermissionsLfTagPolicyExpressionArgs.builder()
                                 .key("Environment")
                                 .values(                        
                                     "Dev",
                                     "Production")
                                 .build())
                         .resourceType("DATABASE")
                         .build())
                     .principal(workflowRole.arn())
                     .build());
         
             }
         }
         
         
      • getPermissions

        public static com.pulumi.core.Output<GetPermissionsResult> getPermissions​(GetPermissionsArgs args,
                                                                                  com.pulumi.deployment.InvokeOptions options)
        Get permissions for a principal to access metadata in the Data Catalog and data organized in underlying data storage such as Amazon S3. Permissions are granted to a principal, in a Data Catalog, relative to a Lake Formation resource, which includes the Data Catalog, databases, tables, LF-tags, and LF-tag policies. For more information, see [Security and Access Control to Metadata and Data in Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/security-data-access.html). > **NOTE:** This data source deals with explicitly granted permissions. Lake Formation grants implicit permissions to data lake administrators, database creators, and table creators. For more information, see [Implicit Lake Formation Permissions](https://docs.aws.amazon.com/lake-formation/latest/dg/implicit-permissions.html). ## Example Usage ### Permissions For A Lake Formation S3 Resource
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.lakeformation.LakeformationFunctions;
         import com.pulumi.aws.lakeformation.inputs.GetPermissionsArgs;
         import com.pulumi.aws.lakeformation.inputs.GetPermissionsDataLocationArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var test = LakeformationFunctions.getPermissions(GetPermissionsArgs.builder()
                     .dataLocation(GetPermissionsDataLocationArgs.builder()
                         .arn(testAwsLakeformationResource.arn())
                         .build())
                     .principal(workflowRole.arn())
                     .build());
         
             }
         }
         
         
        ### Permissions For A Glue Catalog Database
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.lakeformation.LakeformationFunctions;
         import com.pulumi.aws.lakeformation.inputs.GetPermissionsArgs;
         import com.pulumi.aws.lakeformation.inputs.GetPermissionsDatabaseArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var test = LakeformationFunctions.getPermissions(GetPermissionsArgs.builder()
                     .database(GetPermissionsDatabaseArgs.builder()
                         .name(testAwsGlueCatalogDatabase.name())
                         .catalogId("110376042874")
                         .build())
                     .principal(workflowRole.arn())
                     .build());
         
             }
         }
         
         
        ### Permissions For Tag-Based Access Control
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.lakeformation.LakeformationFunctions;
         import com.pulumi.aws.lakeformation.inputs.GetPermissionsArgs;
         import com.pulumi.aws.lakeformation.inputs.GetPermissionsLfTagPolicyArgs;
         import com.pulumi.aws.lakeformation.inputs.GetPermissionsLfTagPolicyExpressionArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var test = LakeformationFunctions.getPermissions(GetPermissionsArgs.builder()
                     .lfTagPolicy(GetPermissionsLfTagPolicyArgs.builder()
                         .expressions(                
                             GetPermissionsLfTagPolicyExpressionArgs.builder()
                                 .key("Team")
                                 .values("Sales")
                                 .build(),
                             GetPermissionsLfTagPolicyExpressionArgs.builder()
                                 .key("Environment")
                                 .values(                        
                                     "Dev",
                                     "Production")
                                 .build())
                         .resourceType("DATABASE")
                         .build())
                     .principal(workflowRole.arn())
                     .build());
         
             }
         }
         
         
      • getPermissions

        public static com.pulumi.core.Output<GetPermissionsResult> getPermissions​(GetPermissionsArgs args,
                                                                                  com.pulumi.deployment.InvokeOutputOptions options)
        Get permissions for a principal to access metadata in the Data Catalog and data organized in underlying data storage such as Amazon S3. Permissions are granted to a principal, in a Data Catalog, relative to a Lake Formation resource, which includes the Data Catalog, databases, tables, LF-tags, and LF-tag policies. For more information, see [Security and Access Control to Metadata and Data in Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/security-data-access.html). > **NOTE:** This data source deals with explicitly granted permissions. Lake Formation grants implicit permissions to data lake administrators, database creators, and table creators. For more information, see [Implicit Lake Formation Permissions](https://docs.aws.amazon.com/lake-formation/latest/dg/implicit-permissions.html). ## Example Usage ### Permissions For A Lake Formation S3 Resource
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.lakeformation.LakeformationFunctions;
         import com.pulumi.aws.lakeformation.inputs.GetPermissionsArgs;
         import com.pulumi.aws.lakeformation.inputs.GetPermissionsDataLocationArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var test = LakeformationFunctions.getPermissions(GetPermissionsArgs.builder()
                     .dataLocation(GetPermissionsDataLocationArgs.builder()
                         .arn(testAwsLakeformationResource.arn())
                         .build())
                     .principal(workflowRole.arn())
                     .build());
         
             }
         }
         
         
        ### Permissions For A Glue Catalog Database
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.lakeformation.LakeformationFunctions;
         import com.pulumi.aws.lakeformation.inputs.GetPermissionsArgs;
         import com.pulumi.aws.lakeformation.inputs.GetPermissionsDatabaseArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var test = LakeformationFunctions.getPermissions(GetPermissionsArgs.builder()
                     .database(GetPermissionsDatabaseArgs.builder()
                         .name(testAwsGlueCatalogDatabase.name())
                         .catalogId("110376042874")
                         .build())
                     .principal(workflowRole.arn())
                     .build());
         
             }
         }
         
         
        ### Permissions For Tag-Based Access Control
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.lakeformation.LakeformationFunctions;
         import com.pulumi.aws.lakeformation.inputs.GetPermissionsArgs;
         import com.pulumi.aws.lakeformation.inputs.GetPermissionsLfTagPolicyArgs;
         import com.pulumi.aws.lakeformation.inputs.GetPermissionsLfTagPolicyExpressionArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var test = LakeformationFunctions.getPermissions(GetPermissionsArgs.builder()
                     .lfTagPolicy(GetPermissionsLfTagPolicyArgs.builder()
                         .expressions(                
                             GetPermissionsLfTagPolicyExpressionArgs.builder()
                                 .key("Team")
                                 .values("Sales")
                                 .build(),
                             GetPermissionsLfTagPolicyExpressionArgs.builder()
                                 .key("Environment")
                                 .values(                        
                                     "Dev",
                                     "Production")
                                 .build())
                         .resourceType("DATABASE")
                         .build())
                     .principal(workflowRole.arn())
                     .build());
         
             }
         }
         
         
      • getPermissionsPlain

        public static java.util.concurrent.CompletableFuture<GetPermissionsResult> getPermissionsPlain​(GetPermissionsPlainArgs args,
                                                                                                       com.pulumi.deployment.InvokeOptions options)
        Get permissions for a principal to access metadata in the Data Catalog and data organized in underlying data storage such as Amazon S3. Permissions are granted to a principal, in a Data Catalog, relative to a Lake Formation resource, which includes the Data Catalog, databases, tables, LF-tags, and LF-tag policies. For more information, see [Security and Access Control to Metadata and Data in Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/security-data-access.html). > **NOTE:** This data source deals with explicitly granted permissions. Lake Formation grants implicit permissions to data lake administrators, database creators, and table creators. For more information, see [Implicit Lake Formation Permissions](https://docs.aws.amazon.com/lake-formation/latest/dg/implicit-permissions.html). ## Example Usage ### Permissions For A Lake Formation S3 Resource
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.lakeformation.LakeformationFunctions;
         import com.pulumi.aws.lakeformation.inputs.GetPermissionsArgs;
         import com.pulumi.aws.lakeformation.inputs.GetPermissionsDataLocationArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var test = LakeformationFunctions.getPermissions(GetPermissionsArgs.builder()
                     .dataLocation(GetPermissionsDataLocationArgs.builder()
                         .arn(testAwsLakeformationResource.arn())
                         .build())
                     .principal(workflowRole.arn())
                     .build());
         
             }
         }
         
         
        ### Permissions For A Glue Catalog Database
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.lakeformation.LakeformationFunctions;
         import com.pulumi.aws.lakeformation.inputs.GetPermissionsArgs;
         import com.pulumi.aws.lakeformation.inputs.GetPermissionsDatabaseArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var test = LakeformationFunctions.getPermissions(GetPermissionsArgs.builder()
                     .database(GetPermissionsDatabaseArgs.builder()
                         .name(testAwsGlueCatalogDatabase.name())
                         .catalogId("110376042874")
                         .build())
                     .principal(workflowRole.arn())
                     .build());
         
             }
         }
         
         
        ### Permissions For Tag-Based Access Control
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.lakeformation.LakeformationFunctions;
         import com.pulumi.aws.lakeformation.inputs.GetPermissionsArgs;
         import com.pulumi.aws.lakeformation.inputs.GetPermissionsLfTagPolicyArgs;
         import com.pulumi.aws.lakeformation.inputs.GetPermissionsLfTagPolicyExpressionArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var test = LakeformationFunctions.getPermissions(GetPermissionsArgs.builder()
                     .lfTagPolicy(GetPermissionsLfTagPolicyArgs.builder()
                         .expressions(                
                             GetPermissionsLfTagPolicyExpressionArgs.builder()
                                 .key("Team")
                                 .values("Sales")
                                 .build(),
                             GetPermissionsLfTagPolicyExpressionArgs.builder()
                                 .key("Environment")
                                 .values(                        
                                     "Dev",
                                     "Production")
                                 .build())
                         .resourceType("DATABASE")
                         .build())
                     .principal(workflowRole.arn())
                     .build());
         
             }
         }
         
         
      • getResource

        public static com.pulumi.core.Output<GetResourceResult> getResource​(GetResourceArgs args)
        Provides details about a Lake Formation resource. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.lakeformation.LakeformationFunctions;
         import com.pulumi.aws.lakeformation.inputs.GetResourceArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var example = LakeformationFunctions.getResource(GetResourceArgs.builder()
                     .arn("arn:aws:s3:::tf-acc-test-9151654063908211878")
                     .build());
         
             }
         }
         
         
      • getResourcePlain

        public static java.util.concurrent.CompletableFuture<GetResourceResult> getResourcePlain​(GetResourcePlainArgs args)
        Provides details about a Lake Formation resource. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.lakeformation.LakeformationFunctions;
         import com.pulumi.aws.lakeformation.inputs.GetResourceArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var example = LakeformationFunctions.getResource(GetResourceArgs.builder()
                     .arn("arn:aws:s3:::tf-acc-test-9151654063908211878")
                     .build());
         
             }
         }
         
         
      • getResource

        public static com.pulumi.core.Output<GetResourceResult> getResource​(GetResourceArgs args,
                                                                            com.pulumi.deployment.InvokeOptions options)
        Provides details about a Lake Formation resource. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.lakeformation.LakeformationFunctions;
         import com.pulumi.aws.lakeformation.inputs.GetResourceArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var example = LakeformationFunctions.getResource(GetResourceArgs.builder()
                     .arn("arn:aws:s3:::tf-acc-test-9151654063908211878")
                     .build());
         
             }
         }
         
         
      • getResource

        public static com.pulumi.core.Output<GetResourceResult> getResource​(GetResourceArgs args,
                                                                            com.pulumi.deployment.InvokeOutputOptions options)
        Provides details about a Lake Formation resource. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.lakeformation.LakeformationFunctions;
         import com.pulumi.aws.lakeformation.inputs.GetResourceArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var example = LakeformationFunctions.getResource(GetResourceArgs.builder()
                     .arn("arn:aws:s3:::tf-acc-test-9151654063908211878")
                     .build());
         
             }
         }
         
         
      • getResourcePlain

        public static java.util.concurrent.CompletableFuture<GetResourceResult> getResourcePlain​(GetResourcePlainArgs args,
                                                                                                 com.pulumi.deployment.InvokeOptions options)
        Provides details about a Lake Formation resource. ## Example Usage
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.lakeformation.LakeformationFunctions;
         import com.pulumi.aws.lakeformation.inputs.GetResourceArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 final var example = LakeformationFunctions.getResource(GetResourceArgs.builder()
                     .arn("arn:aws:s3:::tf-acc-test-9151654063908211878")
                     .build());
         
             }
         }