DataCatalog

class DataCatalog : KotlinCustomResource

Provides an Athena data catalog. More information about Athena and Athena data catalogs can be found in the Athena User Guide.

Tip: for a more detailed explanation on the usage of parameters, see the DataCatalog API documentation

Example Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.athena.DataCatalog;
import com.pulumi.aws.athena.DataCatalogArgs;
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 DataCatalog("example", DataCatalogArgs.builder()
.description("Example Athena data catalog")
.parameters(Map.of("function", "arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function"))
.tags(Map.of("Name", "example-athena-data-catalog"))
.type("LAMBDA")
.build());
}
}

Hive based Data Catalog

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.athena.DataCatalog;
import com.pulumi.aws.athena.DataCatalogArgs;
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 DataCatalog("example", DataCatalogArgs.builder()
.description("Hive based Data Catalog")
.parameters(Map.of("metadata-function", "arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function"))
.type("HIVE")
.build());
}
}

Glue based Data Catalog

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.athena.DataCatalog;
import com.pulumi.aws.athena.DataCatalogArgs;
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 DataCatalog("example", DataCatalogArgs.builder()
.description("Glue based Data Catalog")
.parameters(Map.of("catalog-id", "123456789012"))
.type("GLUE")
.build());
}
}

Lambda based Data Catalog

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.athena.DataCatalog;
import com.pulumi.aws.athena.DataCatalogArgs;
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 DataCatalog("example", DataCatalogArgs.builder()
.description("Lambda based Data Catalog")
.parameters(Map.ofEntries(
Map.entry("metadata-function", "arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function-1"),
Map.entry("record-function", "arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function-2")
))
.type("LAMBDA")
.build());
}
}

Import

Data catalogs can be imported using their name, e.g.,

$ pulumi import aws:athena/dataCatalog:DataCatalog example example-data-catalog

Properties

Link copied to clipboard
val arn: Output<String>

ARN of the data catalog.

Link copied to clipboard
val description: Output<String>

Description of the data catalog.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val name: Output<String>

Name of the data catalog. The catalog name must be unique for the AWS account and can use a maximum of 128 alphanumeric, underscore, at sign, or hyphen characters.

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

Key value pairs that specifies the Lambda function or functions to use for the data catalog. The mapping used depends on the catalog type.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val tags: Output<Map<String, String>>?

Map of tags to assign to the resource. 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
val tagsAll: Output<Map<String, String>>

Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Link copied to clipboard
val type: Output<String>

Type of data catalog: LAMBDA for a federated catalog, GLUE for AWS Glue Catalog, or HIVE for an external hive metastore.

Link copied to clipboard
val urn: Output<String>