Try AWS Native preview for resources not in the classic version.
aws.athena.DataCatalog
Explore with Pulumi AI
Try AWS Native preview for resources not in the classic version.
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
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.Athena.DataCatalog("example", new()
{
Description = "Example Athena data catalog",
Parameters =
{
{ "function", "arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function" },
},
Tags =
{
{ "Name", "example-athena-data-catalog" },
},
Type = "LAMBDA",
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/athena"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := athena.NewDataCatalog(ctx, "example", &athena.DataCatalogArgs{
Description: pulumi.String("Example Athena data catalog"),
Parameters: pulumi.StringMap{
"function": pulumi.String("arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function"),
},
Tags: pulumi.StringMap{
"Name": pulumi.String("example-athena-data-catalog"),
},
Type: pulumi.String("LAMBDA"),
})
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.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());
}
}
import pulumi
import pulumi_aws as aws
example = aws.athena.DataCatalog("example",
description="Example Athena data catalog",
parameters={
"function": "arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function",
},
tags={
"Name": "example-athena-data-catalog",
},
type="LAMBDA")
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.athena.DataCatalog("example", {
description: "Example Athena data catalog",
parameters: {
"function": "arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function",
},
tags: {
Name: "example-athena-data-catalog",
},
type: "LAMBDA",
});
resources:
example:
type: aws:athena:DataCatalog
properties:
description: Example Athena data catalog
parameters:
function: arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function
tags:
Name: example-athena-data-catalog
type: LAMBDA
Hive based Data Catalog
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.Athena.DataCatalog("example", new()
{
Description = "Hive based Data Catalog",
Parameters =
{
{ "metadata-function", "arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function" },
},
Type = "HIVE",
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/athena"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := athena.NewDataCatalog(ctx, "example", &athena.DataCatalogArgs{
Description: pulumi.String("Hive based Data Catalog"),
Parameters: pulumi.StringMap{
"metadata-function": pulumi.String("arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function"),
},
Type: pulumi.String("HIVE"),
})
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.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());
}
}
import pulumi
import pulumi_aws as aws
example = aws.athena.DataCatalog("example",
description="Hive based Data Catalog",
parameters={
"metadata-function": "arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function",
},
type="HIVE")
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.athena.DataCatalog("example", {
description: "Hive based Data Catalog",
parameters: {
"metadata-function": "arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function",
},
type: "HIVE",
});
resources:
example:
type: aws:athena:DataCatalog
properties:
description: Hive based Data Catalog
parameters:
metadata-function: arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function
type: HIVE
Glue based Data Catalog
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.Athena.DataCatalog("example", new()
{
Description = "Glue based Data Catalog",
Parameters =
{
{ "catalog-id", "123456789012" },
},
Type = "GLUE",
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/athena"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := athena.NewDataCatalog(ctx, "example", &athena.DataCatalogArgs{
Description: pulumi.String("Glue based Data Catalog"),
Parameters: pulumi.StringMap{
"catalog-id": pulumi.String("123456789012"),
},
Type: pulumi.String("GLUE"),
})
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.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());
}
}
import pulumi
import pulumi_aws as aws
example = aws.athena.DataCatalog("example",
description="Glue based Data Catalog",
parameters={
"catalog-id": "123456789012",
},
type="GLUE")
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.athena.DataCatalog("example", {
description: "Glue based Data Catalog",
parameters: {
"catalog-id": "123456789012",
},
type: "GLUE",
});
resources:
example:
type: aws:athena:DataCatalog
properties:
description: Glue based Data Catalog
parameters:
catalog-id: '123456789012'
type: GLUE
Lambda based Data Catalog
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.Athena.DataCatalog("example", new()
{
Description = "Lambda based Data Catalog",
Parameters =
{
{ "metadata-function", "arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function-1" },
{ "record-function", "arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function-2" },
},
Type = "LAMBDA",
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/athena"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := athena.NewDataCatalog(ctx, "example", &athena.DataCatalogArgs{
Description: pulumi.String("Lambda based Data Catalog"),
Parameters: pulumi.StringMap{
"metadata-function": pulumi.String("arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function-1"),
"record-function": pulumi.String("arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function-2"),
},
Type: pulumi.String("LAMBDA"),
})
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.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 pulumi
import pulumi_aws as aws
example = aws.athena.DataCatalog("example",
description="Lambda based Data Catalog",
parameters={
"metadata-function": "arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function-1",
"record-function": "arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function-2",
},
type="LAMBDA")
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.athena.DataCatalog("example", {
description: "Lambda based Data Catalog",
parameters: {
"metadata-function": "arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function-1",
"record-function": "arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function-2",
},
type: "LAMBDA",
});
resources:
example:
type: aws:athena:DataCatalog
properties:
description: Lambda based Data Catalog
parameters:
metadata-function: arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function-1
record-function: arn:aws:lambda:eu-central-1:123456789012:function:not-important-lambda-function-2
type: LAMBDA
Create DataCatalog Resource
new DataCatalog(name: string, args: DataCatalogArgs, opts?: CustomResourceOptions);
@overload
def DataCatalog(resource_name: str,
opts: Optional[ResourceOptions] = None,
description: Optional[str] = None,
name: Optional[str] = None,
parameters: Optional[Mapping[str, str]] = None,
tags: Optional[Mapping[str, str]] = None,
type: Optional[str] = None)
@overload
def DataCatalog(resource_name: str,
args: DataCatalogArgs,
opts: Optional[ResourceOptions] = 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:athena:DataCatalog
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args DataCatalogArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args 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 string
- The unique name of the resource.
- args DataCatalogArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args DataCatalogArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args 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
The DataCatalog resource accepts the following input properties:
- Description string
Description of the data catalog.
- Parameters Dictionary<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.
- Type string
Type of data catalog:
LAMBDA
for a federated catalog,GLUE
for AWS Glue Catalog, orHIVE
for an external hive metastore.- Name 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.
- Dictionary<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.
- Description string
Description of the data catalog.
- Parameters 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.
- Type string
Type of data catalog:
LAMBDA
for a federated catalog,GLUE
for AWS Glue Catalog, orHIVE
for an external hive metastore.- Name 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.
- 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.
- description String
Description of the data catalog.
- parameters 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.
- type String
Type of data catalog:
LAMBDA
for a federated catalog,GLUE
for AWS Glue Catalog, orHIVE
for an external hive metastore.- name 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.
- 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.
- description string
Description of the data catalog.
- parameters {[key: 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.
- type string
Type of data catalog:
LAMBDA
for a federated catalog,GLUE
for AWS Glue Catalog, orHIVE
for an external hive metastore.- name 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.
- {[key: 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.
- description str
Description of the data catalog.
- parameters Mapping[str, str]
Key value pairs that specifies the Lambda function or functions to use for the data catalog. The mapping used depends on the catalog type.
- type str
Type of data catalog:
LAMBDA
for a federated catalog,GLUE
for AWS Glue Catalog, orHIVE
for an external hive metastore.- name str
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.
- Mapping[str, str]
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.
- description String
Description of the data catalog.
- parameters Map<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.
- type String
Type of data catalog:
LAMBDA
for a federated catalog,GLUE
for AWS Glue Catalog, orHIVE
for an external hive metastore.- name 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.
- Map<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.
Outputs
All input properties are implicitly available as output properties. Additionally, the DataCatalog resource produces the following output properties:
Look up Existing DataCatalog Resource
Get an existing DataCatalog resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: DataCatalogState, opts?: CustomResourceOptions): DataCatalog
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
arn: Optional[str] = None,
description: Optional[str] = None,
name: Optional[str] = None,
parameters: Optional[Mapping[str, str]] = None,
tags: Optional[Mapping[str, str]] = None,
tags_all: Optional[Mapping[str, str]] = None,
type: Optional[str] = None) -> DataCatalog
func GetDataCatalog(ctx *Context, name string, id IDInput, state *DataCatalogState, opts ...ResourceOption) (*DataCatalog, error)
public static DataCatalog Get(string name, Input<string> id, DataCatalogState? state, CustomResourceOptions? opts = null)
public static DataCatalog get(String name, Output<String> id, DataCatalogState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Arn string
ARN of the data catalog.
- Description string
Description of the data catalog.
- Name 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.
- Parameters Dictionary<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.
- Dictionary<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.- Dictionary<string, string>
Map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block.Please use
tags
instead.- Type string
Type of data catalog:
LAMBDA
for a federated catalog,GLUE
for AWS Glue Catalog, orHIVE
for an external hive metastore.
- Arn string
ARN of the data catalog.
- Description string
Description of the data catalog.
- Name 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.
- Parameters 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.
- 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.- map[string]string
Map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block.Please use
tags
instead.- Type string
Type of data catalog:
LAMBDA
for a federated catalog,GLUE
for AWS Glue Catalog, orHIVE
for an external hive metastore.
- arn String
ARN of the data catalog.
- description String
Description of the data catalog.
- name 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.
- parameters 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.
- 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.- Map<String,String>
Map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block.Please use
tags
instead.- type String
Type of data catalog:
LAMBDA
for a federated catalog,GLUE
for AWS Glue Catalog, orHIVE
for an external hive metastore.
- arn string
ARN of the data catalog.
- description string
Description of the data catalog.
- name 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.
- parameters {[key: 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.
- {[key: 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.- {[key: string]: string}
Map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block.Please use
tags
instead.- type string
Type of data catalog:
LAMBDA
for a federated catalog,GLUE
for AWS Glue Catalog, orHIVE
for an external hive metastore.
- arn str
ARN of the data catalog.
- description str
Description of the data catalog.
- name str
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.
- parameters Mapping[str, str]
Key value pairs that specifies the Lambda function or functions to use for the data catalog. The mapping used depends on the catalog type.
- Mapping[str, str]
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.- Mapping[str, str]
Map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block.Please use
tags
instead.- type str
Type of data catalog:
LAMBDA
for a federated catalog,GLUE
for AWS Glue Catalog, orHIVE
for an external hive metastore.
- arn String
ARN of the data catalog.
- description String
Description of the data catalog.
- name 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.
- parameters Map<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.
- Map<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.- Map<String>
Map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block.Please use
tags
instead.- type String
Type of data catalog:
LAMBDA
for a federated catalog,GLUE
for AWS Glue Catalog, orHIVE
for an external hive metastore.
Import
Using pulumi import
, import data catalogs using their name
. For example:
$ pulumi import aws:athena/dataCatalog:DataCatalog example example-data-catalog
Package Details
- Repository
- AWS Classic pulumi/pulumi-aws
- License
- Apache-2.0
- Notes
This Pulumi package is based on the
aws
Terraform Provider.
Try AWS Native preview for resources not in the classic version.