CatalogDatabaseArgs

data class CatalogDatabaseArgs(val catalogId: Output<String>? = null, val createTableDefaultPermissions: Output<List<CatalogDatabaseCreateTableDefaultPermissionArgs>>? = null, val description: Output<String>? = null, val federatedDatabase: Output<CatalogDatabaseFederatedDatabaseArgs>? = null, val locationUri: Output<String>? = null, val name: Output<String>? = null, val parameters: Output<Map<String, String>>? = null, val tags: Output<Map<String, String>>? = null, val targetDatabase: Output<CatalogDatabaseTargetDatabaseArgs>? = null) : ConvertibleToJava<CatalogDatabaseArgs>

Provides a Glue Catalog Database Resource. You can refer to the Glue Developer Guide for a full explanation of the Glue Data Catalog functionality

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.glue.CatalogDatabase("example", {name: "MyCatalogDatabase"});
import pulumi
import pulumi_aws as aws
example = aws.glue.CatalogDatabase("example", name="MyCatalogDatabase")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.Glue.CatalogDatabase("example", new()
{
Name = "MyCatalogDatabase",
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := glue.NewCatalogDatabase(ctx, "example", &glue.CatalogDatabaseArgs{
Name: pulumi.String("MyCatalogDatabase"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.glue.CatalogDatabase;
import com.pulumi.aws.glue.CatalogDatabaseArgs;
import java.util.List;
import java.util.ArrayList;
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 CatalogDatabase("example", CatalogDatabaseArgs.builder()
.name("MyCatalogDatabase")
.build());
}
}
resources:
example:
type: aws:glue:CatalogDatabase
properties:
name: MyCatalogDatabase

Create Table Default Permissions

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.glue.CatalogDatabase("example", {
name: "MyCatalogDatabase",
createTableDefaultPermissions: [{
permissions: ["SELECT"],
principal: {
dataLakePrincipalIdentifier: "IAM_ALLOWED_PRINCIPALS",
},
}],
});
import pulumi
import pulumi_aws as aws
example = aws.glue.CatalogDatabase("example",
name="MyCatalogDatabase",
create_table_default_permissions=[{
"permissions": ["SELECT"],
"principal": {
"data_lake_principal_identifier": "IAM_ALLOWED_PRINCIPALS",
},
}])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.Glue.CatalogDatabase("example", new()
{
Name = "MyCatalogDatabase",
CreateTableDefaultPermissions = new[]
{
new Aws.Glue.Inputs.CatalogDatabaseCreateTableDefaultPermissionArgs
{
Permissions = new[]
{
"SELECT",
},
Principal = new Aws.Glue.Inputs.CatalogDatabaseCreateTableDefaultPermissionPrincipalArgs
{
DataLakePrincipalIdentifier = "IAM_ALLOWED_PRINCIPALS",
},
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := glue.NewCatalogDatabase(ctx, "example", &glue.CatalogDatabaseArgs{
Name: pulumi.String("MyCatalogDatabase"),
CreateTableDefaultPermissions: glue.CatalogDatabaseCreateTableDefaultPermissionArray{
&glue.CatalogDatabaseCreateTableDefaultPermissionArgs{
Permissions: pulumi.StringArray{
pulumi.String("SELECT"),
},
Principal: &glue.CatalogDatabaseCreateTableDefaultPermissionPrincipalArgs{
DataLakePrincipalIdentifier: pulumi.String("IAM_ALLOWED_PRINCIPALS"),
},
},
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.glue.CatalogDatabase;
import com.pulumi.aws.glue.CatalogDatabaseArgs;
import com.pulumi.aws.glue.inputs.CatalogDatabaseCreateTableDefaultPermissionArgs;
import com.pulumi.aws.glue.inputs.CatalogDatabaseCreateTableDefaultPermissionPrincipalArgs;
import java.util.List;
import java.util.ArrayList;
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 CatalogDatabase("example", CatalogDatabaseArgs.builder()
.name("MyCatalogDatabase")
.createTableDefaultPermissions(CatalogDatabaseCreateTableDefaultPermissionArgs.builder()
.permissions("SELECT")
.principal(CatalogDatabaseCreateTableDefaultPermissionPrincipalArgs.builder()
.dataLakePrincipalIdentifier("IAM_ALLOWED_PRINCIPALS")
.build())
.build())
.build());
}
}
resources:
example:
type: aws:glue:CatalogDatabase
properties:
name: MyCatalogDatabase
createTableDefaultPermissions:
- permissions:
- SELECT
principal:
dataLakePrincipalIdentifier: IAM_ALLOWED_PRINCIPALS

Import

Using pulumi import, import Glue Catalog Databases using the catalog_id:name. If you have not set a Catalog ID specify the AWS Account ID that the database is in. For example:

$ pulumi import aws:glue/catalogDatabase:CatalogDatabase database 123456789012:my_database

Constructors

Link copied to clipboard
constructor(catalogId: Output<String>? = null, createTableDefaultPermissions: Output<List<CatalogDatabaseCreateTableDefaultPermissionArgs>>? = null, description: Output<String>? = null, federatedDatabase: Output<CatalogDatabaseFederatedDatabaseArgs>? = null, locationUri: Output<String>? = null, name: Output<String>? = null, parameters: Output<Map<String, String>>? = null, tags: Output<Map<String, String>>? = null, targetDatabase: Output<CatalogDatabaseTargetDatabaseArgs>? = null)

Properties

Link copied to clipboard
val catalogId: Output<String>? = null

ID of the Glue Catalog to create the database in. If omitted, this defaults to the AWS Account ID.

Link copied to clipboard

Creates a set of default permissions on the table for principals. See create_table_default_permission below.

Link copied to clipboard
val description: Output<String>? = null

Description of the database.

Link copied to clipboard

Configuration block that references an entity outside the AWS Glue Data Catalog. See federated_database below.

Link copied to clipboard
val locationUri: Output<String>? = null

Location of the database (for example, an HDFS path).

Link copied to clipboard
val name: Output<String>? = null

Name of the database. The acceptable characters are lowercase letters, numbers, and the underscore character.

Link copied to clipboard
val parameters: Output<Map<String, String>>? = null

List of key-value pairs that define parameters and properties of the database.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

Link copied to clipboard

Configuration block for a target database for resource linking. See target_database below.

Functions

Link copied to clipboard
open override fun toJava(): CatalogDatabaseArgs