appsync library

AWS AppSync.

Classes

AppConstant<T>
A value the Stack hands to application code as a static const in the generated AppExports file — known when synth runs, so the app compiles against it.
AppExports
Where synth writes the Dart file application code imports: the Stack's constants, as the static const members of <name>Constants, and a typed reader of its Terraform outputs, <name>Outputs.
AppsyncApiAuthProvider
Typed helper for the event_config.auth_provider block of aws_appsync_api (derived from provider schema).
AppsyncApiCognitoConfig
Typed helper for the event_config.auth_provider.cognito_config block of aws_appsync_api (derived from provider schema).
AppsyncApiConnectionAuthMode
Typed helper for the event_config.connection_auth_mode block of aws_appsync_api (derived from provider schema).
AppsyncApiDefaultPublishAuthMode
Typed helper for the event_config.default_publish_auth_mode block of aws_appsync_api (derived from provider schema).
AppsyncApiDefaultSubscribeAuthMode
Typed helper for the event_config.default_subscribe_auth_mode block of aws_appsync_api (derived from provider schema).
AppsyncApiEventConfig
Typed helper for the event_config block of aws_appsync_api (derived from provider schema).
AppsyncApiLambdaAuthorizerConfig
Typed helper for the event_config.auth_provider.lambda_authorizer_config block of aws_appsync_api (derived from provider schema).
AppsyncApiLogConfig
Typed helper for the event_config.log_config block of aws_appsync_api (derived from provider schema).
AppsyncApiOpenidConnectConfig
Typed helper for the event_config.auth_provider.openid_connect_config block of aws_appsync_api (derived from provider schema).
AppsyncChannelNamespaceHandlerConfigs
Typed helper for the handler_configs block of aws_appsync_channel_namespace (derived from provider schema).
AppsyncChannelNamespaceIntegration
Typed helper for the handler_configs.on_publish.integration block of aws_appsync_channel_namespace (derived from provider schema). Shared by every block of this shape in the resource.
AppsyncChannelNamespaceLambdaConfig
Typed helper for the handler_configs.on_publish.integration.lambda_config block of aws_appsync_channel_namespace (derived from provider schema). Shared by every block of this shape in the resource.
AppsyncChannelNamespaceOnPublish
Typed helper for the handler_configs.on_publish block of aws_appsync_channel_namespace (derived from provider schema).
AppsyncChannelNamespaceOnSubscribe
Typed helper for the handler_configs.on_subscribe block of aws_appsync_channel_namespace (derived from provider schema).
AppsyncChannelNamespacePublishAuthMode
Typed helper for the publish_auth_mode block of aws_appsync_channel_namespace (derived from provider schema).
AppsyncChannelNamespaceSubscribeAuthMode
Typed helper for the subscribe_auth_mode block of aws_appsync_channel_namespace (derived from provider schema).
AppsyncDatasourceAuthorizationConfig
Typed helper for the http_config.authorization_config block of aws_appsync_datasource (derived from provider schema).
AppsyncDatasourceAwsIamConfig
Typed helper for the http_config.authorization_config.aws_iam_config block of aws_appsync_datasource (derived from provider schema).
AppsyncDatasourceDeltaSyncConfig
Typed helper for the dynamodb_config.delta_sync_config block of aws_appsync_datasource (derived from provider schema).
AppsyncDatasourceDynamodbConfig
Typed helper for the dynamodb_config block of aws_appsync_datasource (derived from provider schema).
AppsyncDatasourceElasticsearchConfig
Typed helper for the elasticsearch_config block of aws_appsync_datasource (derived from provider schema).
AppsyncDatasourceEventBridgeConfig
Typed helper for the event_bridge_config block of aws_appsync_datasource (derived from provider schema).
AppsyncDatasourceHttpConfig
Typed helper for the http_config block of aws_appsync_datasource (derived from provider schema).
AppsyncDatasourceHttpEndpointConfig
Typed helper for the relational_database_config.http_endpoint_config block of aws_appsync_datasource (derived from provider schema).
AppsyncDatasourceLambdaConfig
Typed helper for the lambda_config block of aws_appsync_datasource (derived from provider schema).
AppsyncDatasourceOpensearchserviceConfig
Typed helper for the opensearchservice_config block of aws_appsync_datasource (derived from provider schema).
AppsyncDatasourceRelationalDatabaseConfig
Typed helper for the relational_database_config block of aws_appsync_datasource (derived from provider schema).
AppsyncFunctionLambdaConflictHandlerConfig
Typed helper for the sync_config.lambda_conflict_handler_config block of aws_appsync_function (derived from provider schema).
AppsyncFunctionRuntime
Typed helper for the runtime block of aws_appsync_function (derived from provider schema).
AppsyncFunctionSyncConfig
Typed helper for the sync_config block of aws_appsync_function (derived from provider schema).
AppsyncGraphqlApiAdditionalAuthenticationProvider
Typed helper for the additional_authentication_provider block of aws_appsync_graphql_api (derived from provider schema).
AppsyncGraphqlApiAdditionalAuthenticationProviderUserPoolConfig
Typed helper for the additional_authentication_provider.user_pool_config block of aws_appsync_graphql_api (derived from provider schema).
AppsyncGraphqlApiEnhancedMetricsConfig
Typed helper for the enhanced_metrics_config block of aws_appsync_graphql_api (derived from provider schema).
AppsyncGraphqlApiLambdaAuthorizerConfig
Typed helper for the lambda_authorizer_config block of aws_appsync_graphql_api (derived from provider schema). Shared by every block of this shape in the resource.
AppsyncGraphqlApiLogConfig
Typed helper for the log_config block of aws_appsync_graphql_api (derived from provider schema).
AppsyncGraphqlApiOpenidConnectConfig
Typed helper for the openid_connect_config block of aws_appsync_graphql_api (derived from provider schema). Shared by every block of this shape in the resource.
AppsyncGraphqlApiUserPoolConfig
Typed helper for the user_pool_config block of aws_appsync_graphql_api (derived from provider schema).
AppsyncResolverBackend
At most one of data_source, pipeline_config on aws_appsync_resolver: the provider rejects more than one, so each variant sets one of them and a null choice sets none.
AppsyncResolverBackendDataSource
The AppsyncResolverBackend.dataSource choice: sets data_source.
AppsyncResolverBackendPipelineConfig
The AppsyncResolverBackend.pipelineConfig choice: sets pipeline_config.
AppsyncResolverCachingConfig
Typed helper for the caching_config block of aws_appsync_resolver (derived from provider schema).
AppsyncResolverLambdaConflictHandlerConfig
Typed helper for the sync_config.lambda_conflict_handler_config block of aws_appsync_resolver (derived from provider schema).
AppsyncResolverPipelineConfig
Typed helper for the pipeline_config block of aws_appsync_resolver (derived from provider schema).
AppsyncResolverRuntime
Typed helper for the runtime block of aws_appsync_resolver (derived from provider schema).
AppsyncResolverSyncConfig
Typed helper for the sync_config block of aws_appsync_resolver (derived from provider schema).
AppsyncSourceApiAssociationMergedApi
Exactly one of merged_api_arn, merged_api_id on aws_appsync_source_api_association: the provider rejects none and more than one, so each variant sets one of them.
AppsyncSourceApiAssociationMergedApiArn
The AppsyncSourceApiAssociationMergedApi.mergedApiArn choice: sets merged_api_arn.
AppsyncSourceApiAssociationMergedApiId
The AppsyncSourceApiAssociationMergedApi.mergedApiId choice: sets merged_api_id.
AppsyncSourceApiAssociationSourceApi
Exactly one of source_api_arn, source_api_id on aws_appsync_source_api_association: the provider rejects none and more than one, so each variant sets one of them.
AppsyncSourceApiAssociationSourceApiArn
The AppsyncSourceApiAssociationSourceApi.sourceApiArn choice: sets source_api_arn.
AppsyncSourceApiAssociationSourceApiId
The AppsyncSourceApiAssociationSourceApi.sourceApiId choice: sets source_api_id.
AttributeRef<T>
Public for sealed pattern matching, but constructor is private — only TfRef.attribute() may construct instances.
AwsAppsyncApi
Factory wrapper for aws_appsync_api.
AwsAppsyncApiCache
Factory wrapper for aws_appsync_api_cache.
AwsAppsyncApiKey
Factory wrapper for aws_appsync_api_key.
AwsAppsyncChannelNamespace
Factory wrapper for aws_appsync_channel_namespace.
AwsAppsyncDatasource
Factory wrapper for aws_appsync_datasource.
AwsAppsyncDomainName
Factory wrapper for aws_appsync_domain_name.
AwsAppsyncDomainNameApiAssociation
Factory wrapper for aws_appsync_domain_name_api_association.
AwsAppsyncFunction
Factory wrapper for aws_appsync_function.
AwsAppsyncGraphqlApi
Factory wrapper for aws_appsync_graphql_api.
AwsAppsyncResolver
Factory wrapper for aws_appsync_resolver.
AwsAppsyncSourceApiAssociation
Factory wrapper for aws_appsync_source_api_association.
AwsAppsyncType
Factory wrapper for aws_appsync_type.
DartDefineOutput
An output whose value is the client build's --dart-define file, registered with Stack.addDartDefineOutput.
Data
Base of every user-instantiable Terraform data block.
DataRef<T>
Public for sealed pattern matching, but constructor is private — only TfRef.data() may construct instances.
EnvironmentConstant
The AppConstant.fromEnvironment choice.
GcsBackend
terraform { backend "gcs" { ... } } configuration.
IgnoreAllChanges
IgnoreChanges.all.
IgnoreAttributes
IgnoreChanges.of.
IgnoreChanges
What ignore_changes covers: every attribute, or the listed ones.
InvalidDartDefineOutput
An output of Stack.addDartDefineOutput that cannot carry what it names: an output that is not registered, is sensitive or has no environment value, two outputs read from one variable, or no output at all.
InvalidLifecycle
A lifecycle block Terraform rejects: a data source (or one of its attributes) in replaceTriggeredBy, all inside IgnoreChanges.of, or a condition with an empty error message.
InvalidMoveTarget
A moved block whose to names no resource of the Stack.
InvalidTimeout
A negative timeouts duration.
LifecycleCondition
A precondition or postcondition block: Terraform fails the plan (LifecycleCondition.pre) or the apply (LifecycleCondition.post) with errorMessage when condition is false.
LifecycleOptions
lifecycle { ... } block on a resource.
LocalBackend
terraform { backend "local" { ... } } configuration.
MissingProvider
A block needs a provider configuration the Stack does not register: the provider its type implies (google for google_pubsub_topic), the one its provider meta-argument names, or one a module call passes on.
ModuleCall
A module "<localName>" { ... } call as a Dart value.
NoProviders
The Stack registers no provider, but declares resources or data sources.
ProviderConflict
Two provider registrations Terraform rejects together: two defaults of one name, a repeated alias, an alias that is not an identifier, or configurations of one name with different source / version constraints.
RefConstant<T>
The AppConstant.ref choice.
ReplaceTrigger
What lifecycle.replaceTriggeredBy lists: a resource of the Stack or an attribute getter of one. Resource and TfRef implement it; synth reports a data source or a data-source attribute as an InvalidLifecycle.
Resource
Base of every user-instantiable Terraform resource.
ResourceRef
Public for sealed pattern matching, but constructor is private — only TfRef.resource() may construct instances.
S3Backend
terraform { backend "s3" { ... } } configuration.
Sensitive<T>
What an argument Terraform marks sensitive takes: a variable, an expression or an attribute getter — a value Terraform resolves, never a Dart literal that would be written into main.tf.json.
SensitiveLiteral
A sensitive field is set to a literal, which would write the secret in plain text into main.tf.json.
Stack
User-extended IaC composition root.
StackBackend
Lightweight backend hook. Core ships GcsBackend, S3Backend, and LocalBackend; anything else implements this interface in the caller. The Stack only stores the value and exposes a discriminator for synth's terraform { backend ... } emitter.
StackProvider
Coordination interface between Stack (in this package) and concrete providers (e.g. GoogleProvider in terradart_google). Concrete providers implement every getter using their baked-in constants from Stage 2 codegen.
SynthIssue
One reason a Stack cannot be synthesized.
SynthResult
Bundle returned by StackSynth.synth.
TfAddressed
Anything that exposes a Terraform address, e.g. google_pubsub_topic.orders.
TfArg<T>
A Terraform argument: a Dart-side literal, a reference to another block's attribute (TfRef), a variable or a raw expression.
TfArgExpression<T>
A raw Terraform expression — the tf.json template string, verbatim.
TfArgLiteral<T>
TfArgVariable<T>
TfCollectionType
list(...), set(...) or map(...).
TfMoved
One moved { from = ... to = ... } block: the state object at from now belongs to the resource at to, so a rename does not become a destroy-and-create.
TfObjectType
object({ ... }).
TfOptionalType
optional(<type>[, <default>]).
TfOutput<T>
An output "<name>" { value = ... } block, registered with Stack.addOutput.
TfPrimitiveType
string, number, bool or any.
TfRef<T>
A Terraform-side reference: an attribute of a resource (AttributeRef) or a data source (DataRef), or a whole resource (ResourceRef).
TfTimeouts
timeouts { ... } on a resource or data source: how long Terraform waits for each operation before giving up.
TfTupleType
tuple([...]).
TfType
A Terraform type constraint: string, list(number), object({ name = string }).
TfVariable
One variable "<name>" { ... } declaration.
UndeclaredVariable
A TfArg.variable or var.<name> in an expression names a variable the Stack does not declare.
UnregisteredReference
A block references another block that was never registered on the Stack: built, but not passed to add(...) / addModule(...).
UnresolvableConstant
An AppConstant.ref whose value is not known at synth: the attribute is not set to a literal, is sensitive, does not match the constant's type, or belongs to a block that is not registered.
ValueConstant<T>
The AppConstant.value choice.

