import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Manages an AWS Glue Catalog. * * ## Example Usage * * ### Basic Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = new aws.glue.Catalog("example", { * name: "example", * description: "Example Glue Catalog", * }); * ``` * * ### With Parameters * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = new aws.glue.Catalog("example", { * name: "example", * description: "Example Glue Catalog", * parameters: { * key1: "value1", * key2: "value2", * }, * }); * ``` * * ### With Catalog Properties * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = new aws.glue.Catalog("example", { * catalogProperties: { * dataLakeAccessProperties: { * dataLakeAccess: true, * catalogType: "aws:glue:datacatalog", * }, * customProperties: { * property1: "value1", * }, * }, * name: "example", * description: "Example Glue Catalog with data lake access", * }); * ``` * * ### With Federated Catalog * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = new aws.glue.Catalog("example", { * federatedCatalog: { * connectionName: exampleAwsGlueConnection.name, * identifier: "arn:aws:glue:us-east-1:123456789012:catalog", * }, * name: "example", * }); * ``` * * ### With Default Permissions * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = new aws.glue.Catalog("example", { * createDatabaseDefaultPermissions: [{ * principal: { * dataLakePrincipalIdentifier: "IAM_ALLOWED_PRINCIPALS", * }, * permissions: ["ALL"], * }], * createTableDefaultPermissions: [{ * principal: { * dataLakePrincipalIdentifier: "IAM_ALLOWED_PRINCIPALS", * }, * permissions: ["ALL"], * }], * name: "example", * description: "Example Glue Catalog", * }); * ``` * * ## 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 * ``` */ export declare class Catalog extends pulumi.CustomResource { /** * Get an existing Catalog resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: CatalogState, opts?: pulumi.CustomResourceOptions): Catalog; /** * Returns true if the given object is an instance of Catalog. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Catalog; /** * Whether third-party engines can access data in Amazon S3 locations that are registered with Lake Formation. Valid values are `True` and `False`. */ readonly allowFullTableExternalDataAccess: pulumi.Output; /** * ARN of the Glue Catalog. */ readonly arn: pulumi.Output; /** * ID of the parent catalog. */ readonly catalogId: pulumi.Output; /** * Configuration block of properties for the catalog. See `catalogProperties` below. */ readonly catalogProperties: pulumi.Output; /** * List of default permissions on databases for principals. See `createDatabaseDefaultPermissions` below. */ readonly createDatabaseDefaultPermissions: pulumi.Output; /** * List of default permissions on tables for principals. See `createTableDefaultPermissions` below. */ readonly createTableDefaultPermissions: pulumi.Output; /** * Time at which the catalog was created. */ readonly createTime: pulumi.Output; /** * Description of the catalog. */ readonly description: pulumi.Output; /** * Configuration block for a federated catalog. See `federatedCatalog` below. */ readonly federatedCatalog: pulumi.Output; /** * Name of the catalog. */ readonly name: pulumi.Output; /** * Whether to overwrite existing Lake Formation permissions on child resources with the default permissions. Valid values are `Accept` and `Deny`. */ readonly overwriteChildResourcePermissionsWithDefault: pulumi.Output; /** * Map of key-value pairs that define parameters and properties of the catalog. */ readonly parameters: pulumi.Output<{ [key: string]: string; } | undefined>; /** * 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. */ readonly region: pulumi.Output; /** * 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. */ readonly tags: pulumi.Output<{ [key: string]: string; } | undefined>; /** * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ readonly tagsAll: pulumi.Output<{ [key: string]: string; }>; /** * Configuration block for a target Redshift catalog. See `targetRedshiftCatalog` below. */ readonly targetRedshiftCatalog: pulumi.Output; readonly timeouts: pulumi.Output; /** * Time at which the catalog was last updated. */ readonly updateTime: pulumi.Output; /** * Create a Catalog resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args?: CatalogArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Catalog resources. */ export interface CatalogState { /** * Whether third-party engines can access data in Amazon S3 locations that are registered with Lake Formation. Valid values are `True` and `False`. */ allowFullTableExternalDataAccess?: pulumi.Input; /** * ARN of the Glue Catalog. */ arn?: pulumi.Input; /** * ID of the parent catalog. */ catalogId?: pulumi.Input; /** * Configuration block of properties for the catalog. See `catalogProperties` below. */ catalogProperties?: pulumi.Input; /** * List of default permissions on databases for principals. See `createDatabaseDefaultPermissions` below. */ createDatabaseDefaultPermissions?: pulumi.Input[] | undefined>; /** * List of default permissions on tables for principals. See `createTableDefaultPermissions` below. */ createTableDefaultPermissions?: pulumi.Input[] | undefined>; /** * Time at which the catalog was created. */ createTime?: pulumi.Input; /** * Description of the catalog. */ description?: pulumi.Input; /** * Configuration block for a federated catalog. See `federatedCatalog` below. */ federatedCatalog?: pulumi.Input; /** * Name of the catalog. */ name?: pulumi.Input; /** * Whether to overwrite existing Lake Formation permissions on child resources with the default permissions. Valid values are `Accept` and `Deny`. */ overwriteChildResourcePermissionsWithDefault?: pulumi.Input; /** * Map of key-value pairs that define parameters and properties of the catalog. */ parameters?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * 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. */ region?: pulumi.Input; /** * 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. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ tagsAll?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Configuration block for a target Redshift catalog. See `targetRedshiftCatalog` below. */ targetRedshiftCatalog?: pulumi.Input; timeouts?: pulumi.Input; /** * Time at which the catalog was last updated. */ updateTime?: pulumi.Input; } /** * The set of arguments for constructing a Catalog resource. */ export interface CatalogArgs { /** * Whether third-party engines can access data in Amazon S3 locations that are registered with Lake Formation. Valid values are `True` and `False`. */ allowFullTableExternalDataAccess?: pulumi.Input; /** * Configuration block of properties for the catalog. See `catalogProperties` below. */ catalogProperties?: pulumi.Input; /** * List of default permissions on databases for principals. See `createDatabaseDefaultPermissions` below. */ createDatabaseDefaultPermissions?: pulumi.Input[] | undefined>; /** * List of default permissions on tables for principals. See `createTableDefaultPermissions` below. */ createTableDefaultPermissions?: pulumi.Input[] | undefined>; /** * Description of the catalog. */ description?: pulumi.Input; /** * Configuration block for a federated catalog. See `federatedCatalog` below. */ federatedCatalog?: pulumi.Input; /** * Name of the catalog. */ name?: pulumi.Input; /** * Whether to overwrite existing Lake Formation permissions on child resources with the default permissions. Valid values are `Accept` and `Deny`. */ overwriteChildResourcePermissionsWithDefault?: pulumi.Input; /** * Map of key-value pairs that define parameters and properties of the catalog. */ parameters?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * 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. */ region?: pulumi.Input; /** * 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. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Configuration block for a target Redshift catalog. See `targetRedshiftCatalog` below. */ targetRedshiftCatalog?: pulumi.Input; timeouts?: pulumi.Input; } //# sourceMappingURL=catalog.d.ts.map