1. Packages
  2. AWS Cloud Control
  3. API Docs
  4. athena
  5. DataCatalog

We recommend new projects start with resources from the AWS provider.

AWS Cloud Control v1.26.0 published on Wednesday, Mar 12, 2025 by Pulumi

aws-native.athena.DataCatalog

Explore with Pulumi AI

We recommend new projects start with resources from the AWS provider.

AWS Cloud Control v1.26.0 published on Wednesday, Mar 12, 2025 by Pulumi

Resource schema for AWS::Athena::DataCatalog

Example Usage

Example

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AwsNative = Pulumi.AwsNative;

return await Deployment.RunAsync(() => 
{
    var myAthenaDataCatalog = new AwsNative.Athena.DataCatalog("myAthenaDataCatalog", new()
    {
        Name = "MyCustomDataCatalog",
        Type = AwsNative.Athena.DataCatalogType.Hive,
        Description = "Custom Hive Catalog Description",
        Tags = new[]
        {
            new AwsNative.Inputs.TagArgs
            {
                Key = "key1",
                Value = "value1",
            },
            new AwsNative.Inputs.TagArgs
            {
                Key = "key2",
                Value = "value2",
            },
        },
        Parameters = 
        {
            { "metadata-function", "arn:aws:lambda:us-west-2:111122223333:function:lambdaname" },
        },
    });

});
Copy
package main

