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

AWS Native is in preview. AWS Classic is fully supported.

AWS Native v0.109.0 published on Wednesday, Jun 26, 2024 by Pulumi

aws-native.athena.DataCatalog

Explore with Pulumi AI

aws-native logo

AWS Native is in preview. AWS Classic is fully supported.

AWS Native v0.109.0 published on Wednesday, Jun 26, 2024 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" },
            },
        });
    
    });
    
    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
    	})
    }
    

    Coming soon!

    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=[
            aws_native.TagArgs(
                key="key1",
                value="value1",
            ),
            aws_native.TagArgs(
                key="key2",
                value="value2",
            ),
        ],
        parameters={
            "metadata-function": "arn:aws:lambda:us-west-2:111122223333:function:lambdaname",
        })
    
    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",
        },
    });
    

    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" },
            },
        });
    
    });
    
    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
    	})
    }
    

    Coming soon!

    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=[
            aws_native.TagArgs(
                key="key1",
                value="value1",
            ),
            aws_native.TagArgs(
                key="key2",
                value="value2",
            ),
        ],
        parameters={
            "metadata-function": "arn:aws:lambda:us-west-2:111122223333:function:lambdaname",
        })
    
    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",
        },
    });
    

    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,
                    description: Optional[str] = None,
                    name: Optional[str] = None,
                    parameters: Optional[Mapping[str, str]] = 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 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:

    Type 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.
    Description string
    A description of the data catalog to be created.
    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.
    Tags List<Pulumi.AwsNative.Inputs.Tag>
    A list of comma separated tags to add to the data catalog that is created.
    Type 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.
    Description string
    A description of the data catalog to be created.
    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.
    Tags TagArgs
    A list of comma separated tags to add to the data catalog that is created.
    type 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.
    description String
    A description of the data catalog to be created.
    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.
    tags List<Tag>
    A list of comma separated tags to add to the data catalog that is created.
    type 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.
    description string
    A description of the data catalog to be created.
    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.
    tags Tag[]
    A list of comma separated tags to add to the data catalog that is created.
    type 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.
    description str
    A description of the data catalog to be created.
    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.
    tags Sequence[TagArgs]
    A list of comma separated tags to add to the data catalog that is created.
    type "LAMBDA" | "GLUE" | "HIVE"
    The type of data catalog to create: LAMBDA for a federated catalog, GLUE for AWS Glue Catalog, or HIVE for an external hive metastore.
    description String
    A description of the data catalog to be created.
    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.
    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

    DataCatalogType, DataCatalogTypeArgs

    Lambda
    LAMBDA
    Glue
    GLUE
    Hive
    HIVE
    DataCatalogTypeLambda
    LAMBDA
    DataCatalogTypeGlue
    GLUE
    DataCatalogTypeHive
    HIVE
    Lambda
    LAMBDA
    Glue
    GLUE
    Hive
    HIVE
    Lambda
    LAMBDA
    Glue
    GLUE
    Hive
    HIVE
    LAMBDA_
    LAMBDA
    GLUE
    GLUE
    HIVE
    HIVE
    "LAMBDA"
    LAMBDA
    "GLUE"
    GLUE
    "HIVE"
    HIVE

    Tag, TagArgs

    Key string
    The key name of the tag
    Value string
    The value of the tag
    Key string
    The key name of the tag
    Value string
    The value of the tag
    key String
    The key name of the tag
    value String
    The value of the tag
    key string
    The key name of the tag
    value string
    The value of the tag
    key str
    The key name of the tag
    value str
    The value of the tag
    key String
    The key name of the tag
    value String
    The value of the tag

    Package Details

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

    AWS Native is in preview. AWS Classic is fully supported.

    AWS Native v0.109.0 published on Wednesday, Jun 26, 2024 by Pulumi