1. Packages
  2. AWS Classic
  3. API Docs
  4. appsync
  5. DataSource

Try AWS Native preview for resources not in the classic version.

AWS Classic v6.45.0 published on Tuesday, Jul 16, 2024 by Pulumi

aws.appsync.DataSource

Explore with Pulumi AI

aws logo

Try AWS Native preview for resources not in the classic version.

AWS Classic v6.45.0 published on Tuesday, Jul 16, 2024 by Pulumi

    Provides an AppSync Data Source.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const exampleTable = new aws.dynamodb.Table("example", {
        name: "example",
        readCapacity: 1,
        writeCapacity: 1,
        hashKey: "UserId",
        attributes: [{
            name: "UserId",
            type: "S",
        }],
    });
    const assumeRole = aws.iam.getPolicyDocument({
        statements: [{
            effect: "Allow",
            principals: [{
                type: "Service",
                identifiers: ["appsync.amazonaws.com"],
            }],
            actions: ["sts:AssumeRole"],
        }],
    });
    const exampleRole = new aws.iam.Role("example", {
        name: "example",
        assumeRolePolicy: assumeRole.then(assumeRole => assumeRole.json),
    });
    const example = aws.iam.getPolicyDocumentOutput({
        statements: [{
            effect: "Allow",
            actions: ["dynamodb:*"],
            resources: [exampleTable.arn],
        }],
    });
    const exampleRolePolicy = new aws.iam.RolePolicy("example", {
        name: "example",
        role: exampleRole.id,
        policy: example.apply(example => example.json),
    });
    const exampleGraphQLApi = new aws.appsync.GraphQLApi("example", {
        authenticationType: "API_KEY",
        name: "my_appsync_example",
    });
    const exampleDataSource = new aws.appsync.DataSource("example", {
        apiId: exampleGraphQLApi.id,
        name: "my_appsync_example",
        serviceRoleArn: exampleRole.arn,
        type: "AMAZON_DYNAMODB",
        dynamodbConfig: {
            tableName: exampleTable.name,
        },
    });
    
    import pulumi
    import pulumi_aws as aws
    
    example_table = aws.dynamodb.Table("example",
        name="example",
        read_capacity=1,
        write_capacity=1,
        hash_key="UserId",
        attributes=[{
            "name": "UserId",
            "type": "S",
        }])
    assume_role = aws.iam.get_policy_document(statements=[{
        "effect": "Allow",
        "principals": [{
            "type": "Service",
            "identifiers": ["appsync.amazonaws.com"],
        }],
        "actions": ["sts:AssumeRole"],
    }])
    example_role = aws.iam.Role("example",
        name="example",
        assume_role_policy=assume_role.json)
    example = aws.iam.get_policy_document_output(statements=[{
        "effect": "Allow",
        "actions": ["dynamodb:*"],
        "resources": [example_table.arn],
    }])
    example_role_policy = aws.iam.RolePolicy("example",
        name="example",
        role=example_role.id,
        policy=example.json)
    example_graph_ql_api = aws.appsync.GraphQLApi("example",
        authentication_type="API_KEY",
        name="my_appsync_example")
    example_data_source = aws.appsync.DataSource("example",
        api_id=example_graph_ql_api.id,
        name="my_appsync_example",
        service_role_arn=example_role.arn,
        type="AMAZON_DYNAMODB",
        dynamodb_config={
            "tableName": example_table.name,
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appsync"
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb"
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		exampleTable, err := dynamodb.NewTable(ctx, "example", &dynamodb.TableArgs{
    			Name:          pulumi.String("example"),
    			ReadCapacity:  pulumi.Int(1),
    			WriteCapacity: pulumi.Int(1),
    			HashKey:       pulumi.String("UserId"),
    			Attributes: dynamodb.TableAttributeArray{
    				&dynamodb.TableAttributeArgs{
    					Name: pulumi.String("UserId"),
    					Type: pulumi.String("S"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		assumeRole, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{
    			Statements: []iam.GetPolicyDocumentStatement{
    				{
    					Effect: pulumi.StringRef("Allow"),
    					Principals: []iam.GetPolicyDocumentStatementPrincipal{
    						{
    							Type: "Service",
    							Identifiers: []string{
    								"appsync.amazonaws.com",
    							},
    						},
    					},
    					Actions: []string{
    						"sts:AssumeRole",
    					},
    				},
    			},
    		}, nil)
    		if err != nil {
    			return err
    		}
    		exampleRole, err := iam.NewRole(ctx, "example", &iam.RoleArgs{
    			Name:             pulumi.String("example"),
    			AssumeRolePolicy: pulumi.String(assumeRole.Json),
    		})
    		if err != nil {
    			return err
    		}
    		example := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{
    			Statements: iam.GetPolicyDocumentStatementArray{
    				&iam.GetPolicyDocumentStatementArgs{
    					Effect: pulumi.String("Allow"),
    					Actions: pulumi.StringArray{
    						pulumi.String("dynamodb:*"),
    					},
    					Resources: pulumi.StringArray{
    						exampleTable.Arn,
    					},
    				},
    			},
    		}, nil)
    		_, err = iam.NewRolePolicy(ctx, "example", &iam.RolePolicyArgs{
    			Name: pulumi.String("example"),
    			Role: exampleRole.ID(),
    			Policy: example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {
    				return &example.Json, nil
    			}).(pulumi.StringPtrOutput),
    		})
    		if err != nil {
    			return err
    		}
    		exampleGraphQLApi, err := appsync.NewGraphQLApi(ctx, "example", &appsync.GraphQLApiArgs{
    			AuthenticationType: pulumi.String("API_KEY"),
    			Name:               pulumi.String("my_appsync_example"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = appsync.NewDataSource(ctx, "example", &appsync.DataSourceArgs{
    			ApiId:          exampleGraphQLApi.ID(),
    			Name:           pulumi.String("my_appsync_example"),
    			ServiceRoleArn: exampleRole.Arn,
    			Type:           pulumi.String("AMAZON_DYNAMODB"),
    			DynamodbConfig: &appsync.DataSourceDynamodbConfigArgs{
    				TableName: exampleTable.Name,
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var exampleTable = new Aws.DynamoDB.Table("example", new()
        {
            Name = "example",
            ReadCapacity = 1,
            WriteCapacity = 1,
            HashKey = "UserId",
            Attributes = new[]
            {
                new Aws.DynamoDB.Inputs.TableAttributeArgs
                {
                    Name = "UserId",
                    Type = "S",
                },
            },
        });
    
        var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()
        {
            Statements = new[]
            {
                new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs
                {
                    Effect = "Allow",
                    Principals = new[]
                    {
                        new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs
                        {
                            Type = "Service",
                            Identifiers = new[]
                            {
                                "appsync.amazonaws.com",
                            },
                        },
                    },
                    Actions = new[]
                    {
                        "sts:AssumeRole",
                    },
                },
            },
        });
    
        var exampleRole = new Aws.Iam.Role("example", new()
        {
            Name = "example",
            AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult => getPolicyDocumentResult.Json),
        });
    
        var example = Aws.Iam.GetPolicyDocument.Invoke(new()
        {
            Statements = new[]
            {
                new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs
                {
                    Effect = "Allow",
                    Actions = new[]
                    {
                        "dynamodb:*",
                    },
                    Resources = new[]
                    {
                        exampleTable.Arn,
                    },
                },
            },
        });
    
        var exampleRolePolicy = new Aws.Iam.RolePolicy("example", new()
        {
            Name = "example",
            Role = exampleRole.Id,
            Policy = example.Apply(getPolicyDocumentResult => getPolicyDocumentResult.Json),
        });
    
        var exampleGraphQLApi = new Aws.AppSync.GraphQLApi("example", new()
        {
            AuthenticationType = "API_KEY",
            Name = "my_appsync_example",
        });
    
        var exampleDataSource = new Aws.AppSync.DataSource("example", new()
        {
            ApiId = exampleGraphQLApi.Id,
            Name = "my_appsync_example",
            ServiceRoleArn = exampleRole.Arn,
            Type = "AMAZON_DYNAMODB",
            DynamodbConfig = new Aws.AppSync.Inputs.DataSourceDynamodbConfigArgs
            {
                TableName = exampleTable.Name,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.dynamodb.Table;
    import com.pulumi.aws.dynamodb.TableArgs;
    import com.pulumi.aws.dynamodb.inputs.TableAttributeArgs;
    import com.pulumi.aws.iam.IamFunctions;
    import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
    import com.pulumi.aws.iam.Role;
    import com.pulumi.aws.iam.RoleArgs;
    import com.pulumi.aws.iam.RolePolicy;
    import com.pulumi.aws.iam.RolePolicyArgs;
    import com.pulumi.aws.appsync.GraphQLApi;
    import com.pulumi.aws.appsync.GraphQLApiArgs;
    import com.pulumi.aws.appsync.DataSource;
    import com.pulumi.aws.appsync.DataSourceArgs;
    import com.pulumi.aws.appsync.inputs.DataSourceDynamodbConfigArgs;
    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 exampleTable = new Table("exampleTable", TableArgs.builder()
                .name("example")
                .readCapacity(1)
                .writeCapacity(1)
                .hashKey("UserId")
                .attributes(TableAttributeArgs.builder()
                    .name("UserId")
                    .type("S")
                    .build())
                .build());
    
            final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
                .statements(GetPolicyDocumentStatementArgs.builder()
                    .effect("Allow")
                    .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
                        .type("Service")
                        .identifiers("appsync.amazonaws.com")
                        .build())
                    .actions("sts:AssumeRole")
                    .build())
                .build());
    
            var exampleRole = new Role("exampleRole", RoleArgs.builder()
                .name("example")
                .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))
                .build());
    
            final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
                .statements(GetPolicyDocumentStatementArgs.builder()
                    .effect("Allow")
                    .actions("dynamodb:*")
                    .resources(exampleTable.arn())
                    .build())
                .build());
    
            var exampleRolePolicy = new RolePolicy("exampleRolePolicy", RolePolicyArgs.builder()
                .name("example")
                .role(exampleRole.id())
                .policy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(example -> example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())))
                .build());
    
            var exampleGraphQLApi = new GraphQLApi("exampleGraphQLApi", GraphQLApiArgs.builder()
                .authenticationType("API_KEY")
                .name("my_appsync_example")
                .build());
    
            var exampleDataSource = new DataSource("exampleDataSource", DataSourceArgs.builder()
                .apiId(exampleGraphQLApi.id())
                .name("my_appsync_example")
                .serviceRoleArn(exampleRole.arn())
                .type("AMAZON_DYNAMODB")
                .dynamodbConfig(DataSourceDynamodbConfigArgs.builder()
                    .tableName(exampleTable.name())
                    .build())
                .build());
    
        }
    }
    
    resources:
      exampleTable:
        type: aws:dynamodb:Table
        name: example
        properties:
          name: example
          readCapacity: 1
          writeCapacity: 1
          hashKey: UserId
          attributes:
            - name: UserId
              type: S
      exampleRole:
        type: aws:iam:Role
        name: example
        properties:
          name: example
          assumeRolePolicy: ${assumeRole.json}
      exampleRolePolicy:
        type: aws:iam:RolePolicy
        name: example
        properties:
          name: example
          role: ${exampleRole.id}
          policy: ${example.json}
      exampleGraphQLApi:
        type: aws:appsync:GraphQLApi
        name: example
        properties:
          authenticationType: API_KEY
          name: my_appsync_example
      exampleDataSource:
        type: aws:appsync:DataSource
        name: example
        properties:
          apiId: ${exampleGraphQLApi.id}
          name: my_appsync_example
          serviceRoleArn: ${exampleRole.arn}
          type: AMAZON_DYNAMODB
          dynamodbConfig:
            tableName: ${exampleTable.name}
    variables:
      assumeRole:
        fn::invoke:
          Function: aws:iam:getPolicyDocument
          Arguments:
            statements:
              - effect: Allow
                principals:
                  - type: Service
                    identifiers:
                      - appsync.amazonaws.com
                actions:
                  - sts:AssumeRole
      example:
        fn::invoke:
          Function: aws:iam:getPolicyDocument
          Arguments:
            statements:
              - effect: Allow
                actions:
                  - dynamodb:*
                resources:
                  - ${exampleTable.arn}
    

    Create DataSource Resource

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

    Constructor syntax

    new DataSource(name: string, args: DataSourceArgs, opts?: CustomResourceOptions);
    @overload
    def DataSource(resource_name: str,
                   args: DataSourceArgs,
                   opts: Optional[ResourceOptions] = None)
    
    @overload
    def DataSource(resource_name: str,
                   opts: Optional[ResourceOptions] = None,
                   api_id: Optional[str] = None,
                   type: Optional[str] = None,
                   description: Optional[str] = None,
                   dynamodb_config: Optional[DataSourceDynamodbConfigArgs] = None,
                   elasticsearch_config: Optional[DataSourceElasticsearchConfigArgs] = None,
                   event_bridge_config: Optional[DataSourceEventBridgeConfigArgs] = None,
                   http_config: Optional[DataSourceHttpConfigArgs] = None,
                   lambda_config: Optional[DataSourceLambdaConfigArgs] = None,
                   name: Optional[str] = None,
                   opensearchservice_config: Optional[DataSourceOpensearchserviceConfigArgs] = None,
                   relational_database_config: Optional[DataSourceRelationalDatabaseConfigArgs] = None,
                   service_role_arn: Optional[str] = None)
    func NewDataSource(ctx *Context, name string, args DataSourceArgs, opts ...ResourceOption) (*DataSource, error)
    public DataSource(string name, DataSourceArgs args, CustomResourceOptions? opts = null)
    public DataSource(String name, DataSourceArgs args)
    public DataSource(String name, DataSourceArgs args, CustomResourceOptions options)
    
    type: aws:appsync:DataSource
    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 DataSourceArgs
    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 DataSourceArgs
    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 DataSourceArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args DataSourceArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args DataSourceArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var dataSourceResource = new Aws.AppSync.DataSource("dataSourceResource", new()
    {
        ApiId = "string",
        Type = "string",
        Description = "string",
        DynamodbConfig = new Aws.AppSync.Inputs.DataSourceDynamodbConfigArgs
        {
            TableName = "string",
            DeltaSyncConfig = new Aws.AppSync.Inputs.DataSourceDynamodbConfigDeltaSyncConfigArgs
            {
                DeltaSyncTableName = "string",
                BaseTableTtl = 0,
                DeltaSyncTableTtl = 0,
            },
            Region = "string",
            UseCallerCredentials = false,
            Versioned = false,
        },
        ElasticsearchConfig = new Aws.AppSync.Inputs.DataSourceElasticsearchConfigArgs
        {
            Endpoint = "string",
            Region = "string",
        },
        EventBridgeConfig = new Aws.AppSync.Inputs.DataSourceEventBridgeConfigArgs
        {
            EventBusArn = "string",
        },
        HttpConfig = new Aws.AppSync.Inputs.DataSourceHttpConfigArgs
        {
            Endpoint = "string",
            AuthorizationConfig = new Aws.AppSync.Inputs.DataSourceHttpConfigAuthorizationConfigArgs
            {
                AuthorizationType = "string",
                AwsIamConfig = new Aws.AppSync.Inputs.DataSourceHttpConfigAuthorizationConfigAwsIamConfigArgs
                {
                    SigningRegion = "string",
                    SigningServiceName = "string",
                },
            },
        },
        LambdaConfig = new Aws.AppSync.Inputs.DataSourceLambdaConfigArgs
        {
            FunctionArn = "string",
        },
        Name = "string",
        OpensearchserviceConfig = new Aws.AppSync.Inputs.DataSourceOpensearchserviceConfigArgs
        {
            Endpoint = "string",
            Region = "string",
        },
        RelationalDatabaseConfig = new Aws.AppSync.Inputs.DataSourceRelationalDatabaseConfigArgs
        {
            HttpEndpointConfig = new Aws.AppSync.Inputs.DataSourceRelationalDatabaseConfigHttpEndpointConfigArgs
            {
                AwsSecretStoreArn = "string",
                DbClusterIdentifier = "string",
                DatabaseName = "string",
                Region = "string",
                Schema = "string",
            },
            SourceType = "string",
        },
        ServiceRoleArn = "string",
    });
    
    example, err := appsync.NewDataSource(ctx, "dataSourceResource", &appsync.DataSourceArgs{
    	ApiId:       pulumi.String("string"),
    	Type:        pulumi.String("string"),
    	Description: pulumi.String("string"),
    	DynamodbConfig: &appsync.DataSourceDynamodbConfigArgs{
    		TableName: pulumi.String("string"),
    		DeltaSyncConfig: &appsync.DataSourceDynamodbConfigDeltaSyncConfigArgs{
    			DeltaSyncTableName: pulumi.String("string"),
    			BaseTableTtl:       pulumi.Int(0),
    			DeltaSyncTableTtl:  pulumi.Int(0),
    		},
    		Region:               pulumi.String("string"),
    		UseCallerCredentials: pulumi.Bool(false),
    		Versioned:            pulumi.Bool(false),
    	},
    	ElasticsearchConfig: &appsync.DataSourceElasticsearchConfigArgs{
    		Endpoint: pulumi.String("string"),
    		Region:   pulumi.String("string"),
    	},
    	EventBridgeConfig: &appsync.DataSourceEventBridgeConfigArgs{
    		EventBusArn: pulumi.String("string"),
    	},
    	HttpConfig: &appsync.DataSourceHttpConfigArgs{
    		Endpoint: pulumi.String("string"),
    		AuthorizationConfig: &appsync.DataSourceHttpConfigAuthorizationConfigArgs{
    			AuthorizationType: pulumi.String("string"),
    			AwsIamConfig: &appsync.DataSourceHttpConfigAuthorizationConfigAwsIamConfigArgs{
    				SigningRegion:      pulumi.String("string"),
    				SigningServiceName: pulumi.String("string"),
    			},
    		},
    	},
    	LambdaConfig: &appsync.DataSourceLambdaConfigArgs{
    		FunctionArn: pulumi.String("string"),
    	},
    	Name: pulumi.String("string"),
    	OpensearchserviceConfig: &appsync.DataSourceOpensearchserviceConfigArgs{
    		Endpoint: pulumi.String("string"),
    		Region:   pulumi.String("string"),
    	},
    	RelationalDatabaseConfig: &appsync.DataSourceRelationalDatabaseConfigArgs{
    		HttpEndpointConfig: &appsync.DataSourceRelationalDatabaseConfigHttpEndpointConfigArgs{
    			AwsSecretStoreArn:   pulumi.String("string"),
    			DbClusterIdentifier: pulumi.String("string"),
    			DatabaseName:        pulumi.String("string"),
    			Region:              pulumi.String("string"),
    			Schema:              pulumi.String("string"),
    		},
    		SourceType: pulumi.String("string"),
    	},
    	ServiceRoleArn: pulumi.String("string"),
    })
    
    var dataSourceResource = new DataSource("dataSourceResource", DataSourceArgs.builder()
        .apiId("string")
        .type("string")
        .description("string")
        .dynamodbConfig(DataSourceDynamodbConfigArgs.builder()
            .tableName("string")
            .deltaSyncConfig(DataSourceDynamodbConfigDeltaSyncConfigArgs.builder()
                .deltaSyncTableName("string")
                .baseTableTtl(0)
                .deltaSyncTableTtl(0)
                .build())
            .region("string")
            .useCallerCredentials(false)
            .versioned(false)
            .build())
        .elasticsearchConfig(DataSourceElasticsearchConfigArgs.builder()
            .endpoint("string")
            .region("string")
            .build())
        .eventBridgeConfig(DataSourceEventBridgeConfigArgs.builder()
            .eventBusArn("string")
            .build())
        .httpConfig(DataSourceHttpConfigArgs.builder()
            .endpoint("string")
            .authorizationConfig(DataSourceHttpConfigAuthorizationConfigArgs.builder()
                .authorizationType("string")
                .awsIamConfig(DataSourceHttpConfigAuthorizationConfigAwsIamConfigArgs.builder()
                    .signingRegion("string")
                    .signingServiceName("string")
                    .build())
                .build())
            .build())
        .lambdaConfig(DataSourceLambdaConfigArgs.builder()
            .functionArn("string")
            .build())
        .name("string")
        .opensearchserviceConfig(DataSourceOpensearchserviceConfigArgs.builder()
            .endpoint("string")
            .region("string")
            .build())
        .relationalDatabaseConfig(DataSourceRelationalDatabaseConfigArgs.builder()
            .httpEndpointConfig(DataSourceRelationalDatabaseConfigHttpEndpointConfigArgs.builder()
                .awsSecretStoreArn("string")
                .dbClusterIdentifier("string")
                .databaseName("string")
                .region("string")
                .schema("string")
                .build())
            .sourceType("string")
            .build())
        .serviceRoleArn("string")
        .build());
    
    data_source_resource = aws.appsync.DataSource("dataSourceResource",
        api_id="string",
        type="string",
        description="string",
        dynamodb_config={
            "tableName": "string",
            "deltaSyncConfig": {
                "deltaSyncTableName": "string",
                "baseTableTtl": 0,
                "deltaSyncTableTtl": 0,
            },
            "region": "string",
            "useCallerCredentials": False,
            "versioned": False,
        },
        elasticsearch_config={
            "endpoint": "string",
            "region": "string",
        },
        event_bridge_config={
            "eventBusArn": "string",
        },
        http_config={
            "endpoint": "string",
            "authorizationConfig": {
                "authorizationType": "string",
                "awsIamConfig": {
                    "signingRegion": "string",
                    "signingServiceName": "string",
                },
            },
        },
        lambda_config={
            "functionArn": "string",
        },
        name="string",
        opensearchservice_config={
            "endpoint": "string",
            "region": "string",
        },
        relational_database_config={
            "httpEndpointConfig": {
                "awsSecretStoreArn": "string",
                "dbClusterIdentifier": "string",
                "databaseName": "string",
                "region": "string",
                "schema": "string",
            },
            "sourceType": "string",
        },
        service_role_arn="string")
    
    const dataSourceResource = new aws.appsync.DataSource("dataSourceResource", {
        apiId: "string",
        type: "string",
        description: "string",
        dynamodbConfig: {
            tableName: "string",
            deltaSyncConfig: {
                deltaSyncTableName: "string",
                baseTableTtl: 0,
                deltaSyncTableTtl: 0,
            },
            region: "string",
            useCallerCredentials: false,
            versioned: false,
        },
        elasticsearchConfig: {
            endpoint: "string",
            region: "string",
        },
        eventBridgeConfig: {
            eventBusArn: "string",
        },
        httpConfig: {
            endpoint: "string",
            authorizationConfig: {
                authorizationType: "string",
                awsIamConfig: {
                    signingRegion: "string",
                    signingServiceName: "string",
                },
            },
        },
        lambdaConfig: {
            functionArn: "string",
        },
        name: "string",
        opensearchserviceConfig: {
            endpoint: "string",
            region: "string",
        },
        relationalDatabaseConfig: {
            httpEndpointConfig: {
                awsSecretStoreArn: "string",
                dbClusterIdentifier: "string",
                databaseName: "string",
                region: "string",
                schema: "string",
            },
            sourceType: "string",
        },
        serviceRoleArn: "string",
    });
    
    type: aws:appsync:DataSource
    properties:
        apiId: string
        description: string
        dynamodbConfig:
            deltaSyncConfig:
                baseTableTtl: 0
                deltaSyncTableName: string
                deltaSyncTableTtl: 0
            region: string
            tableName: string
            useCallerCredentials: false
            versioned: false
        elasticsearchConfig:
            endpoint: string
            region: string
        eventBridgeConfig:
            eventBusArn: string
        httpConfig:
            authorizationConfig:
                authorizationType: string
                awsIamConfig:
                    signingRegion: string
                    signingServiceName: string
            endpoint: string
        lambdaConfig:
            functionArn: string
        name: string
        opensearchserviceConfig:
            endpoint: string
            region: string
        relationalDatabaseConfig:
            httpEndpointConfig:
                awsSecretStoreArn: string
                databaseName: string
                dbClusterIdentifier: string
                region: string
                schema: string
            sourceType: string
        serviceRoleArn: string
        type: string
    

    DataSource 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 DataSource resource accepts the following input properties:

    ApiId string
    API ID for the GraphQL API for the data source.
    Type string
    Type of the Data Source. Valid values: AWS_LAMBDA, AMAZON_DYNAMODB, AMAZON_ELASTICSEARCH, HTTP, NONE, RELATIONAL_DATABASE, AMAZON_EVENTBRIDGE, AMAZON_OPENSEARCH_SERVICE.
    Description string
    Description of the data source.
    DynamodbConfig DataSourceDynamodbConfig
    DynamoDB settings. See dynamodb_config Block for details.
    ElasticsearchConfig DataSourceElasticsearchConfig
    Amazon Elasticsearch settings. See elasticsearch_config Block for details.
    EventBridgeConfig DataSourceEventBridgeConfig
    AWS EventBridge settings. See event_bridge_config Block for details.
    HttpConfig DataSourceHttpConfig
    HTTP settings. See http_config Block for details.
    LambdaConfig DataSourceLambdaConfig
    AWS Lambda settings. See lambda_config Block for details.
    Name string
    User-supplied name for the data source.
    OpensearchserviceConfig DataSourceOpensearchserviceConfig
    Amazon OpenSearch Service settings. See opensearchservice_config Block for details.
    RelationalDatabaseConfig DataSourceRelationalDatabaseConfig
    AWS RDS settings. See relational_database_config Block for details.
    ServiceRoleArn string
    IAM service role ARN for the data source. Required if type is specified as AWS_LAMBDA, AMAZON_DYNAMODB, AMAZON_ELASTICSEARCH, AMAZON_EVENTBRIDGE, or AMAZON_OPENSEARCH_SERVICE.
    ApiId string
    API ID for the GraphQL API for the data source.
    Type string
    Type of the Data Source. Valid values: AWS_LAMBDA, AMAZON_DYNAMODB, AMAZON_ELASTICSEARCH, HTTP, NONE, RELATIONAL_DATABASE, AMAZON_EVENTBRIDGE, AMAZON_OPENSEARCH_SERVICE.
    Description string
    Description of the data source.
    DynamodbConfig DataSourceDynamodbConfigArgs
    DynamoDB settings. See dynamodb_config Block for details.
    ElasticsearchConfig DataSourceElasticsearchConfigArgs
    Amazon Elasticsearch settings. See elasticsearch_config Block for details.
    EventBridgeConfig DataSourceEventBridgeConfigArgs
    AWS EventBridge settings. See event_bridge_config Block for details.
    HttpConfig DataSourceHttpConfigArgs
    HTTP settings. See http_config Block for details.
    LambdaConfig DataSourceLambdaConfigArgs
    AWS Lambda settings. See lambda_config Block for details.
    Name string
    User-supplied name for the data source.
    OpensearchserviceConfig DataSourceOpensearchserviceConfigArgs
    Amazon OpenSearch Service settings. See opensearchservice_config Block for details.
    RelationalDatabaseConfig DataSourceRelationalDatabaseConfigArgs
    AWS RDS settings. See relational_database_config Block for details.
    ServiceRoleArn string
    IAM service role ARN for the data source. Required if type is specified as AWS_LAMBDA, AMAZON_DYNAMODB, AMAZON_ELASTICSEARCH, AMAZON_EVENTBRIDGE, or AMAZON_OPENSEARCH_SERVICE.
    apiId String
    API ID for the GraphQL API for the data source.
    type String
    Type of the Data Source. Valid values: AWS_LAMBDA, AMAZON_DYNAMODB, AMAZON_ELASTICSEARCH, HTTP, NONE, RELATIONAL_DATABASE, AMAZON_EVENTBRIDGE, AMAZON_OPENSEARCH_SERVICE.
    description String
    Description of the data source.
    dynamodbConfig DataSourceDynamodbConfig
    DynamoDB settings. See dynamodb_config Block for details.
    elasticsearchConfig DataSourceElasticsearchConfig
    Amazon Elasticsearch settings. See elasticsearch_config Block for details.
    eventBridgeConfig DataSourceEventBridgeConfig
    AWS EventBridge settings. See event_bridge_config Block for details.
    httpConfig DataSourceHttpConfig
    HTTP settings. See http_config Block for details.
    lambdaConfig DataSourceLambdaConfig
    AWS Lambda settings. See lambda_config Block for details.
    name String
    User-supplied name for the data source.
    opensearchserviceConfig DataSourceOpensearchserviceConfig
    Amazon OpenSearch Service settings. See opensearchservice_config Block for details.
    relationalDatabaseConfig DataSourceRelationalDatabaseConfig
    AWS RDS settings. See relational_database_config Block for details.
    serviceRoleArn String
    IAM service role ARN for the data source. Required if type is specified as AWS_LAMBDA, AMAZON_DYNAMODB, AMAZON_ELASTICSEARCH, AMAZON_EVENTBRIDGE, or AMAZON_OPENSEARCH_SERVICE.
    apiId string
    API ID for the GraphQL API for the data source.
    type string
    Type of the Data Source. Valid values: AWS_LAMBDA, AMAZON_DYNAMODB, AMAZON_ELASTICSEARCH, HTTP, NONE, RELATIONAL_DATABASE, AMAZON_EVENTBRIDGE, AMAZON_OPENSEARCH_SERVICE.
    description string
    Description of the data source.
    dynamodbConfig DataSourceDynamodbConfig
    DynamoDB settings. See dynamodb_config Block for details.
    elasticsearchConfig DataSourceElasticsearchConfig
    Amazon Elasticsearch settings. See elasticsearch_config Block for details.
    eventBridgeConfig DataSourceEventBridgeConfig
    AWS EventBridge settings. See event_bridge_config Block for details.
    httpConfig DataSourceHttpConfig
    HTTP settings. See http_config Block for details.
    lambdaConfig DataSourceLambdaConfig
    AWS Lambda settings. See lambda_config Block for details.
    name string
    User-supplied name for the data source.
    opensearchserviceConfig DataSourceOpensearchserviceConfig
    Amazon OpenSearch Service settings. See opensearchservice_config Block for details.
    relationalDatabaseConfig DataSourceRelationalDatabaseConfig
    AWS RDS settings. See relational_database_config Block for details.
    serviceRoleArn string
    IAM service role ARN for the data source. Required if type is specified as AWS_LAMBDA, AMAZON_DYNAMODB, AMAZON_ELASTICSEARCH, AMAZON_EVENTBRIDGE, or AMAZON_OPENSEARCH_SERVICE.
    api_id str
    API ID for the GraphQL API for the data source.
    type str
    Type of the Data Source. Valid values: AWS_LAMBDA, AMAZON_DYNAMODB, AMAZON_ELASTICSEARCH, HTTP, NONE, RELATIONAL_DATABASE, AMAZON_EVENTBRIDGE, AMAZON_OPENSEARCH_SERVICE.
    description str
    Description of the data source.
    dynamodb_config DataSourceDynamodbConfigArgs
    DynamoDB settings. See dynamodb_config Block for details.
    elasticsearch_config DataSourceElasticsearchConfigArgs
    Amazon Elasticsearch settings. See elasticsearch_config Block for details.
    event_bridge_config DataSourceEventBridgeConfigArgs
    AWS EventBridge settings. See event_bridge_config Block for details.
    http_config DataSourceHttpConfigArgs
    HTTP settings. See http_config Block for details.
    lambda_config DataSourceLambdaConfigArgs
    AWS Lambda settings. See lambda_config Block for details.
    name str
    User-supplied name for the data source.
    opensearchservice_config DataSourceOpensearchserviceConfigArgs
    Amazon OpenSearch Service settings. See opensearchservice_config Block for details.
    relational_database_config DataSourceRelationalDatabaseConfigArgs
    AWS RDS settings. See relational_database_config Block for details.
    service_role_arn str
    IAM service role ARN for the data source. Required if type is specified as AWS_LAMBDA, AMAZON_DYNAMODB, AMAZON_ELASTICSEARCH, AMAZON_EVENTBRIDGE, or AMAZON_OPENSEARCH_SERVICE.
    apiId String
    API ID for the GraphQL API for the data source.
    type String
    Type of the Data Source. Valid values: AWS_LAMBDA, AMAZON_DYNAMODB, AMAZON_ELASTICSEARCH, HTTP, NONE, RELATIONAL_DATABASE, AMAZON_EVENTBRIDGE, AMAZON_OPENSEARCH_SERVICE.
    description String
    Description of the data source.
    dynamodbConfig Property Map
    DynamoDB settings. See dynamodb_config Block for details.
    elasticsearchConfig Property Map
    Amazon Elasticsearch settings. See elasticsearch_config Block for details.
    eventBridgeConfig Property Map
    AWS EventBridge settings. See event_bridge_config Block for details.
    httpConfig Property Map
    HTTP settings. See http_config Block for details.
    lambdaConfig Property Map
    AWS Lambda settings. See lambda_config Block for details.
    name String
    User-supplied name for the data source.
    opensearchserviceConfig Property Map
    Amazon OpenSearch Service settings. See opensearchservice_config Block for details.
    relationalDatabaseConfig Property Map
    AWS RDS settings. See relational_database_config Block for details.
    serviceRoleArn String
    IAM service role ARN for the data source. Required if type is specified as AWS_LAMBDA, AMAZON_DYNAMODB, AMAZON_ELASTICSEARCH, AMAZON_EVENTBRIDGE, or AMAZON_OPENSEARCH_SERVICE.

    Outputs

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

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

    Look up Existing DataSource Resource

    Get an existing DataSource 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?: DataSourceState, opts?: CustomResourceOptions): DataSource
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            api_id: Optional[str] = None,
            arn: Optional[str] = None,
            description: Optional[str] = None,
            dynamodb_config: Optional[DataSourceDynamodbConfigArgs] = None,
            elasticsearch_config: Optional[DataSourceElasticsearchConfigArgs] = None,
            event_bridge_config: Optional[DataSourceEventBridgeConfigArgs] = None,
            http_config: Optional[DataSourceHttpConfigArgs] = None,
            lambda_config: Optional[DataSourceLambdaConfigArgs] = None,
            name: Optional[str] = None,
            opensearchservice_config: Optional[DataSourceOpensearchserviceConfigArgs] = None,
            relational_database_config: Optional[DataSourceRelationalDatabaseConfigArgs] = None,
            service_role_arn: Optional[str] = None,
            type: Optional[str] = None) -> DataSource
    func GetDataSource(ctx *Context, name string, id IDInput, state *DataSourceState, opts ...ResourceOption) (*DataSource, error)
    public static DataSource Get(string name, Input<string> id, DataSourceState? state, CustomResourceOptions? opts = null)
    public static DataSource get(String name, Output<String> id, DataSourceState 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.
    The following state arguments are supported:
    ApiId string
    API ID for the GraphQL API for the data source.
    Arn string
    ARN
    Description string
    Description of the data source.
    DynamodbConfig DataSourceDynamodbConfig
    DynamoDB settings. See dynamodb_config Block for details.
    ElasticsearchConfig DataSourceElasticsearchConfig
    Amazon Elasticsearch settings. See elasticsearch_config Block for details.
    EventBridgeConfig DataSourceEventBridgeConfig
    AWS EventBridge settings. See event_bridge_config Block for details.
    HttpConfig DataSourceHttpConfig
    HTTP settings. See http_config Block for details.
    LambdaConfig DataSourceLambdaConfig
    AWS Lambda settings. See lambda_config Block for details.
    Name string
    User-supplied name for the data source.
    OpensearchserviceConfig DataSourceOpensearchserviceConfig
    Amazon OpenSearch Service settings. See opensearchservice_config Block for details.
    RelationalDatabaseConfig DataSourceRelationalDatabaseConfig
    AWS RDS settings. See relational_database_config Block for details.
    ServiceRoleArn string
    IAM service role ARN for the data source. Required if type is specified as AWS_LAMBDA, AMAZON_DYNAMODB, AMAZON_ELASTICSEARCH, AMAZON_EVENTBRIDGE, or AMAZON_OPENSEARCH_SERVICE.
    Type string
    Type of the Data Source. Valid values: AWS_LAMBDA, AMAZON_DYNAMODB, AMAZON_ELASTICSEARCH, HTTP, NONE, RELATIONAL_DATABASE, AMAZON_EVENTBRIDGE, AMAZON_OPENSEARCH_SERVICE.
    ApiId string
    API ID for the GraphQL API for the data source.
    Arn string
    ARN
    Description string
    Description of the data source.
    DynamodbConfig DataSourceDynamodbConfigArgs
    DynamoDB settings. See dynamodb_config Block for details.
    ElasticsearchConfig DataSourceElasticsearchConfigArgs
    Amazon Elasticsearch settings. See elasticsearch_config Block for details.
    EventBridgeConfig DataSourceEventBridgeConfigArgs
    AWS EventBridge settings. See event_bridge_config Block for details.
    HttpConfig DataSourceHttpConfigArgs
    HTTP settings. See http_config Block for details.
    LambdaConfig DataSourceLambdaConfigArgs
    AWS Lambda settings. See lambda_config Block for details.
    Name string
    User-supplied name for the data source.
    OpensearchserviceConfig DataSourceOpensearchserviceConfigArgs
    Amazon OpenSearch Service settings. See opensearchservice_config Block for details.
    RelationalDatabaseConfig DataSourceRelationalDatabaseConfigArgs
    AWS RDS settings. See relational_database_config Block for details.
    ServiceRoleArn string
    IAM service role ARN for the data source. Required if type is specified as AWS_LAMBDA, AMAZON_DYNAMODB, AMAZON_ELASTICSEARCH, AMAZON_EVENTBRIDGE, or AMAZON_OPENSEARCH_SERVICE.
    Type string
    Type of the Data Source. Valid values: AWS_LAMBDA, AMAZON_DYNAMODB, AMAZON_ELASTICSEARCH, HTTP, NONE, RELATIONAL_DATABASE, AMAZON_EVENTBRIDGE, AMAZON_OPENSEARCH_SERVICE.
    apiId String
    API ID for the GraphQL API for the data source.
    arn String
    ARN
    description String
    Description of the data source.
    dynamodbConfig DataSourceDynamodbConfig
    DynamoDB settings. See dynamodb_config Block for details.
    elasticsearchConfig DataSourceElasticsearchConfig
    Amazon Elasticsearch settings. See elasticsearch_config Block for details.
    eventBridgeConfig DataSourceEventBridgeConfig
    AWS EventBridge settings. See event_bridge_config Block for details.
    httpConfig DataSourceHttpConfig
    HTTP settings. See http_config Block for details.
    lambdaConfig DataSourceLambdaConfig
    AWS Lambda settings. See lambda_config Block for details.
    name String
    User-supplied name for the data source.
    opensearchserviceConfig DataSourceOpensearchserviceConfig
    Amazon OpenSearch Service settings. See opensearchservice_config Block for details.
    relationalDatabaseConfig DataSourceRelationalDatabaseConfig
    AWS RDS settings. See relational_database_config Block for details.
    serviceRoleArn String
    IAM service role ARN for the data source. Required if type is specified as AWS_LAMBDA, AMAZON_DYNAMODB, AMAZON_ELASTICSEARCH, AMAZON_EVENTBRIDGE, or AMAZON_OPENSEARCH_SERVICE.
    type String
    Type of the Data Source. Valid values: AWS_LAMBDA, AMAZON_DYNAMODB, AMAZON_ELASTICSEARCH, HTTP, NONE, RELATIONAL_DATABASE, AMAZON_EVENTBRIDGE, AMAZON_OPENSEARCH_SERVICE.
    apiId string
    API ID for the GraphQL API for the data source.
    arn string
    ARN
    description string
    Description of the data source.
    dynamodbConfig DataSourceDynamodbConfig
    DynamoDB settings. See dynamodb_config Block for details.
    elasticsearchConfig DataSourceElasticsearchConfig
    Amazon Elasticsearch settings. See elasticsearch_config Block for details.
    eventBridgeConfig DataSourceEventBridgeConfig
    AWS EventBridge settings. See event_bridge_config Block for details.
    httpConfig DataSourceHttpConfig
    HTTP settings. See http_config Block for details.
    lambdaConfig DataSourceLambdaConfig
    AWS Lambda settings. See lambda_config Block for details.
    name string
    User-supplied name for the data source.
    opensearchserviceConfig DataSourceOpensearchserviceConfig
    Amazon OpenSearch Service settings. See opensearchservice_config Block for details.
    relationalDatabaseConfig DataSourceRelationalDatabaseConfig
    AWS RDS settings. See relational_database_config Block for details.
    serviceRoleArn string
    IAM service role ARN for the data source. Required if type is specified as AWS_LAMBDA, AMAZON_DYNAMODB, AMAZON_ELASTICSEARCH, AMAZON_EVENTBRIDGE, or AMAZON_OPENSEARCH_SERVICE.
    type string
    Type of the Data Source. Valid values: AWS_LAMBDA, AMAZON_DYNAMODB, AMAZON_ELASTICSEARCH, HTTP, NONE, RELATIONAL_DATABASE, AMAZON_EVENTBRIDGE, AMAZON_OPENSEARCH_SERVICE.
    api_id str
    API ID for the GraphQL API for the data source.
    arn str
    ARN
    description str
    Description of the data source.
    dynamodb_config DataSourceDynamodbConfigArgs
    DynamoDB settings. See dynamodb_config Block for details.
    elasticsearch_config DataSourceElasticsearchConfigArgs
    Amazon Elasticsearch settings. See elasticsearch_config Block for details.
    event_bridge_config DataSourceEventBridgeConfigArgs
    AWS EventBridge settings. See event_bridge_config Block for details.
    http_config DataSourceHttpConfigArgs
    HTTP settings. See http_config Block for details.
    lambda_config DataSourceLambdaConfigArgs
    AWS Lambda settings. See lambda_config Block for details.
    name str
    User-supplied name for the data source.
    opensearchservice_config DataSourceOpensearchserviceConfigArgs
    Amazon OpenSearch Service settings. See opensearchservice_config Block for details.
    relational_database_config DataSourceRelationalDatabaseConfigArgs
    AWS RDS settings. See relational_database_config Block for details.
    service_role_arn str
    IAM service role ARN for the data source. Required if type is specified as AWS_LAMBDA, AMAZON_DYNAMODB, AMAZON_ELASTICSEARCH, AMAZON_EVENTBRIDGE, or AMAZON_OPENSEARCH_SERVICE.
    type str
    Type of the Data Source. Valid values: AWS_LAMBDA, AMAZON_DYNAMODB, AMAZON_ELASTICSEARCH, HTTP, NONE, RELATIONAL_DATABASE, AMAZON_EVENTBRIDGE, AMAZON_OPENSEARCH_SERVICE.
    apiId String
    API ID for the GraphQL API for the data source.
    arn String
    ARN
    description String
    Description of the data source.
    dynamodbConfig Property Map
    DynamoDB settings. See dynamodb_config Block for details.
    elasticsearchConfig Property Map
    Amazon Elasticsearch settings. See elasticsearch_config Block for details.
    eventBridgeConfig Property Map
    AWS EventBridge settings. See event_bridge_config Block for details.
    httpConfig Property Map
    HTTP settings. See http_config Block for details.
    lambdaConfig Property Map
    AWS Lambda settings. See lambda_config Block for details.
    name String
    User-supplied name for the data source.
    opensearchserviceConfig Property Map
    Amazon OpenSearch Service settings. See opensearchservice_config Block for details.
    relationalDatabaseConfig Property Map
    AWS RDS settings. See relational_database_config Block for details.
    serviceRoleArn String
    IAM service role ARN for the data source. Required if type is specified as AWS_LAMBDA, AMAZON_DYNAMODB, AMAZON_ELASTICSEARCH, AMAZON_EVENTBRIDGE, or AMAZON_OPENSEARCH_SERVICE.
    type String
    Type of the Data Source. Valid values: AWS_LAMBDA, AMAZON_DYNAMODB, AMAZON_ELASTICSEARCH, HTTP, NONE, RELATIONAL_DATABASE, AMAZON_EVENTBRIDGE, AMAZON_OPENSEARCH_SERVICE.

    Supporting Types

    DataSourceDynamodbConfig, DataSourceDynamodbConfigArgs

    TableName string
    Name of the DynamoDB table.
    DeltaSyncConfig DataSourceDynamodbConfigDeltaSyncConfig
    The DeltaSyncConfig for a versioned data source. See delta_sync_config Block for details.
    Region string
    AWS region of the DynamoDB table. Defaults to current region.
    UseCallerCredentials bool
    Set to true to use Amazon Cognito credentials with this data source.
    Versioned bool
    Detects Conflict Detection and Resolution with this data source.
    TableName string
    Name of the DynamoDB table.
    DeltaSyncConfig DataSourceDynamodbConfigDeltaSyncConfig
    The DeltaSyncConfig for a versioned data source. See delta_sync_config Block for details.
    Region string
    AWS region of the DynamoDB table. Defaults to current region.
    UseCallerCredentials bool
    Set to true to use Amazon Cognito credentials with this data source.
    Versioned bool
    Detects Conflict Detection and Resolution with this data source.
    tableName String
    Name of the DynamoDB table.
    deltaSyncConfig DataSourceDynamodbConfigDeltaSyncConfig
    The DeltaSyncConfig for a versioned data source. See delta_sync_config Block for details.
    region String
    AWS region of the DynamoDB table. Defaults to current region.
    useCallerCredentials Boolean
    Set to true to use Amazon Cognito credentials with this data source.
    versioned Boolean
    Detects Conflict Detection and Resolution with this data source.
    tableName string
    Name of the DynamoDB table.
    deltaSyncConfig DataSourceDynamodbConfigDeltaSyncConfig
    The DeltaSyncConfig for a versioned data source. See delta_sync_config Block for details.
    region string
    AWS region of the DynamoDB table. Defaults to current region.
    useCallerCredentials boolean
    Set to true to use Amazon Cognito credentials with this data source.
    versioned boolean
    Detects Conflict Detection and Resolution with this data source.
    table_name str
    Name of the DynamoDB table.
    delta_sync_config DataSourceDynamodbConfigDeltaSyncConfig
    The DeltaSyncConfig for a versioned data source. See delta_sync_config Block for details.
    region str
    AWS region of the DynamoDB table. Defaults to current region.
    use_caller_credentials bool
    Set to true to use Amazon Cognito credentials with this data source.
    versioned bool
    Detects Conflict Detection and Resolution with this data source.
    tableName String
    Name of the DynamoDB table.
    deltaSyncConfig Property Map
    The DeltaSyncConfig for a versioned data source. See delta_sync_config Block for details.
    region String
    AWS region of the DynamoDB table. Defaults to current region.
    useCallerCredentials Boolean
    Set to true to use Amazon Cognito credentials with this data source.
    versioned Boolean
    Detects Conflict Detection and Resolution with this data source.

    DataSourceDynamodbConfigDeltaSyncConfig, DataSourceDynamodbConfigDeltaSyncConfigArgs

    DeltaSyncTableName string
    The table name.
    BaseTableTtl int
    The number of minutes that an Item is stored in the data source.
    DeltaSyncTableTtl int
    The number of minutes that a Delta Sync log entry is stored in the Delta Sync table.
    DeltaSyncTableName string
    The table name.
    BaseTableTtl int
    The number of minutes that an Item is stored in the data source.
    DeltaSyncTableTtl int
    The number of minutes that a Delta Sync log entry is stored in the Delta Sync table.
    deltaSyncTableName String
    The table name.
    baseTableTtl Integer
    The number of minutes that an Item is stored in the data source.
    deltaSyncTableTtl Integer
    The number of minutes that a Delta Sync log entry is stored in the Delta Sync table.
    deltaSyncTableName string
    The table name.
    baseTableTtl number
    The number of minutes that an Item is stored in the data source.
    deltaSyncTableTtl number
    The number of minutes that a Delta Sync log entry is stored in the Delta Sync table.
    delta_sync_table_name str
    The table name.
    base_table_ttl int
    The number of minutes that an Item is stored in the data source.
    delta_sync_table_ttl int
    The number of minutes that a Delta Sync log entry is stored in the Delta Sync table.
    deltaSyncTableName String
    The table name.
    baseTableTtl Number
    The number of minutes that an Item is stored in the data source.
    deltaSyncTableTtl Number
    The number of minutes that a Delta Sync log entry is stored in the Delta Sync table.

    DataSourceElasticsearchConfig, DataSourceElasticsearchConfigArgs

    Endpoint string
    HTTP endpoint of the Elasticsearch domain.
    Region string
    AWS region of Elasticsearch domain. Defaults to current region.
    Endpoint string
    HTTP endpoint of the Elasticsearch domain.
    Region string
    AWS region of Elasticsearch domain. Defaults to current region.
    endpoint String
    HTTP endpoint of the Elasticsearch domain.
    region String
    AWS region of Elasticsearch domain. Defaults to current region.
    endpoint string
    HTTP endpoint of the Elasticsearch domain.
    region string
    AWS region of Elasticsearch domain. Defaults to current region.
    endpoint str
    HTTP endpoint of the Elasticsearch domain.
    region str
    AWS region of Elasticsearch domain. Defaults to current region.
    endpoint String
    HTTP endpoint of the Elasticsearch domain.
    region String
    AWS region of Elasticsearch domain. Defaults to current region.

    DataSourceEventBridgeConfig, DataSourceEventBridgeConfigArgs

    EventBusArn string
    ARN for the EventBridge bus.
    EventBusArn string
    ARN for the EventBridge bus.
    eventBusArn String
    ARN for the EventBridge bus.
    eventBusArn string
    ARN for the EventBridge bus.
    event_bus_arn str
    ARN for the EventBridge bus.
    eventBusArn String
    ARN for the EventBridge bus.

    DataSourceHttpConfig, DataSourceHttpConfigArgs

    Endpoint string
    HTTP URL.
    AuthorizationConfig DataSourceHttpConfigAuthorizationConfig
    Authorization configuration in case the HTTP endpoint requires authorization. See authorization_config Block for details.
    Endpoint string
    HTTP URL.
    AuthorizationConfig DataSourceHttpConfigAuthorizationConfig
    Authorization configuration in case the HTTP endpoint requires authorization. See authorization_config Block for details.
    endpoint String
    HTTP URL.
    authorizationConfig DataSourceHttpConfigAuthorizationConfig
    Authorization configuration in case the HTTP endpoint requires authorization. See authorization_config Block for details.
    endpoint string
    HTTP URL.
    authorizationConfig DataSourceHttpConfigAuthorizationConfig
    Authorization configuration in case the HTTP endpoint requires authorization. See authorization_config Block for details.
    endpoint str
    HTTP URL.
    authorization_config DataSourceHttpConfigAuthorizationConfig
    Authorization configuration in case the HTTP endpoint requires authorization. See authorization_config Block for details.
    endpoint String
    HTTP URL.
    authorizationConfig Property Map
    Authorization configuration in case the HTTP endpoint requires authorization. See authorization_config Block for details.

    DataSourceHttpConfigAuthorizationConfig, DataSourceHttpConfigAuthorizationConfigArgs

    AuthorizationType string
    Authorization type that the HTTP endpoint requires. Default values is AWS_IAM.
    AwsIamConfig DataSourceHttpConfigAuthorizationConfigAwsIamConfig
    Identity and Access Management (IAM) settings. See aws_iam_config Block for details.
    AuthorizationType string
    Authorization type that the HTTP endpoint requires. Default values is AWS_IAM.
    AwsIamConfig DataSourceHttpConfigAuthorizationConfigAwsIamConfig
    Identity and Access Management (IAM) settings. See aws_iam_config Block for details.
    authorizationType String
    Authorization type that the HTTP endpoint requires. Default values is AWS_IAM.
    awsIamConfig DataSourceHttpConfigAuthorizationConfigAwsIamConfig
    Identity and Access Management (IAM) settings. See aws_iam_config Block for details.
    authorizationType string
    Authorization type that the HTTP endpoint requires. Default values is AWS_IAM.
    awsIamConfig DataSourceHttpConfigAuthorizationConfigAwsIamConfig
    Identity and Access Management (IAM) settings. See aws_iam_config Block for details.
    authorization_type str
    Authorization type that the HTTP endpoint requires. Default values is AWS_IAM.
    aws_iam_config DataSourceHttpConfigAuthorizationConfigAwsIamConfig
    Identity and Access Management (IAM) settings. See aws_iam_config Block for details.
    authorizationType String
    Authorization type that the HTTP endpoint requires. Default values is AWS_IAM.
    awsIamConfig Property Map
    Identity and Access Management (IAM) settings. See aws_iam_config Block for details.

    DataSourceHttpConfigAuthorizationConfigAwsIamConfig, DataSourceHttpConfigAuthorizationConfigAwsIamConfigArgs

    SigningRegion string
    Signing Amazon Web Services Region for IAM authorization.
    SigningServiceName string
    Signing service name for IAM authorization.
    SigningRegion string
    Signing Amazon Web Services Region for IAM authorization.
    SigningServiceName string
    Signing service name for IAM authorization.
    signingRegion String
    Signing Amazon Web Services Region for IAM authorization.
    signingServiceName String
    Signing service name for IAM authorization.
    signingRegion string
    Signing Amazon Web Services Region for IAM authorization.
    signingServiceName string
    Signing service name for IAM authorization.
    signing_region str
    Signing Amazon Web Services Region for IAM authorization.
    signing_service_name str
    Signing service name for IAM authorization.
    signingRegion String
    Signing Amazon Web Services Region for IAM authorization.
    signingServiceName String
    Signing service name for IAM authorization.

    DataSourceLambdaConfig, DataSourceLambdaConfigArgs

    FunctionArn string
    ARN for the Lambda function.
    FunctionArn string
    ARN for the Lambda function.
    functionArn String
    ARN for the Lambda function.
    functionArn string
    ARN for the Lambda function.
    function_arn str
    ARN for the Lambda function.
    functionArn String
    ARN for the Lambda function.

    DataSourceOpensearchserviceConfig, DataSourceOpensearchserviceConfigArgs

    Endpoint string
    HTTP endpoint of the OpenSearch domain.
    Region string
    AWS region of the OpenSearch domain. Defaults to current region.
    Endpoint string
    HTTP endpoint of the OpenSearch domain.
    Region string
    AWS region of the OpenSearch domain. Defaults to current region.
    endpoint String
    HTTP endpoint of the OpenSearch domain.
    region String
    AWS region of the OpenSearch domain. Defaults to current region.
    endpoint string
    HTTP endpoint of the OpenSearch domain.
    region string
    AWS region of the OpenSearch domain. Defaults to current region.
    endpoint str
    HTTP endpoint of the OpenSearch domain.
    region str
    AWS region of the OpenSearch domain. Defaults to current region.
    endpoint String
    HTTP endpoint of the OpenSearch domain.
    region String
    AWS region of the OpenSearch domain. Defaults to current region.

    DataSourceRelationalDatabaseConfig, DataSourceRelationalDatabaseConfigArgs

    HttpEndpointConfig DataSourceRelationalDatabaseConfigHttpEndpointConfig
    Amazon RDS HTTP endpoint configuration. See http_endpoint_config Block for details.
    SourceType string
    Source type for the relational database. Valid values: RDS_HTTP_ENDPOINT.
    HttpEndpointConfig DataSourceRelationalDatabaseConfigHttpEndpointConfig
    Amazon RDS HTTP endpoint configuration. See http_endpoint_config Block for details.
    SourceType string
    Source type for the relational database. Valid values: RDS_HTTP_ENDPOINT.
    httpEndpointConfig DataSourceRelationalDatabaseConfigHttpEndpointConfig
    Amazon RDS HTTP endpoint configuration. See http_endpoint_config Block for details.
    sourceType String
    Source type for the relational database. Valid values: RDS_HTTP_ENDPOINT.
    httpEndpointConfig DataSourceRelationalDatabaseConfigHttpEndpointConfig
    Amazon RDS HTTP endpoint configuration. See http_endpoint_config Block for details.
    sourceType string
    Source type for the relational database. Valid values: RDS_HTTP_ENDPOINT.
    http_endpoint_config DataSourceRelationalDatabaseConfigHttpEndpointConfig
    Amazon RDS HTTP endpoint configuration. See http_endpoint_config Block for details.
    source_type str
    Source type for the relational database. Valid values: RDS_HTTP_ENDPOINT.
    httpEndpointConfig Property Map
    Amazon RDS HTTP endpoint configuration. See http_endpoint_config Block for details.
    sourceType String
    Source type for the relational database. Valid values: RDS_HTTP_ENDPOINT.

    DataSourceRelationalDatabaseConfigHttpEndpointConfig, DataSourceRelationalDatabaseConfigHttpEndpointConfigArgs

    AwsSecretStoreArn string
    AWS secret store ARN for database credentials.
    DbClusterIdentifier string
    Amazon RDS cluster identifier.
    DatabaseName string
    Logical database name.
    Region string
    AWS Region for RDS HTTP endpoint. Defaults to current region.
    Schema string
    Logical schema name.
    AwsSecretStoreArn string
    AWS secret store ARN for database credentials.
    DbClusterIdentifier string
    Amazon RDS cluster identifier.
    DatabaseName string
    Logical database name.
    Region string
    AWS Region for RDS HTTP endpoint. Defaults to current region.
    Schema string
    Logical schema name.
    awsSecretStoreArn String
    AWS secret store ARN for database credentials.
    dbClusterIdentifier String
    Amazon RDS cluster identifier.
    databaseName String
    Logical database name.
    region String
    AWS Region for RDS HTTP endpoint. Defaults to current region.
    schema String
    Logical schema name.
    awsSecretStoreArn string
    AWS secret store ARN for database credentials.
    dbClusterIdentifier string
    Amazon RDS cluster identifier.
    databaseName string
    Logical database name.
    region string
    AWS Region for RDS HTTP endpoint. Defaults to current region.
    schema string
    Logical schema name.
    aws_secret_store_arn str
    AWS secret store ARN for database credentials.
    db_cluster_identifier str
    Amazon RDS cluster identifier.
    database_name str
    Logical database name.
    region str
    AWS Region for RDS HTTP endpoint. Defaults to current region.
    schema str
    Logical schema name.
    awsSecretStoreArn String
    AWS secret store ARN for database credentials.
    dbClusterIdentifier String
    Amazon RDS cluster identifier.
    databaseName String
    Logical database name.
    region String
    AWS Region for RDS HTTP endpoint. Defaults to current region.
    schema String
    Logical schema name.

    Import

    Using pulumi import, import aws_appsync_datasource using the api_id, a hyphen, and name. For example:

    $ pulumi import aws:appsync/dataSource:DataSource example abcdef123456-example
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    AWS Classic pulumi/pulumi-aws
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the aws Terraform Provider.
    aws logo

    Try AWS Native preview for resources not in the classic version.

    AWS Classic v6.45.0 published on Tuesday, Jul 16, 2024 by Pulumi