Enums

ResourceKind
Whether a Stack entry is a resource block or a data block in Terraform JSON.

Extension Types

AppsyncApiAuthType
auth_type — derived from the provider schema description.
AppsyncApiCacheApiCachingBehavior
Appsync Api Cache Api Caching enum for api_caching_behavior.
AppsyncApiCacheType
Appsync Api Cache enum for type.
AppsyncApiLogLevel
log_level — derived from the provider schema description.
AppsyncChannelNamespaceAuthType
auth_type — derived from the provider schema description.
AppsyncChannelNamespaceBehavior
behavior — derived from the provider schema description.
AppsyncChannelNamespaceInvokeType
invoke_type — derived from the provider schema description.
AppsyncDatasourceAuthorizationType
authorization_type — derived from the provider schema description.
AppsyncDatasourceSourceType
source_type — derived from the provider schema description.
AppsyncDatasourceType
Appsync Datasource enum for type.
AppsyncFunctionConflictDetection
conflict_detection — derived from the provider schema description.
AppsyncFunctionConflictHandler
conflict_handler — derived from the provider schema description.
AppsyncFunctionRuntimeName
name — derived from the provider schema description.
AppsyncFunctionVersion
Appsync Function enum for function_version.
AppsyncGraphqlApiAdditionalAuthenticationProviderAuthenticationType
authentication_type — derived from the provider schema description.
AppsyncGraphqlApiAuthenticationType
Appsync Graphql Api Authentication enum for authentication_type.
AppsyncGraphqlApiDataSourceLevelMetricsBehavior
data_source_level_metrics_behavior — derived from the provider schema description.
AppsyncGraphqlApiDefaultAction
default_action — derived from the provider schema description.
AppsyncGraphqlApiFieldLogLevel
field_log_level — derived from the provider schema description.
AppsyncGraphqlApiIntrospectionConfig
Appsync Graphql Api Introspection enum for introspection_config.
AppsyncGraphqlApiOperationLevelMetricsConfig
operation_level_metrics_config — derived from the provider schema description.
AppsyncGraphqlApiResolverLevelMetricsBehavior
resolver_level_metrics_behavior — derived from the provider schema description.
AppsyncGraphqlApiType
Appsync Graphql Api enum for api_type.
AppsyncGraphqlApiVisibility
Appsync Graphql Api enum for visibility.
AppsyncResolverConflictDetection
conflict_detection — derived from the provider schema description.
AppsyncResolverConflictHandler
conflict_handler — derived from the provider schema description.
AppsyncResolverKind
Appsync Resolver enum for kind.
AppsyncResolverName
name — derived from the provider schema description.
AppsyncTypeFormat
Appsync Type enum for format.
OutputEnvironment
The environment Stack.outputEnvironment returns: each variable and its value, in registration order.
RefTo
A reference to a resource of type R, for an argument that names another resource (network, vpc_id, role_arn, ...).