import (
	awsnative "github.com/pulumi/pulumi-aws-native/sdk/go/aws"
	"github.com/pulumi/pulumi-aws-native/sdk/go/aws/athena"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := athena.NewDataCatalog(ctx, "myAthenaDataCatalog", &athena.DataCatalogArgs{
			Name:        pulumi.String("MyCustomDataCatalog"),
			Type:        athena.DataCatalogTypeHive,
			Description: pulumi.String("Custom Hive Catalog Description"),
			Tags: aws.TagArray{
				&aws.TagArgs{
					Key:   pulumi.String("key1"),
					Value: pulumi.String("value1"),
				},
				&aws.TagArgs{
					Key:   pulumi.String("key2"),
					Value: pulumi.String("value2"),
				},
			},
			Parameters: pulumi.StringMap{
				"metadata-function": pulumi.String("arn:aws:lambda:us-west-2:111122223333:function:lambdaname"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy

Coming soon!

import * as pulumi from "@pulumi/pulumi";
import * as aws_native from "@pulumi/aws-native";

const myAthenaDataCatalog = new aws_native.athena.DataCatalog("myAthenaDataCatalog", {
    name: "MyCustomDataCatalog",
    type: aws_native.athena.DataCatalogType.Hive,
    description: "Custom Hive Catalog Description",
    tags: [
        {
            key: "key1",
            value: "value1",
        },
        {
            key: "key2",
            value: "value2",
        },
    ],
    parameters: {
        "metadata-function": "arn:aws:lambda:us-west-2:111122223333:function:lambdaname",
    },
});
Copy
import pulumi
import pulumi_aws_native as aws_native

my_athena_data_catalog = aws_native.athena.DataCatalog("myAthenaDataCatalog",
    name="MyCustomDataCatalog",
    type=aws_native.athena.DataCatalogType.HIVE,
    description="Custom Hive Catalog Description",
    tags=[
        {
            "key": "key1",
            "value": "value1",
        },
        {
            "key": "key2",
            "value": "value2",
        },
    ],
    parameters={
        "metadata-function": "arn:aws:lambda:us-west-2:111122223333:function:lambdaname",
    })
Copy

Coming soon!

Example

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AwsNative = Pulumi.AwsNative;

return await Deployment.RunAsync(() => 
{
    var myAthenaDataCatalog = new AwsNative.Athena.DataCatalog("myAthenaDataCatalog", new()
    {
        Name = "MyCustomDataCatalog",
        Type = AwsNative.Athena.DataCatalogType.Hive,
        Description = "Custom Hive Catalog Description",
        Tags = new[]
        {
            new AwsNative.Inputs.TagArgs
            {
                Key = "key1",
                Value = "value1",
            },
            new AwsNative.Inputs.TagArgs
            {
                Key = "key2",
                Value = "value2",
            },
        },
        Parameters = 
        {
            { "metadata-function", "arn:aws:lambda:us-west-2:111122223333:function:lambdaname" },
        },
    });

});
Copy
package main

import (
	awsnative "github.com/pulumi/pulumi-aws-native/sdk/go/aws"
	"github.com/pulumi/pulumi-aws-native/sdk/go/aws/athena"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := athena.NewDataCatalog(ctx, "myAthenaDataCatalog", &athena.DataCatalogArgs{
			Name:        pulumi.String("MyCustomDataCatalog"),
			Type:        athena.DataCatalogTypeHive,
			Description: pulumi.String("Custom Hive Catalog Description"),
			Tags: aws.TagArray{
				&aws.TagArgs{
					Key:   pulumi.String("key1"),
					Value: pulumi.String("value1"),
				},
				&aws.TagArgs{
					Key:   pulumi.String("key2"),
					Value: pulumi.String("value2"),
				},
			},
			Parameters: pulumi.StringMap{
				"metadata-function": pulumi.String("arn:aws:lambda:us-west-2:111122223333:function:lambdaname"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy

Coming soon!

import * as pulumi from "@pulumi/pulumi";
import * as aws_native from "@pulumi/aws-native";

const myAthenaDataCatalog = new aws_native.athena.DataCatalog("myAthenaDataCatalog", {
    name: "MyCustomDataCatalog",
    type: aws_native.athena.DataCatalogType.Hive,
    description: "Custom Hive Catalog Description",
    tags: [
        {
            key: "key1",
            value: "value1",
        },
        {
            key: "key2",
            value: "value2",
        },
    ],
    parameters: {
        "metadata-function": "arn:aws:lambda:us-west-2:111122223333:function:lambdaname",
    },
});
Copy
import pulumi
import pulumi_aws_native as aws_native

my_athena_data_catalog = aws_native.athena.DataCatalog("myAthenaDataCatalog",
    name="MyCustomDataCatalog",
    type=aws_native.athena.DataCatalogType.HIVE,
    description="Custom Hive Catalog Description",
    tags=[
        {
            "key": "key1",
            "value": "value1",
        },
        {
            "key": "key2",
            "value": "value2",
        },
    ],
    parameters={
        "metadata-function": "arn:aws:lambda:us-west-2:111122223333:function:lambdaname",
    })
Copy

Coming soon!

Create DataCatalog Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new DataCatalog(name: string, args: DataCatalogArgs, opts?: CustomResourceOptions);
@overload
def DataCatalog(resource_name: str,
                args: DataCatalogArgs,
                opts: Optional[ResourceOptions] = None)

@overload
def DataCatalog(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                type: Optional[DataCatalogType] = None,
                connection_type: Optional[str] = None,
                description: Optional[str] = None,
                error: Optional[str] = None,
                name: Optional[str] = None,
                parameters: Optional[Mapping[str, str]] = None,
                status: Optional[DataCatalogStatus] = None,
                tags: Optional[Sequence[_root_inputs.TagArgs]] = None)
func NewDataCatalog(ctx *Context, name string, args DataCatalogArgs, opts ...ResourceOption) (*DataCatalog, error)
public DataCatalog(string name, DataCatalogArgs args, CustomResourceOptions? opts = null)
public DataCatalog(String name, DataCatalogArgs args)
public DataCatalog(String name, DataCatalogArgs args, CustomResourceOptions options)
type: aws-native:athena:DataCatalog
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. DataCatalogArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. DataCatalogArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. DataCatalogArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. DataCatalogArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. DataCatalogArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

DataCatalog Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The DataCatalog resource accepts the following input properties:

Type This property is required. Pulumi.AwsNative.Athena.DataCatalogType
The type of data catalog to create: LAMBDA for a federated catalog, GLUE for AWS Glue Catalog, or HIVE for an external hive metastore. FEDERATED is a federated catalog for which Athena creates the connection and the Lambda function for you based on the parameters that you pass.
ConnectionType string
The type of connection for a FEDERATED data catalog
Description string
A description of the data catalog to be created.
Error string
Text of the error that occurred during data catalog creation or deletion.
Name string
The name of the data catalog to create. The catalog name must be unique for the AWS account and can use a maximum of 128 alphanumeric, underscore, at sign, or hyphen characters.
Parameters Dictionary<string, string>
Specifies the Lambda function or functions to use for creating the data catalog. This is a mapping whose values depend on the catalog type.
Status Pulumi.AwsNative.Athena.DataCatalogStatus
The status of the creation or deletion of the data catalog. LAMBDA, GLUE, and HIVE data catalog types are created synchronously. Their status is either CREATE_COMPLETE or CREATE_FAILED. The FEDERATED data catalog type is created asynchronously.
Tags List<Pulumi.AwsNative.Inputs.Tag>
A list of comma separated tags to add to the data catalog that is created.
Type This property is required. DataCatalogType
The type of data catalog to create: LAMBDA for a federated catalog, GLUE for AWS Glue Catalog, or HIVE for an external hive metastore. FEDERATED is a federated catalog for which Athena creates the connection and the Lambda function for you based on the parameters that you pass.
ConnectionType string
The type of connection for a FEDERATED data catalog
Description string
A description of the data catalog to be created.
Error string
Text of the error that occurred during data catalog creation or deletion.
Name string
The name of the data catalog to create. The catalog name must be unique for the AWS account and can use a maximum of 128 alphanumeric, underscore, at sign, or hyphen characters.
Parameters map[string]string
Specifies the Lambda function or functions to use for creating the data catalog. This is a mapping whose values depend on the catalog type.
Status DataCatalogStatus
The status of the creation or deletion of the data catalog. LAMBDA, GLUE, and HIVE data catalog types are created synchronously. Their status is either CREATE_COMPLETE or CREATE_FAILED. The FEDERATED data catalog type is created asynchronously.
Tags TagArgs
A list of comma separated tags to add to the data catalog that is created.
type This property is required. DataCatalogType
The type of data catalog to create: LAMBDA for a federated catalog, GLUE for AWS Glue Catalog, or HIVE for an external hive metastore. FEDERATED is a federated catalog for which Athena creates the connection and the Lambda function for you based on the parameters that you pass.
connectionType String
The type of connection for a FEDERATED data catalog
description String
A description of the data catalog to be created.
error String
Text of the error that occurred during data catalog creation or deletion.
name String
The name of the data catalog to create. The catalog name must be unique for the AWS account and can use a maximum of 128 alphanumeric, underscore, at sign, or hyphen characters.
parameters Map<String,String>
Specifies the Lambda function or functions to use for creating the data catalog. This is a mapping whose values depend on the catalog type.
status DataCatalogStatus
The status of the creation or deletion of the data catalog. LAMBDA, GLUE, and HIVE data catalog types are created synchronously. Their status is either CREATE_COMPLETE or CREATE_FAILED. The FEDERATED data catalog type is created asynchronously.
tags List<Tag>
A list of comma separated tags to add to the data catalog that is created.
type This property is required. DataCatalogType
The type of data catalog to create: LAMBDA for a federated catalog, GLUE for AWS Glue Catalog, or HIVE for an external hive metastore. FEDERATED is a federated catalog for which Athena creates the connection and the Lambda function for you based on the parameters that you pass.
connectionType string
The type of connection for a FEDERATED data catalog
description string
A description of the data catalog to be created.
error string
Text of the error that occurred during data catalog creation or deletion.
name string
The name of the data catalog to create. The catalog name must be unique for the AWS account and can use a maximum of 128 alphanumeric, underscore, at sign, or hyphen characters.
parameters {[key: string]: string}
Specifies the Lambda function or functions to use for creating the data catalog. This is a mapping whose values depend on the catalog type.
status DataCatalogStatus
The status of the creation or deletion of the data catalog. LAMBDA, GLUE, and HIVE data catalog types are created synchronously. Their status is either CREATE_COMPLETE or CREATE_FAILED. The FEDERATED data catalog type is created asynchronously.
tags Tag[]
A list of comma separated tags to add to the data catalog that is created.
type This property is required. DataCatalogType
The type of data catalog to create: LAMBDA for a federated catalog, GLUE for AWS Glue Catalog, or HIVE for an external hive metastore. FEDERATED is a federated catalog for which Athena creates the connection and the Lambda function for you based on the parameters that you pass.
connection_type str
The type of connection for a FEDERATED data catalog
description str
A description of the data catalog to be created.
error str
Text of the error that occurred during data catalog creation or deletion.
name str
The name of the data catalog to create. The catalog name must be unique for the AWS account and can use a maximum of 128 alphanumeric, underscore, at sign, or hyphen characters.
parameters Mapping[str, str]
Specifies the Lambda function or functions to use for creating the data catalog. This is a mapping whose values depend on the catalog type.
status DataCatalogStatus
The status of the creation or deletion of the data catalog. LAMBDA, GLUE, and HIVE data catalog types are created synchronously. Their status is either CREATE_COMPLETE or CREATE_FAILED. The FEDERATED data catalog type is created asynchronously.
tags Sequence[TagArgs]
A list of comma separated tags to add to the data catalog that is created.
type This property is required. "LAMBDA" | "GLUE" | "HIVE" | "FEDERATED"
The type of data catalog to create: LAMBDA for a federated catalog, GLUE for AWS Glue Catalog, or HIVE for an external hive metastore. FEDERATED is a federated catalog for which Athena creates the connection and the Lambda function for you based on the parameters that you pass.
connectionType String
The type of connection for a FEDERATED data catalog
description String
A description of the data catalog to be created.
error String
Text of the error that occurred during data catalog creation or deletion.
name String
The name of the data catalog to create. The catalog name must be unique for the AWS account and can use a maximum of 128 alphanumeric, underscore, at sign, or hyphen characters.
parameters Map<String>
Specifies the Lambda function or functions to use for creating the data catalog. This is a mapping whose values depend on the catalog type.
status "CREATE_IN_PROGRESS" | "CREATE_COMPLETE" | "CREATE_FAILED" | "CREATE_FAILED_CLEANUP_IN_PROGRESS" | "CREATE_FAILED_CLEANUP_COMPLETE" | "CREATE_FAILED_CLEANUP_FAILED" | "DELETE_IN_PROGRESS" | "DELETE_COMPLETE" | "DELETE_FAILED"
The status of the creation or deletion of the data catalog. LAMBDA, GLUE, and HIVE data catalog types are created synchronously. Their status is either CREATE_COMPLETE or CREATE_FAILED. The FEDERATED data catalog type is created asynchronously.
tags List<Property Map>
A list of comma separated tags to add to the data catalog that is created.

Outputs

All input properties are implicitly available as output properties. Additionally, the DataCatalog resource produces the following output properties:

Id string
The provider-assigned unique ID for this managed resource.
Id string
The provider-assigned unique ID for this managed resource.
id String
The provider-assigned unique ID for this managed resource.
id string
The provider-assigned unique ID for this managed resource.
id str
The provider-assigned unique ID for this managed resource.
id String
The provider-assigned unique ID for this managed resource.

Supporting Types

DataCatalogStatus
, DataCatalogStatusArgs

CreateInProgress
CREATE_IN_PROGRESS
CreateComplete
CREATE_COMPLETE
CreateFailed
CREATE_FAILED
CreateFailedCleanupInProgress
CREATE_FAILED_CLEANUP_IN_PROGRESS
CreateFailedCleanupComplete
CREATE_FAILED_CLEANUP_COMPLETE
CreateFailedCleanupFailed
CREATE_FAILED_CLEANUP_FAILED
DeleteInProgress
DELETE_IN_PROGRESS
DeleteComplete
DELETE_COMPLETE
DeleteFailed
DELETE_FAILED
DataCatalogStatusCreateInProgress
CREATE_IN_PROGRESS
DataCatalogStatusCreateComplete
CREATE_COMPLETE
DataCatalogStatusCreateFailed
CREATE_FAILED
DataCatalogStatusCreateFailedCleanupInProgress
CREATE_FAILED_CLEANUP_IN_PROGRESS
DataCatalogStatusCreateFailedCleanupComplete
CREATE_FAILED_CLEANUP_COMPLETE
DataCatalogStatusCreateFailedCleanupFailed
CREATE_FAILED_CLEANUP_FAILED
DataCatalogStatusDeleteInProgress
DELETE_IN_PROGRESS
DataCatalogStatusDeleteComplete
DELETE_COMPLETE
DataCatalogStatusDeleteFailed
DELETE_FAILED
CreateInProgress
CREATE_IN_PROGRESS
CreateComplete
CREATE_COMPLETE
CreateFailed
CREATE_FAILED
CreateFailedCleanupInProgress
CREATE_FAILED_CLEANUP_IN_PROGRESS
CreateFailedCleanupComplete
CREATE_FAILED_CLEANUP_COMPLETE
CreateFailedCleanupFailed
CREATE_FAILED_CLEANUP_FAILED
DeleteInProgress
DELETE_IN_PROGRESS
DeleteComplete
DELETE_COMPLETE
DeleteFailed
DELETE_FAILED
CreateInProgress
CREATE_IN_PROGRESS
CreateComplete
CREATE_COMPLETE
CreateFailed
CREATE_FAILED
CreateFailedCleanupInProgress
CREATE_FAILED_CLEANUP_IN_PROGRESS
CreateFailedCleanupComplete
CREATE_FAILED_CLEANUP_COMPLETE
CreateFailedCleanupFailed
CREATE_FAILED_CLEANUP_FAILED
DeleteInProgress
DELETE_IN_PROGRESS
DeleteComplete
DELETE_COMPLETE
DeleteFailed
DELETE_FAILED
CREATE_IN_PROGRESS
CREATE_IN_PROGRESS
CREATE_COMPLETE
CREATE_COMPLETE
CREATE_FAILED
CREATE_FAILED
CREATE_FAILED_CLEANUP_IN_PROGRESS
CREATE_FAILED_CLEANUP_IN_PROGRESS
CREATE_FAILED_CLEANUP_COMPLETE
CREATE_FAILED_CLEANUP_COMPLETE
CREATE_FAILED_CLEANUP_FAILED
CREATE_FAILED_CLEANUP_FAILED
DELETE_IN_PROGRESS
DELETE_IN_PROGRESS
DELETE_COMPLETE
DELETE_COMPLETE
DELETE_FAILED
DELETE_FAILED
"CREATE_IN_PROGRESS"
CREATE_IN_PROGRESS
"CREATE_COMPLETE"
CREATE_COMPLETE
"CREATE_FAILED"
CREATE_FAILED
"CREATE_FAILED_CLEANUP_IN_PROGRESS"
CREATE_FAILED_CLEANUP_IN_PROGRESS
"CREATE_FAILED_CLEANUP_COMPLETE"
CREATE_FAILED_CLEANUP_COMPLETE
"CREATE_FAILED_CLEANUP_FAILED"
CREATE_FAILED_CLEANUP_FAILED
"DELETE_IN_PROGRESS"
DELETE_IN_PROGRESS
"DELETE_COMPLETE"
DELETE_COMPLETE
"DELETE_FAILED"
DELETE_FAILED

DataCatalogType
, DataCatalogTypeArgs

Lambda
LAMBDA
Glue
GLUE
Hive
HIVE
Federated
FEDERATED
DataCatalogTypeLambda
LAMBDA
DataCatalogTypeGlue
GLUE
DataCatalogTypeHive
HIVE
DataCatalogTypeFederated
FEDERATED
Lambda
LAMBDA
Glue
GLUE
Hive
HIVE
Federated
FEDERATED
Lambda
LAMBDA
Glue
GLUE
Hive
HIVE
Federated
FEDERATED
LAMBDA_
LAMBDA
GLUE
GLUE
HIVE
HIVE
FEDERATED
FEDERATED
"LAMBDA"
LAMBDA
"GLUE"
GLUE
"HIVE"
HIVE
"FEDERATED"
FEDERATED

Tag
, TagArgs

Key This property is required. string
The key name of the tag
Value This property is required. string
The value of the tag
Key This property is required. string
The key name of the tag
Value This property is required. string
The value of the tag
key This property is required. String
The key name of the tag
value This property is required. String
The value of the tag
key This property is required. string
The key name of the tag
value This property is required. string
The value of the tag
key This property is required. str
The key name of the tag
value This property is required. str
The value of the tag
key This property is required. String
The key name of the tag
value This property is required. String
The value of the tag

Package Details

Repository
AWS Native pulumi/pulumi-aws-native
License
Apache-2.0

We recommend new projects start with resources from the AWS provider.

AWS Cloud Control v1.26.0 published on Wednesday, Mar 12, 2025 by Pulumi