eks library

AWS Elastic Kubernetes Service (EKS).

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.
AwsEksAccessEntry
Factory wrapper for aws_eks_access_entry.
AwsEksAccessPolicyAssociation
Factory wrapper for aws_eks_access_policy_association.
AwsEksAddon
Factory wrapper for aws_eks_addon.
AwsEksCapability
Factory wrapper for aws_eks_capability.
AwsEksCluster
Factory wrapper for aws_eks_cluster.
AwsEksFargateProfile
Factory wrapper for aws_eks_fargate_profile.
AwsEksIdentityProviderConfig
Factory wrapper for aws_eks_identity_provider_config.
AwsEksNodeGroup
Factory wrapper for aws_eks_node_group.
AwsEksPodIdentityAssociation
Factory wrapper for aws_eks_pod_identity_association.
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.
DataAwsEksAccessEntry
Factory wrapper for aws_eks_access_entry.
DataAwsEksAccessPolicies
Factory wrapper for aws_eks_access_policies.
DataAwsEksAddon
Factory wrapper for aws_eks_addon.
DataAwsEksAddonVersion
Factory wrapper for aws_eks_addon_version.
DataAwsEksCluster
Factory wrapper for aws_eks_cluster.
DataAwsEksClusterAuth
Factory wrapper for aws_eks_cluster_auth.
DataAwsEksClusters
Factory wrapper for aws_eks_clusters.
DataAwsEksClusterVersions
Factory wrapper for aws_eks_cluster_versions.
DataAwsEksNodeGroup
Factory wrapper for aws_eks_node_group.
DataAwsEksNodeGroups
Factory wrapper for aws_eks_node_groups.
DataRef<T>
Public for sealed pattern matching, but constructor is private — only TfRef.data() may construct instances.
EksAccessPolicyAssociationAccessScope
Typed helper for the access_scope block of aws_eks_access_policy_association (derived from provider schema).
EksAddonNamespaceConfig
Typed helper for the namespace_config block of aws_eks_addon (derived from provider schema).
EksAddonPodIdentityAssociation
Typed helper for the pod_identity_association block of aws_eks_addon (derived from provider schema).
EksCapabilityArgoCd
Typed helper for the configuration.argo_cd block of aws_eks_capability (derived from provider schema).
EksCapabilityAwsIdc
Typed helper for the configuration.argo_cd.aws_idc block of aws_eks_capability (derived from provider schema).
EksCapabilityConfiguration
Typed helper for the configuration block of aws_eks_capability (derived from provider schema).
EksCapabilityIdentity
Typed helper for the configuration.argo_cd.rbac_role_mapping.identity block of aws_eks_capability (derived from provider schema).
EksCapabilityNetworkAccess
Typed helper for the configuration.argo_cd.network_access block of aws_eks_capability (derived from provider schema).
EksCapabilityRbacRoleMapping
Typed helper for the configuration.argo_cd.rbac_role_mapping block of aws_eks_capability (derived from provider schema).
EksClusterAccessConfig
Typed helper for the access_config block of aws_eks_cluster (derived from provider schema).
EksClusterBlockStorage
Typed helper for the storage_config.block_storage block of aws_eks_cluster (derived from provider schema).
EksClusterComputeConfig
Typed helper for the compute_config block of aws_eks_cluster (derived from provider schema).
EksClusterControlPlanePlacement
Typed helper for the outpost_config.control_plane_placement block of aws_eks_cluster (derived from provider schema).
EksClusterControlPlaneScalingConfig
Typed helper for the control_plane_scaling_config block of aws_eks_cluster (derived from provider schema).
EksClusterElasticLoadBalancing
Typed helper for the kubernetes_network_config.elastic_load_balancing block of aws_eks_cluster (derived from provider schema).
EksClusterEncryptionConfig
Typed helper for the encryption_config block of aws_eks_cluster (derived from provider schema).
EksClusterEtcdPlacement
Typed helper for the outpost_config.etcd_placement block of aws_eks_cluster (derived from provider schema).
EksClusterHorizontalPodAutoscalerControllerConfig
Typed helper for the kube_controller_manager_config.horizontal_pod_autoscaler_controller_config block of aws_eks_cluster (derived from provider schema).
EksClusterKubeApiServerConfig
Typed helper for the kube_api_server_config block of aws_eks_cluster (derived from provider schema).
EksClusterKubeControllerManagerConfig
Typed helper for the kube_controller_manager_config block of aws_eks_cluster (derived from provider schema).
EksClusterKubernetesNetworkConfig
Typed helper for the kubernetes_network_config block of aws_eks_cluster (derived from provider schema).
EksClusterKubeSchedulerConfig
Typed helper for the kube_scheduler_config block of aws_eks_cluster (derived from provider schema).
EksClusterNodeResourcesFit
Typed helper for the kube_scheduler_config.node_resources_fit block of aws_eks_cluster (derived from provider schema).
EksClusterOutpostConfig
Typed helper for the outpost_config block of aws_eks_cluster (derived from provider schema).
EksClusterPodGcControllerConfig
Typed helper for the kube_controller_manager_config.pod_gc_controller_config block of aws_eks_cluster (derived from provider schema).
EksClusterProvider
Typed helper for the encryption_config.provider block of aws_eks_cluster (derived from provider schema).
EksClusterRemoteNetworkConfig
Typed helper for the remote_network_config block of aws_eks_cluster (derived from provider schema).
EksClusterRemoteNodeNetworks
Typed helper for the remote_network_config.remote_node_networks block of aws_eks_cluster (derived from provider schema).
EksClusterRemotePodNetworks
Typed helper for the remote_network_config.remote_pod_networks block of aws_eks_cluster (derived from provider schema).
EksClusterResource
Typed helper for the kube_scheduler_config.node_resources_fit.scoring_strategy.resource block of aws_eks_cluster (derived from provider schema).
EksClusterScoringStrategy
Typed helper for the kube_scheduler_config.node_resources_fit.scoring_strategy block of aws_eks_cluster (derived from provider schema).
EksClusterServiceNodePortRange
Typed helper for the kube_api_server_config.service_node_port_range block of aws_eks_cluster (derived from provider schema).
EksClusterStorageConfig
Typed helper for the storage_config block of aws_eks_cluster (derived from provider schema).
EksClusterUpgradePolicy
Typed helper for the upgrade_policy block of aws_eks_cluster (derived from provider schema).
EksClusterVpcConfig
Typed helper for the vpc_config block of aws_eks_cluster (derived from provider schema).
EksClusterZonalShiftConfig
Typed helper for the zonal_shift_config block of aws_eks_cluster (derived from provider schema).
EksFargateProfileSelector
Typed helper for the selector block of aws_eks_fargate_profile (derived from provider schema).
EksIdentityProviderConfigOidc
Typed helper for the oidc block of aws_eks_identity_provider_config (derived from provider schema).
EksNodeGroupIdentifier
At most one of id, name on the launch_template block of aws_eks_node_group: the provider rejects more than one, so each variant sets one of them and a null choice sets none.
EksNodeGroupIdentifierId
The EksNodeGroupIdentifier.id choice: sets id.
EksNodeGroupIdentifierName
The EksNodeGroupIdentifier.name choice: sets name.
EksNodeGroupLaunchTemplate
Typed helper for the launch_template block of aws_eks_node_group (derived from provider schema).
EksNodeGroupMaxParallelNodesRepaired
At most one of max_parallel_nodes_repaired_count, max_parallel_nodes_repaired_percentage on the node_repair_config block of aws_eks_node_group: the provider rejects more than one, so each variant sets one of them and a null choice sets none.
EksNodeGroupMaxParallelNodesRepairedCount
The EksNodeGroupMaxParallelNodesRepaired.maxParallelNodesRepairedCount choice: sets max_parallel_nodes_repaired_count.
EksNodeGroupMaxParallelNodesRepairedPercentage
The EksNodeGroupMaxParallelNodesRepaired.maxParallelNodesRepairedPercentage choice: sets max_parallel_nodes_repaired_percentage.
EksNodeGroupMaxUnavailable
Exactly one of max_unavailable, max_unavailable_percentage on the update_config block of aws_eks_node_group: the provider rejects none and more than one, so each variant sets one of them.
EksNodeGroupMaxUnavailableChoice
The EksNodeGroupMaxUnavailable.maxUnavailable choice: sets max_unavailable.
EksNodeGroupMaxUnavailablePercentage
The EksNodeGroupMaxUnavailable.maxUnavailablePercentage choice: sets max_unavailable_percentage.
EksNodeGroupMaxUnhealthyNodeThreshold
At most one of max_unhealthy_node_threshold_count, max_unhealthy_node_threshold_percentage on the node_repair_config block of aws_eks_node_group: the provider rejects more than one, so each variant sets one of them and a null choice sets none.
EksNodeGroupMaxUnhealthyNodeThresholdCount
The EksNodeGroupMaxUnhealthyNodeThreshold.maxUnhealthyNodeThresholdCount choice: sets max_unhealthy_node_threshold_count.
EksNodeGroupMaxUnhealthyNodeThresholdPercentage
The EksNodeGroupMaxUnhealthyNodeThreshold.maxUnhealthyNodeThresholdPercentage choice: sets max_unhealthy_node_threshold_percentage.
EksNodeGroupName
At most one of node_group_name, node_group_name_prefix on aws_eks_node_group: the provider rejects more than one, so each variant sets one of them and a null choice sets none.
EksNodeGroupNameChoice
The EksNodeGroupName.nodeGroupName choice: sets node_group_name.
EksNodeGroupNamePrefix
The EksNodeGroupName.nodeGroupNamePrefix choice: sets node_group_name_prefix.
EksNodeGroupNodeRepairConfig
Typed helper for the node_repair_config block of aws_eks_node_group (derived from provider schema).
EksNodeGroupNodeRepairConfigOverrides
Typed helper for the node_repair_config.node_repair_config_overrides block of aws_eks_node_group (derived from provider schema).
EksNodeGroupRemoteAccess
Typed helper for the remote_access block of aws_eks_node_group (derived from provider schema).
EksNodeGroupScalingConfig
Typed helper for the scaling_config block of aws_eks_node_group (derived from provider schema).
EksNodeGroupTaint
Typed helper for the taint block of aws_eks_node_group (derived from provider schema).
EksNodeGroupUpdateConfig
Typed helper for the update_config block of aws_eks_node_group (derived from provider schema).
EksNodeGroupWarmPoolConfig
Typed helper for the warm_pool_config block of aws_eks_node_group (derived from provider schema).
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