Extensions

RefToList on TfArg<List<RefTo<R>>>
A list-valued reference argument (security_group_ids, subnet_ids): a literal list of RefTos, or one value that is the whole list (TfArg.variable('subnet_ids'), TfArg.expression(...)).
TerraformDurationExt on Duration
Converts a Dart Duration into a Terraform duration string ("604800s").

Constants

terradartManifestVariable → const String
The environment variable the terradart command sets to the file runStack and runEnvironments describe what they wrote in.

Functions

runEnvironments<E extends Enum>(List<String> args, List<E> environments, Stack build(E env), {String dir(E env)?, String? workspace(E env)?, List<String> backendConfig(E env)?}) → Future<void>
The entry point of a project with one Stack per environment. The environments are the members of an enum of the project's own — any names, each carrying its values — so the Stack takes a typed env and derives everything per environment from it, its backend included:
runStack(List<String> args, Stack build(), {String out = 'tf-out'}) → Future<void>
The entry point of a project with one Stack: writes it to out.

Exceptions / Errors

DuplicateModuleError
A ModuleCall registered twice under one name.
DuplicateResourceError
Thrown by Stack.add when an entry with the same (kind, terraformType, localName) triple is registered twice.
SynthException
Thrown by Stack.synth() and Stack.writeTo() when the Stack has one or more SynthIssues. Nothing is written.