java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
All Implemented Interfaces:
ICatalogRef, IEnvironmentAware, IResource, ICatalog, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct, software.constructs.IDependable

@Generated(value="jsii-pacmak/1.138.0 (build 0ca7ee8)", date="2026-08-10T14:51:27.957Z") @Stability(Experimental) public class Catalog extends CatalogBase
(experimental) A Glue Data Catalog.

Use Catalog.forAccount(scope) to obtain the implicit account-wide catalog, Catalog.encryptAccount(scope, options) to configure its Data Catalog encryption, or new Catalog(...) to create an AWS::Glue::Catalog resource.

Example:

 Key key;
 Catalog.encryptAccount(this, CatalogEncryptionOptions.builder()
         .encryptionAtRest(DataCatalogEncryptionAtRest.kms(key))
         .build());
 
  • Field Details

    • PROPERTY_INJECTION_ID

      @Stability(Experimental) public static final String PROPERTY_INJECTION_ID
      (experimental) Uniquely identifies this class.
  • Constructor Details

    • Catalog

      protected Catalog(software.amazon.jsii.JsiiObjectRef objRef)
    • Catalog

      protected Catalog(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • Catalog

      @Stability(Experimental) public Catalog(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull CatalogProps props)
      Parameters:
      scope - This parameter is required.
      id - This parameter is required.
      props - This parameter is required.
  • Method Details

    • encryptAccount

      @Stability(Experimental) @NotNull public static ICatalog encryptAccount(@NotNull software.constructs.Construct scope, @NotNull CatalogEncryptionOptions options)
      (experimental) Configure Data Catalog encryption for the implicit, account-wide catalog and return it.

      The account catalog's encryption is an account/region-wide setting, managed through the singleton PutDataCatalogEncryptionSettings API. Because encryption is fixed at construction, it must be configured before the account catalog is first used in the stack: calling this after the account catalog has already been materialized (for example by Catalog.forAccount, or by a Database that uses the account catalog) throws.

      Configure it in exactly one stack. Configuring it from multiple stacks in the same account and region makes those stacks overwrite one another at deploy time, and the result is order-dependent. Unlike duplicate settings within a single stack (which CloudFormation rejects), this cross-stack conflict is not caught at synthesis time, because each stack synthesizes to its own template.

      Parameters:
      scope - This parameter is required.
      options - This parameter is required.
    • forAccount

      @Stability(Experimental) @NotNull public static ICatalog forAccount(@NotNull software.constructs.Construct scope)
      (experimental) Obtain the implicit, account-wide Data Catalog.

      The account catalog is not a CloudFormation resource; it always exists. This returns a stack-scoped singleton, so repeated calls within the same stack return the same instance.

      This returns the account catalog without managing its encryption. To configure Data Catalog encryption for the account, use Catalog.encryptAccount(scope, options) instead - it must be called before the account catalog is first used in the stack.

      Parameters:
      scope - This parameter is required.
    • fromCatalogArn

      @Stability(Experimental) @NotNull public static ICatalog fromCatalogArn(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull String catalogArn)
      (experimental) Import an existing catalog by its ARN.

      The ARN must be a Glue catalog ARN, either the account-wide catalog (arn:aws:glue:<region>:<account>:catalog, whose id is the account) or a named catalog (arn:aws:glue:<region>:<account>:catalog/<name>, whose id is the name).

      The imported catalog is a pure identity handle and does not manage the catalog's encryption. To manage an existing catalog's Data Catalog encryption, add a CfnDataCatalogEncryptionSettings resource targeting its id.

      Parameters:
      scope - This parameter is required.
      id - This parameter is required.
      catalogArn - This parameter is required.
    • fromCatalogId

      @Stability(Experimental) @NotNull public static ICatalog fromCatalogId(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull String catalogId)
      (experimental) Import an existing catalog by its id.

      The imported catalog is a pure identity handle and does not manage the catalog's encryption. To manage an existing catalog's Data Catalog encryption, add a CfnDataCatalogEncryptionSettings resource targeting its id.

      Parameters:
      scope - This parameter is required.
      id - This parameter is required.
      catalogId - This parameter is required.
    • getCatalogArn

      @Stability(Experimental) @NotNull public String getCatalogArn()
      (experimental) The ARN of the catalog.
      Specified by:
      getCatalogArn in interface ICatalog
      Specified by:
      getCatalogArn in class CatalogBase
    • getCatalogId

      @Stability(Experimental) @NotNull public String getCatalogId()
      (experimental) The id of the catalog (for the account-wide catalog, the AWS account id).
      Specified by:
      getCatalogId in interface ICatalog
      Specified by:
      getCatalogId in class CatalogBase