codebuild library

AWS CodeBuild.

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.
AttributeRef<T>
Public for sealed pattern matching, but constructor is private — only TfRef.attribute() may construct instances.
AwsCodebuildFleet
Factory wrapper for aws_codebuild_fleet.
AwsCodebuildProject
Factory wrapper for aws_codebuild_project.
AwsCodebuildReportGroup
Factory wrapper for aws_codebuild_report_group.
AwsCodebuildResourcePolicy
Factory wrapper for aws_codebuild_resource_policy.
AwsCodebuildSourceCredential
Factory wrapper for aws_codebuild_source_credential.
AwsCodebuildWebhook
Factory wrapper for aws_codebuild_webhook.
CodebuildFleetComputeConfiguration
Typed helper for the compute_configuration block of aws_codebuild_fleet (derived from provider schema).
CodebuildFleetScalingConfiguration
Typed helper for the scaling_configuration block of aws_codebuild_fleet (derived from provider schema).
CodebuildFleetTargetTrackingScalingConfigs
Typed helper for the scaling_configuration.target_tracking_scaling_configs block of aws_codebuild_fleet (derived from provider schema).
CodebuildFleetVpcConfig
Typed helper for the vpc_config block of aws_codebuild_fleet (derived from provider schema).
CodebuildProjectArtifacts
Typed helper for the artifacts block of aws_codebuild_project (derived from provider schema).
CodebuildProjectAuth
Typed helper for the secondary_sources.auth block of aws_codebuild_project (derived from provider schema). Shared by every block of this shape in the resource.
CodebuildProjectBuildBatchConfig
Typed helper for the build_batch_config block of aws_codebuild_project (derived from provider schema).
CodebuildProjectBuildStatusConfig
Typed helper for the secondary_sources.build_status_config block of aws_codebuild_project (derived from provider schema). Shared by every block of this shape in the resource.
CodebuildProjectCache
Typed helper for the cache block of aws_codebuild_project (derived from provider schema).
CodebuildProjectCloudwatchLogs
Typed helper for the logs_config.cloudwatch_logs block of aws_codebuild_project (derived from provider schema).
CodebuildProjectDockerServer
Typed helper for the environment.docker_server block of aws_codebuild_project (derived from provider schema).
CodebuildProjectEnvironment
Typed helper for the environment block of aws_codebuild_project (derived from provider schema).
CodebuildProjectEnvironmentVariable
Typed helper for the environment.environment_variable block of aws_codebuild_project (derived from provider schema).
CodebuildProjectFileSystemLocations
Typed helper for the file_system_locations block of aws_codebuild_project (derived from provider schema).
CodebuildProjectFleet
Typed helper for the environment.fleet block of aws_codebuild_project (derived from provider schema).
CodebuildProjectGitSubmodulesConfig
Typed helper for the secondary_sources.git_submodules_config block of aws_codebuild_project (derived from provider schema). Shared by every block of this shape in the resource.
CodebuildProjectLogsConfig
Typed helper for the logs_config block of aws_codebuild_project (derived from provider schema).
CodebuildProjectRegistryCredential
Typed helper for the environment.registry_credential block of aws_codebuild_project (derived from provider schema).
CodebuildProjectRestrictions
Typed helper for the build_batch_config.restrictions block of aws_codebuild_project (derived from provider schema).
CodebuildProjectS3Logs
Typed helper for the logs_config.s3_logs block of aws_codebuild_project (derived from provider schema).
CodebuildProjectSecondaryArtifacts
Typed helper for the secondary_artifacts block of aws_codebuild_project (derived from provider schema).
CodebuildProjectSecondarySources
Typed helper for the secondary_sources block of aws_codebuild_project (derived from provider schema).
CodebuildProjectSecondarySourceVersion
Typed helper for the secondary_source_version block of aws_codebuild_project (derived from provider schema).
CodebuildProjectSource
Typed helper for the source block of aws_codebuild_project (derived from provider schema).
CodebuildProjectVpcConfig
Typed helper for the vpc_config block of aws_codebuild_project (derived from provider schema).
CodebuildReportGroupExportConfig
Typed helper for the export_config block of aws_codebuild_report_group (derived from provider schema).
CodebuildReportGroupS3Destination
Typed helper for the export_config.s3_destination block of aws_codebuild_report_group (derived from provider schema).
CodebuildWebhookFilter
Typed helper for the filter_group.filter block of aws_codebuild_webhook (derived from provider schema).
CodebuildWebhookFilterGroup
Typed helper for the filter_group block of aws_codebuild_webhook (derived from provider schema).
CodebuildWebhookPullRequestBuildPolicy
Typed helper for the pull_request_build_policy block of aws_codebuild_webhook (derived from provider schema).
CodebuildWebhookScopeConfiguration
Typed helper for the scope_configuration block of aws_codebuild_webhook (derived from provider schema).
CodebuildWebhookTrigger
At most one of branch_filter, filter_group on aws_codebuild_webhook: the provider rejects more than one, so each variant sets one of them and a null choice sets none.
CodebuildWebhookTriggerBranchFilter
The CodebuildWebhookTrigger.branchFilter choice: sets branch_filter.
CodebuildWebhookTriggerFilterGroup
The CodebuildWebhookTrigger.filterGroup choice: sets filter_group.
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.
DataAwsCodebuildFleet
Factory wrapper for aws_codebuild_fleet.
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

