Class Catalog


  • public class Catalog
    extends com.pulumi.resources.CustomResource
    Manages an AWS Glue Catalog. ## Example Usage ### Basic Usage
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.glue.Catalog;
     import com.pulumi.aws.glue.CatalogArgs;
     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) {
             var example = new Catalog("example", CatalogArgs.builder()
                 .name("example")
                 .description("Example Glue Catalog")
                 .build());
     
         }
     }
     
     
    ### With Parameters
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.glue.Catalog;
     import com.pulumi.aws.glue.CatalogArgs;
     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) {
             var example = new Catalog("example", CatalogArgs.builder()
                 .name("example")
                 .description("Example Glue Catalog")
                 .parameters(Map.ofEntries(
                     Map.entry("key1", "value1"),
                     Map.entry("key2", "value2")
                 ))
                 .build());
     
         }
     }
     
     
    ### With Catalog Properties
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.glue.Catalog;
     import com.pulumi.aws.glue.CatalogArgs;
     import com.pulumi.aws.glue.inputs.CatalogCatalogPropertiesArgs;
     import com.pulumi.aws.glue.inputs.CatalogCatalogPropertiesDataLakeAccessPropertiesArgs;
     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) {
             var example = new Catalog("example", CatalogArgs.builder()
                 .catalogProperties(CatalogCatalogPropertiesArgs.builder()
                     .dataLakeAccessProperties(CatalogCatalogPropertiesDataLakeAccessPropertiesArgs.builder()
                         .dataLakeAccess(true)
                         .catalogType("aws:glue:datacatalog")
                         .build())
                     .customProperties(Map.of("property1", "value1"))
                     .build())
                 .name("example")
                 .description("Example Glue Catalog with data lake access")
                 .build());
     
         }
     }
     
     
    ### With Federated Catalog
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.glue.Catalog;
     import com.pulumi.aws.glue.CatalogArgs;
     import com.pulumi.aws.glue.inputs.CatalogFederatedCatalogArgs;
     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) {
             var example = new Catalog("example", CatalogArgs.builder()
                 .federatedCatalog(CatalogFederatedCatalogArgs.builder()
                     .connectionName(exampleAwsGlueConnection.name())
                     .identifier("arn:aws:glue:us-east-1:123456789012:catalog")
                     .build())
                 .name("example")
                 .build());
     
         }
     }
     
     
    ### With Default Permissions
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.glue.Catalog;
     import com.pulumi.aws.glue.CatalogArgs;
     import com.pulumi.aws.glue.inputs.CatalogCreateDatabaseDefaultPermissionArgs;
     import com.pulumi.aws.glue.inputs.CatalogCreateDatabaseDefaultPermissionPrincipalArgs;
     import com.pulumi.aws.glue.inputs.CatalogCreateTableDefaultPermissionArgs;
     import com.pulumi.aws.glue.inputs.CatalogCreateTableDefaultPermissionPrincipalArgs;
     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) {
             var example = new Catalog("example", CatalogArgs.builder()
                 .createDatabaseDefaultPermissions(CatalogCreateDatabaseDefaultPermissionArgs.builder()
                     .principal(CatalogCreateDatabaseDefaultPermissionPrincipalArgs.builder()
                         .dataLakePrincipalIdentifier("IAM_ALLOWED_PRINCIPALS")
                         .build())
                     .permissions("ALL")
                     .build())
                 .createTableDefaultPermissions(CatalogCreateTableDefaultPermissionArgs.builder()
                     .principal(CatalogCreateTableDefaultPermissionPrincipalArgs.builder()
                         .dataLakePrincipalIdentifier("IAM_ALLOWED_PRINCIPALS")
                         .build())
                     .permissions("ALL")
                     .build())
                 .name("example")
                 .description("Example Glue Catalog")
                 .build());
     
         }
     }
     
     
    ## Import ### Identity Schema #### Required * `name` (String) Name of the Glue Catalog. #### Optional * `accountId` (String) AWS Account where this resource is managed. * `region` (String) Region where this resource is managed. Using `pulumi import`, import Glue Catalog using the catalog name. For example: ```sh $ pulumi import aws:glue/catalog:Catalog example example ```
    • Nested Class Summary

      • Nested classes/interfaces inherited from class com.pulumi.resources.CustomResource

        com.pulumi.resources.CustomResource.CustomResourceInternal
      • Nested classes/interfaces inherited from class com.pulumi.resources.Resource

        com.pulumi.resources.Resource.LazyField<T extends java.lang.Object>, com.pulumi.resources.Resource.LazyFields, com.pulumi.resources.Resource.ResourceInternal
    • Field Summary

      • Fields inherited from class com.pulumi.resources.Resource

        childResources, remote
    • Constructor Summary

      Constructors 
      Constructor Description
      Catalog​(java.lang.String name)  
      Catalog​(java.lang.String name, CatalogArgs args)  
      Catalog​(java.lang.String name, CatalogArgs args, com.pulumi.resources.CustomResourceOptions options)  
    • Constructor Detail

      • Catalog

        public Catalog​(java.lang.String name)
        Parameters:
        name - The _unique_ name of the resulting resource.
      • Catalog

        public Catalog​(java.lang.String name,
                       @Nullable
                       CatalogArgs args)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
      • Catalog

        public Catalog​(java.lang.String name,
                       @Nullable
                       CatalogArgs args,
                       @Nullable
                       com.pulumi.resources.CustomResourceOptions options)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
        options - A bag of options that control this resource's behavior.
    • Method Detail

      • allowFullTableExternalDataAccess

        public com.pulumi.core.Output<java.lang.String> allowFullTableExternalDataAccess()
        Returns:
        Whether third-party engines can access data in Amazon S3 locations that are registered with Lake Formation. Valid values are `True` and `False`.
      • arn

        public com.pulumi.core.Output<java.lang.String> arn()
        Returns:
        ARN of the Glue Catalog.
      • catalogId

        public com.pulumi.core.Output<java.lang.String> catalogId()
        Returns:
        ID of the parent catalog.
      • catalogProperties

        public com.pulumi.core.Output<java.util.Optional<CatalogCatalogProperties>> catalogProperties()
        Returns:
        Configuration block of properties for the catalog. See `catalogProperties` Block below.
      • createDatabaseDefaultPermissions

        public com.pulumi.core.Output<java.util.Optional<java.util.List<CatalogCreateDatabaseDefaultPermission>>> createDatabaseDefaultPermissions()
        Returns:
        List of default permissions on databases for principals. See `createDatabaseDefaultPermissions` Block below.
      • createTableDefaultPermissions

        public com.pulumi.core.Output<java.util.Optional<java.util.List<CatalogCreateTableDefaultPermission>>> createTableDefaultPermissions()
        Returns:
        List of default permissions on tables for principals. See `createTableDefaultPermissions` Block below.
      • createTime

        public com.pulumi.core.Output<java.lang.String> createTime()
        Returns:
        Time at which the catalog was created.
      • description

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> description()
        Returns:
        Description of the catalog.
      • federatedCatalog

        public com.pulumi.core.Output<java.util.Optional<CatalogFederatedCatalog>> federatedCatalog()
        Returns:
        Configuration block for a federated catalog. See `federatedCatalog` Block below.
      • name

        public com.pulumi.core.Output<java.lang.String> name()
        Returns:
        Name of the catalog.
      • overwriteChildResourcePermissionsWithDefault

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> overwriteChildResourcePermissionsWithDefault()
        Returns:
        Whether to overwrite existing Lake Formation permissions on child resources with the default permissions. Valid values are `Accept` and `Deny`.
      • parameters

        public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> parameters()
        Returns:
        Map of key-value pairs that define parameters and properties of the catalog.
      • region

        public com.pulumi.core.Output<java.lang.String> region()
        Returns:
        Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
      • tags

        public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> tags()
        Returns:
        Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
      • tagsAll

        public com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tagsAll()
        Returns:
        Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
      • targetRedshiftCatalog

        public com.pulumi.core.Output<java.util.Optional<CatalogTargetRedshiftCatalog>> targetRedshiftCatalog()
        Returns:
        Configuration block for a target Redshift catalog. See `targetRedshiftCatalog` Block below.
      • timeouts

        public com.pulumi.core.Output<java.util.Optional<CatalogTimeouts>> timeouts()
      • updateTime

        public com.pulumi.core.Output<java.lang.String> updateTime()
        Returns:
        Time at which the catalog was last updated.
      • get

        public static Catalog get​(java.lang.String name,
                                  com.pulumi.core.Output<java.lang.String> id,
                                  @Nullable
                                  CatalogState state,
                                  @Nullable
                                  com.pulumi.resources.CustomResourceOptions options)
        Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
        Parameters:
        name - The _unique_ name of the resulting resource.
        id - The _unique_ provider ID of the resource to lookup.
        state -
        options - Optional settings to control the behavior of the CustomResource.