Package com.pulumi.aws.appsync
Class DataSource
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.aws.appsync.DataSource
-
public class DataSource extends com.pulumi.resources.CustomResourceProvides an AppSync Data Source. ## Example Usage
## Import Using `pulumi import`, import `aws.appsync.DataSource` using the `apiId`, a hyphen, and `name`. For example: ```sh $ pulumi import aws:appsync/dataSource:DataSource example abcdef123456-example ```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.inputs.GetPolicyDocumentStatementArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementPrincipalArgs; 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.ArrayList; import java.util.Arrays; 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() .attributes(TableAttributeArgs.builder() .name("UserId") .type("S") .build()) .name("example") .readCapacity(1) .writeCapacity(1) .hashKey("UserId") .build()); final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .principals(GetPolicyDocumentStatementPrincipalArgs.builder() .type("Service") .identifiers("appsync.amazonaws.com") .build()) .effect("Allow") .actions("sts:AssumeRole") .build()) .build()); var exampleRole = new Role("exampleRole", RoleArgs.builder() .name("example") .assumeRolePolicy(assumeRole.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(_example -> _example.json())) .build()); var exampleGraphQLApi = new GraphQLApi("exampleGraphQLApi", GraphQLApiArgs.builder() .authenticationType("API_KEY") .name("my_appsync_example") .build()); var exampleDataSource = new DataSource("exampleDataSource", DataSourceArgs.builder() .dynamodbConfig(DataSourceDynamodbConfigArgs.builder() .tableName(exampleTable.name()) .build()) .apiId(exampleGraphQLApi.id()) .name("my_appsync_example") .serviceRoleArn(exampleRole.arn()) .type("AMAZON_DYNAMODB") .build()); } }
-
-
Constructor Summary
Constructors Constructor Description DataSource(java.lang.String name)DataSource(java.lang.String name, DataSourceArgs args)DataSource(java.lang.String name, DataSourceArgs args, com.pulumi.resources.CustomResourceOptions options)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.pulumi.core.Output<java.lang.String>apiId()com.pulumi.core.Output<java.lang.String>arn()com.pulumi.core.Output<java.util.Optional<java.lang.String>>description()com.pulumi.core.Output<java.util.Optional<DataSourceDynamodbConfig>>dynamodbConfig()com.pulumi.core.Output<java.util.Optional<DataSourceElasticsearchConfig>>elasticsearchConfig()com.pulumi.core.Output<java.util.Optional<DataSourceEventBridgeConfig>>eventBridgeConfig()static DataSourceget(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, DataSourceState state, com.pulumi.resources.CustomResourceOptions options)Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.com.pulumi.core.Output<java.util.Optional<DataSourceHttpConfig>>httpConfig()com.pulumi.core.Output<java.util.Optional<DataSourceLambdaConfig>>lambdaConfig()com.pulumi.core.Output<java.lang.String>name()com.pulumi.core.Output<java.util.Optional<DataSourceOpensearchserviceConfig>>opensearchserviceConfig()com.pulumi.core.Output<java.lang.String>region()com.pulumi.core.Output<java.util.Optional<DataSourceRelationalDatabaseConfig>>relationalDatabaseConfig()com.pulumi.core.Output<java.util.Optional<java.lang.String>>serviceRoleArn()com.pulumi.core.Output<java.lang.String>type()
-
-
-
Constructor Detail
-
DataSource
public DataSource(java.lang.String name)
- Parameters:
name- The _unique_ name of the resulting resource.
-
DataSource
public DataSource(java.lang.String name, DataSourceArgs args)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.
-
DataSource
public DataSource(java.lang.String name, DataSourceArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.options- A bag of options that control this resource's behavior.
-
-
Method Detail
-
apiId
public com.pulumi.core.Output<java.lang.String> apiId()
- Returns:
- API ID for the GraphQL API for the data source.
-
arn
public com.pulumi.core.Output<java.lang.String> arn()
- Returns:
- ARN
-
description
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> description()
- Returns:
- Description of the data source.
-
dynamodbConfig
public com.pulumi.core.Output<java.util.Optional<DataSourceDynamodbConfig>> dynamodbConfig()
- Returns:
- DynamoDB settings. See `dynamodbConfig` Block for details.
-
elasticsearchConfig
public com.pulumi.core.Output<java.util.Optional<DataSourceElasticsearchConfig>> elasticsearchConfig()
- Returns:
- Amazon Elasticsearch settings. See `elasticsearchConfig` Block for details.
-
eventBridgeConfig
public com.pulumi.core.Output<java.util.Optional<DataSourceEventBridgeConfig>> eventBridgeConfig()
- Returns:
- AWS EventBridge settings. See `eventBridgeConfig` Block for details.
-
httpConfig
public com.pulumi.core.Output<java.util.Optional<DataSourceHttpConfig>> httpConfig()
- Returns:
- HTTP settings. See `httpConfig` Block for details.
-
lambdaConfig
public com.pulumi.core.Output<java.util.Optional<DataSourceLambdaConfig>> lambdaConfig()
- Returns:
- AWS Lambda settings. See `lambdaConfig` Block for details.
-
name
public com.pulumi.core.Output<java.lang.String> name()
- Returns:
- User-supplied name for the data source.
-
opensearchserviceConfig
public com.pulumi.core.Output<java.util.Optional<DataSourceOpensearchserviceConfig>> opensearchserviceConfig()
- Returns:
- Amazon OpenSearch Service settings. See `opensearchserviceConfig` Block for details.
-
region
public com.pulumi.core.Output<java.lang.String> region()
- Returns:
- Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
-
relationalDatabaseConfig
public com.pulumi.core.Output<java.util.Optional<DataSourceRelationalDatabaseConfig>> relationalDatabaseConfig()
- Returns:
- AWS RDS settings. See `relationalDatabaseConfig` Block for details.
-
serviceRoleArn
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> serviceRoleArn()
- Returns:
- 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
public com.pulumi.core.Output<java.lang.String> type()
- Returns:
- Type of the Data Source. Valid values: `AWS_LAMBDA`, `AMAZON_DYNAMODB`, `AMAZON_ELASTICSEARCH`, `HTTP`, `NONE`, `RELATIONAL_DATABASE`, `AMAZON_EVENTBRIDGE`, `AMAZON_OPENSEARCH_SERVICE`.
-
get
public static DataSource get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, @Nullable DataSourceState state, @Nullable com.pulumi.resources.CustomResourceOptions options)
Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.- Parameters:
name- The _unique_ name of the resulting resource.id- The _unique_ provider ID of the resource to lookup.state-options- Optional settings to control the behavior of the CustomResource.
-
-