EksAccessEntryType
Eks Access Entry enum for type.
EksAddonResolveConflictsOnCreate
Eks Addon Resolve Conflicts On enum for resolve_conflicts_on_create.
EksAddonResolveConflictsOnUpdate
Eks Addon Resolve Conflicts On enum for resolve_conflicts_on_update.
EksCapabilityDeletePropagationPolicy
Eks Capability Delete Propagation enum for delete_propagation_policy.
EksCapabilityIdentityType
type — derived from the provider schema description.
EksCapabilityRole
role — derived from the provider schema description.
EksCapabilityType
Eks Capability enum for type.
EksClusterAuthenticationMode
authentication_mode — derived from the provider schema description.
EksClusterControlPlaneEgressMode
control_plane_egress_mode — derived from the provider schema description.
EksClusterEnabledClusterLogTypes
Eks Cluster Enabled Cluster Log enum for enabled_cluster_log_types.
EksClusterIpFamily
ip_family — derived from the provider schema description.
EksClusterNodePools
node_pools — derived from the provider schema description.
EksClusterResources
resources — derived from the provider schema description.
EksClusterSpreadLevel
spread_level — derived from the provider schema description.
EksClusterSupportType
support_type — derived from the provider schema description.
EksClusterTier
tier — derived from the provider schema description.
EksClusterType
type — derived from the provider schema description.
EksNodeGroupAmiType
Eks Node Group Ami enum for ami_type.
EksNodeGroupCapacityType
Eks Node Group Capacity enum for capacity_type.
EksNodeGroupEffect
effect — derived from the provider schema description.
EksNodeGroupPoolState
pool_state — derived from the provider schema description.
EksNodeGroupRepairAction
repair_action — derived from the provider schema description.
EksNodeGroupUpdateStrategy
update_strategy — 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.