CodebuildFleetComputeType
Codebuild Fleet Compute enum for compute_type.
CodebuildFleetEnvironmentType
Codebuild Fleet Environment enum for environment_type.
CodebuildFleetMachineType
machine_type — derived from the provider schema description.
CodebuildFleetMetricType
metric_type — derived from the provider schema description.
CodebuildFleetOverflowBehavior
Codebuild Fleet Overflow enum for overflow_behavior.
CodebuildFleetScalingType
scaling_type — derived from the provider schema description.
CodebuildProjectArtifactsType
type — derived from the provider schema description.
CodebuildProjectAuthType
type — derived from the provider schema description.
CodebuildProjectBucketOwnerAccess
bucket_owner_access — derived from the provider schema description.
CodebuildProjectCacheType
type — derived from the provider schema description.
CodebuildProjectComputeType
compute_type — derived from the provider schema description.
CodebuildProjectComputeTypesAllowed
compute_types_allowed — derived from the provider schema description.
CodebuildProjectCredentialProvider
credential_provider — derived from the provider schema description.
CodebuildProjectEnvironmentType
type — derived from the provider schema description.
CodebuildProjectEnvironmentVariableType
type — derived from the provider schema description.
CodebuildProjectFileSystemLocationsType
type — derived from the provider schema description.
CodebuildProjectHostKernel
host_kernel — derived from the provider schema description.
CodebuildProjectImagePullCredentialsType
image_pull_credentials_type — derived from the provider schema description.
CodebuildProjectModes
modes — derived from the provider schema description.
CodebuildProjectNamespaceType
namespace_type — derived from the provider schema description.
CodebuildProjectPackaging
packaging — derived from the provider schema description.
CodebuildProjectSecondarySourcesType
type — derived from the provider schema description.
CodebuildProjectStatus
status — derived from the provider schema description.
CodebuildProjectVisibility
Codebuild Project enum for project_visibility.
CodebuildReportGroupExportConfigType
type — derived from the provider schema description.
CodebuildReportGroupPackaging
packaging — derived from the provider schema description.
CodebuildReportGroupType
Codebuild Report Group enum for type.
CodebuildSourceCredentialAuthType
Codebuild Source Credential Auth enum for auth_type.
CodebuildSourceCredentialServerType
Codebuild Source Credential Server enum for server_type.
CodebuildWebhookApproverRoles
approver_roles — derived from the provider schema description.
CodebuildWebhookBuildType
Codebuild Webhook Build enum for build_type.
CodebuildWebhookRequiresCommentApproval
requires_comment_approval — derived from the provider schema description.
CodebuildWebhookScope
scope — derived from the provider schema description.
CodebuildWebhookType
type — derived from the provider schema description.
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)?, E? defaultEnv}) → 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.