Costs
Priced and unpriced coverage, and the inputs a cost estimate needs. The figures are an initial infrastructure cost estimate under explicit assumptions (the assumptions below), under one labelled scenario (the labelled standard month of 730 hours, the same on both sides); they are not a bill.
Financial comparison: NOT AVAILABLE — source region unknown (30 AWS lines wait for source.aws.region); 9 of 14 STACKIT lines have no price; 10 billable source resources are outside the model; the subtotal of one side is not a comparison and no saving is stated
Not included: traffic, usage, support, licences, operations and migration cost; a scenario of what owning the estate costs, on either side, is not provided by this build.
- Stage 1, coverage and uncertainties: 5 of 44 lines priced (source 0 of 30, STACKIT 5 of 14); the lines that have no price say why in the table of causes and the three coverage indicators below.
- Stage 2, run-rate of the comparable services: not available, because no billable source resource is priced on both sides.
- Stage 3, cost scenarios beyond the list prices (data egress, parallel running, migration effort, operations): not provided by this build.
Marker: an amount followed by "3 lines on unconfirmed defaults" sums lines priced on the default of a variable of the draft that no answer of the inputs file chose and no entry of the decisions file confirmed (class ASSUMPTION). In this run 3 priced lines (713.67 EUR) rest on defaults of the draft that no decision confirmed (DEC-GEN-CONVERT-SIZE-FROM-SOURCE). A default is not an approved value: confirm or change it in decisions.yaml, and the price moves with the value you set.
How these costs are read
An initial infrastructure cost estimate under explicit assumptions (the scenario and the assumption file this model names), not a bill: list prices (net, no discount, no Spot, no savings plan, no private price) times quantities the source or the assumption file states. A total is FULL only when every line of its scope is priced; a line that cannot be priced says why and is never filled in, and an unknown quantity is neither 0 nor 1. A savings percentage is given only for the same scope, in one currency (or with an exchange rate that names its source and date), with every line of both sides priced. No usage, traffic, request, egress, support or one-off migration cost is computed.
Why lines are not priced
Three different causes, three different next actions: a refresh of the price cache fixes only the one marked CACHE_MISSING.
| Diagnostic | Lines | Families (lines) | Next action |
|---|---|---|---|
AWS_REGION_NEEDED | 30 | aws_ecs_service 10, aws_rds_cluster 4, aws_dynamodb_table 3, aws_lb 2, aws_mq_broker 2, aws_nat_gateway 2, aws_opensearch_domain 2, aws_rds_cluster_instance 2, aws_eip 1, aws_elasticache_replication_group 1, aws_internet_gateway 1 | AWS region not stated: give it in review/inputs (source.aws.region). A price cache holds the prices of a region: once the region is given, fill the cache for it with `stacktoit prices refresh --provider aws --region <region>` if the price sources above say it is missing. |
Four classes of line
Every line below is one of four classes, so that a known figure is not read as an estimate or an assumption, and a line that is not computed is not read as zero.
| Class | Lines | Meaning |
|---|---|---|
| KNOWN | 0 | list price × a quantity read from the source or the draft; nothing else assumed |
| ESTIMATE | 2 | a list price with an assumption the model states: the hours of the scenario (730 h in the standard month) on a per-hour rate |
| ASSUMPTION | 3 | a quantity or a class is assumed (an operating system, a tenancy, a performance class); the assumption is named on the line |
| OUT_OF_MODEL | 39 | not computed: not zero and not free; the line says what is missing |
44 cost lines in all: 30 of the source, 14 of the target. The same lines and totals are in financial/cost-model.json, financial/priced-resources.csv and financial/cost-coverage.md.
Coverage: how much of the estate the model can price
Billable coverage: which source resources can carry a price. Most source resources carry no charge of their own (a security group rule, an IAM role, a route), so the share of source resources that have a line is not the share of the estate that is priced. Of the 140 source resources, 27 are or may be billed.
| Source resources | Count | Meaning |
|---|---|---|
| With a price rule | 17 | Of a type this build prices: the model has a line for them (a line can still lack a price or a quantity: see the next tables). |
| No charge of its own | 113 | Of a type AWS bills nothing for (a security group rule, an IAM role, a route, a subnet): there is nothing to price, and they are not out of the model. |
| Out of the model | 10 | May be billed, and this build has no price rule for the type, or does not classify it: its cost is not computed, never zero and never free. |
Out of the model, by type: aws_secretsmanager_secret (4), aws_cloudwatch_log_group (2), aws_cloudwatch_event_rule (1), aws_cloudwatch_event_target (1), aws_kms_key (1), aws_service_discovery_private_dns_namespace (1).
Price coverage: which lines have a price. Of the 44 lines of the model, both sides.
| Lines | Count | Meaning |
|---|---|---|
| Price found | 5 | The line carries a price record (a rate from a price list), whether or not its quantity is known. |
| No price | 39 | No rate: the reason is each of the rows below. |
| PRICE_NOT_FOUND | 30 | The key names a price and the price list in force has none (or the region is not stated): never free. |
| TARGET_NOT_CHOSEN | 7 | The target design does not choose what the price needs. |
| AMBIGUOUS | 1 | More than one price fits and none is picked. |
| QUANTITY_UNKNOWN | 1 |
Lines with a price found, by side: source 0 of 30, target 5 of 14. Of the lines without a price, by diagnostic: AWS_REGION_NEEDED (30) (a refresh of the price cache fixes only CACHE_MISSING).
Usage coverage: which priced lines have a quantity. Of the 5 lines that have a price.
| Priced lines | Count | Meaning |
|---|---|---|
| Quantity known | 5 | The line has an amount; 0 of them rest on a quantity the assumption file states. |
| Quantity unknown | 0 | QUANTITY_UNKNOWN: the price is known, the quantity (a usage, a traffic, a size the source does not state) is not; neither zero nor one. |
A subtotal is the sum of the list prices of the lines that are priced, for the resources this build prices. It is not the cost of running the estate: usage, traffic, support, licences, operation and the effort of the migration are not in it. A difference between the source and the target subtotal is the difference of those list prices over the same resources, in one currency; it is not the saving, or the cost, of the migration.
Estimated monthly cost for the resources that could be compared (730 h, list prices)
A saving or an increase is stated only over the source resources that both sides price in full (0 resources); the other resources are listed under cost groups with why they are not computed, and are in no figure here.
Not in this sum: 140 source resources (0 with a price known and the quantity unknown, 140 outside the model): aws_iam_role_policy_attachment (24), aws_iam_policy (18), aws_security_group (12), aws_iam_role (10), aws_security_group_rule (7), random_string (6), 39 more kinds of other kinds. They are not zero and not free.
No line is summed: the computed subtotal is empty. A line of the class OUT_OF_MODEL is not computed, is in no sum and is never filled in as zero.
No source unit is priced on both sides: there is no computed subtotal.
This is the computed subset of 0 of 140 source resources, not the estate's whole cost. The resources outside it (price known with the quantity unknown, or out of the model) are in no total, saving or percentage of this comparison. A difference between the source and the target subtotal is the difference of those list prices over the same resources, in one currency; it is not the saving, or the cost, of the migration.
Source against target over the computed units: NOT COMPARED; saving of the target not given (no source unit is priced on both sides, so there is no computed subtotal to compare).
Outside this comparison: STACKIT, target only, no source line stands against them: 1 line, 72.70 EUR; STACKIT, priced lines of units that are not compared: 4 lines, 805.64 EUR. The target-only lines are in the STACKIT total, and no saving includes them.
Technical mapping
Beside the prices, what each side of a computed pair states about its size and performance. A fact a side does not state is shown as not stated, never filled in. A pair whose cost is only partly known (a component with no price) is listed too, with how many of its components are priced under its name; it is in no computed subtotal. The same table is financial/mapping.csv.
| Pair | Side | Resource | vCPU | RAM | CPU model | Disk | IOPS | Throughput | High availability |
|---|---|---|---|---|---|---|---|---|---|
module.dependencies.aws_mq_broker.mqnot mapped; target stackit_rabbitmq_instance.dependencies_mqSOURCE: 0 components priced, 2 not priced: mq storage (module.dependencies.aws_mq_broker.mq.storage) PRICE_NOT_FOUND; mq broker hours (module.dependencies.aws_mq_broker.mq) PRICE_NOT_FOUND. TARGET: 1 component priced, 0 not priced; the priced component alone sums to 621.52 EUR. These sums cover the priced components only: a partial figure, not the cost of this resource, and in no computed subtotal, comparison or saving. | Source | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped |
| Target | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | |
module.dependencies.module.checkout_elasticache_redis.aws_elasticache_replication_group.defaultnot mapped; target stackit_valkey_instance.dependencies_checkout_elasticache_redis_defaultSOURCE: 0 components priced, 1 not priced: cache node hours (module.dependencies.module.checkout_elasticache_redis.aws_elasticache_replication_group.default) PRICE_NOT_FOUND. TARGET: 1 component priced, 0 not priced; the priced component alone sums to 72.97 EUR. These sums cover the priced components only: a partial figure, not the cost of this resource, and in no computed subtotal, comparison or saving. | Source | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped |
| Target | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | |
module.dependencies.module.orders_rds.aws_rds_cluster.thisnot mapped; target stackit_postgresflex_instance.dependencies_orders_rds_thisSOURCE: 0 components priced, 2 not priced: aurora io requests (module.dependencies.module.orders_rds.aws_rds_cluster.this.io) PRICE_NOT_FOUND; storage capacity (billed per GB) (module.dependencies.module.orders_rds.aws_rds_cluster.this.storage) PRICE_NOT_FOUND. TARGET: 1 component priced, 2 not priced: storage capacity (billed per GB) (stackit_postgresflex_instance.dependencies_orders_rds_this) TARGET_NOT_CHOSEN; storage class fee (billed per disk) (stackit_postgresflex_instance.dependencies_orders_rds_this) TARGET_NOT_CHOSEN; the priced component alone sums to 91.97 EUR. These sums cover the priced components only: a partial figure, not the cost of this resource, and in no computed subtotal, comparison or saving. | Source | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped |
| Target | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | |
module.retail_app_ecs.aws_ecs_cluster.clusternot mapped; target stackit_ske_cluster.retail_app_ecs_clusterSOURCE: 0 components priced, 10 not priced: fargate memory hours (module.retail_app_ecs.module.carts_service.aws_ecs_service.this.memory) PRICE_NOT_FOUND; fargate vcpu hours (module.retail_app_ecs.module.carts_service.aws_ecs_service.this.vcpu) PRICE_NOT_FOUND; fargate memory hours (module.retail_app_ecs.module.catalog_service.aws_ecs_service.this.memory) PRICE_NOT_FOUND; fargate vcpu hours (module.retail_app_ecs.module.catalog_service.aws_ecs_service.this.vcpu) PRICE_NOT_FOUND; fargate memory hours (module.retail_app_ecs.module.checkout_service.aws_ecs_service.this.memory) PRICE_NOT_FOUND; fargate vcpu hours (module.retail_app_ecs.module.checkout_service.aws_ecs_service.this.vcpu) PRICE_NOT_FOUND; fargate memory hours (module.retail_app_ecs.module.orders_service.aws_ecs_service.this.memory) PRICE_NOT_FOUND; fargate vcpu hours (module.retail_app_ecs.module.orders_service.aws_ecs_service.this.vcpu) PRICE_NOT_FOUND; fargate memory hours (module.retail_app_ecs.module.ui_service.aws_ecs_service.this.memory) PRICE_NOT_FOUND; fargate vcpu hours (module.retail_app_ecs.module.ui_service.aws_ecs_service.this.vcpu) PRICE_NOT_FOUND. TARGET: 1 component priced, 1 not priced: node pool hours (stackit_ske_cluster.retail_app_ecs_cluster.node_pool.workloads) TARGET_NOT_CHOSEN; the priced component alone sums to 72.70 EUR. These sums cover the priced components only: a partial figure, not the cost of this resource, and in no computed subtotal, comparison or saving. | Source | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped |
| Target | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | |
module.retail_app_ecs.module.carts_service.aws_ecs_service.thisnot mapped; target stackit_ske_cluster.retail_app_ecs_clusterSOURCE: 0 components priced, 10 not priced: fargate memory hours (module.retail_app_ecs.module.carts_service.aws_ecs_service.this.memory) PRICE_NOT_FOUND; fargate vcpu hours (module.retail_app_ecs.module.carts_service.aws_ecs_service.this.vcpu) PRICE_NOT_FOUND; fargate memory hours (module.retail_app_ecs.module.catalog_service.aws_ecs_service.this.memory) PRICE_NOT_FOUND; fargate vcpu hours (module.retail_app_ecs.module.catalog_service.aws_ecs_service.this.vcpu) PRICE_NOT_FOUND; fargate memory hours (module.retail_app_ecs.module.checkout_service.aws_ecs_service.this.memory) PRICE_NOT_FOUND; fargate vcpu hours (module.retail_app_ecs.module.checkout_service.aws_ecs_service.this.vcpu) PRICE_NOT_FOUND; fargate memory hours (module.retail_app_ecs.module.orders_service.aws_ecs_service.this.memory) PRICE_NOT_FOUND; fargate vcpu hours (module.retail_app_ecs.module.orders_service.aws_ecs_service.this.vcpu) PRICE_NOT_FOUND; fargate memory hours (module.retail_app_ecs.module.ui_service.aws_ecs_service.this.memory) PRICE_NOT_FOUND; fargate vcpu hours (module.retail_app_ecs.module.ui_service.aws_ecs_service.this.vcpu) PRICE_NOT_FOUND. TARGET: 1 component priced, 1 not priced: node pool hours (stackit_ske_cluster.retail_app_ecs_cluster.node_pool.workloads) TARGET_NOT_CHOSEN; the priced component alone sums to 72.70 EUR. These sums cover the priced components only: a partial figure, not the cost of this resource, and in no computed subtotal, comparison or saving. | Source | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped |
| Target | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | |
module.retail_app_ecs.module.catalog_service.aws_ecs_service.thisnot mapped; target stackit_ske_cluster.retail_app_ecs_clusterSOURCE: 0 components priced, 10 not priced: fargate memory hours (module.retail_app_ecs.module.carts_service.aws_ecs_service.this.memory) PRICE_NOT_FOUND; fargate vcpu hours (module.retail_app_ecs.module.carts_service.aws_ecs_service.this.vcpu) PRICE_NOT_FOUND; fargate memory hours (module.retail_app_ecs.module.catalog_service.aws_ecs_service.this.memory) PRICE_NOT_FOUND; fargate vcpu hours (module.retail_app_ecs.module.catalog_service.aws_ecs_service.this.vcpu) PRICE_NOT_FOUND; fargate memory hours (module.retail_app_ecs.module.checkout_service.aws_ecs_service.this.memory) PRICE_NOT_FOUND; fargate vcpu hours (module.retail_app_ecs.module.checkout_service.aws_ecs_service.this.vcpu) PRICE_NOT_FOUND; fargate memory hours (module.retail_app_ecs.module.orders_service.aws_ecs_service.this.memory) PRICE_NOT_FOUND; fargate vcpu hours (module.retail_app_ecs.module.orders_service.aws_ecs_service.this.vcpu) PRICE_NOT_FOUND; fargate memory hours (module.retail_app_ecs.module.ui_service.aws_ecs_service.this.memory) PRICE_NOT_FOUND; fargate vcpu hours (module.retail_app_ecs.module.ui_service.aws_ecs_service.this.vcpu) PRICE_NOT_FOUND. TARGET: 1 component priced, 1 not priced: node pool hours (stackit_ske_cluster.retail_app_ecs_cluster.node_pool.workloads) TARGET_NOT_CHOSEN; the priced component alone sums to 72.70 EUR. These sums cover the priced components only: a partial figure, not the cost of this resource, and in no computed subtotal, comparison or saving. | Source | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped |
| Target | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | |
module.retail_app_ecs.module.checkout_service.aws_ecs_service.thisnot mapped; target stackit_ske_cluster.retail_app_ecs_clusterSOURCE: 0 components priced, 10 not priced: fargate memory hours (module.retail_app_ecs.module.carts_service.aws_ecs_service.this.memory) PRICE_NOT_FOUND; fargate vcpu hours (module.retail_app_ecs.module.carts_service.aws_ecs_service.this.vcpu) PRICE_NOT_FOUND; fargate memory hours (module.retail_app_ecs.module.catalog_service.aws_ecs_service.this.memory) PRICE_NOT_FOUND; fargate vcpu hours (module.retail_app_ecs.module.catalog_service.aws_ecs_service.this.vcpu) PRICE_NOT_FOUND; fargate memory hours (module.retail_app_ecs.module.checkout_service.aws_ecs_service.this.memory) PRICE_NOT_FOUND; fargate vcpu hours (module.retail_app_ecs.module.checkout_service.aws_ecs_service.this.vcpu) PRICE_NOT_FOUND; fargate memory hours (module.retail_app_ecs.module.orders_service.aws_ecs_service.this.memory) PRICE_NOT_FOUND; fargate vcpu hours (module.retail_app_ecs.module.orders_service.aws_ecs_service.this.vcpu) PRICE_NOT_FOUND; fargate memory hours (module.retail_app_ecs.module.ui_service.aws_ecs_service.this.memory) PRICE_NOT_FOUND; fargate vcpu hours (module.retail_app_ecs.module.ui_service.aws_ecs_service.this.vcpu) PRICE_NOT_FOUND. TARGET: 1 component priced, 1 not priced: node pool hours (stackit_ske_cluster.retail_app_ecs_cluster.node_pool.workloads) TARGET_NOT_CHOSEN; the priced component alone sums to 72.70 EUR. These sums cover the priced components only: a partial figure, not the cost of this resource, and in no computed subtotal, comparison or saving. | Source | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped |
| Target | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | |
module.retail_app_ecs.module.orders_service.aws_ecs_service.thisnot mapped; target stackit_ske_cluster.retail_app_ecs_clusterSOURCE: 0 components priced, 10 not priced: fargate memory hours (module.retail_app_ecs.module.carts_service.aws_ecs_service.this.memory) PRICE_NOT_FOUND; fargate vcpu hours (module.retail_app_ecs.module.carts_service.aws_ecs_service.this.vcpu) PRICE_NOT_FOUND; fargate memory hours (module.retail_app_ecs.module.catalog_service.aws_ecs_service.this.memory) PRICE_NOT_FOUND; fargate vcpu hours (module.retail_app_ecs.module.catalog_service.aws_ecs_service.this.vcpu) PRICE_NOT_FOUND; fargate memory hours (module.retail_app_ecs.module.checkout_service.aws_ecs_service.this.memory) PRICE_NOT_FOUND; fargate vcpu hours (module.retail_app_ecs.module.checkout_service.aws_ecs_service.this.vcpu) PRICE_NOT_FOUND; fargate memory hours (module.retail_app_ecs.module.orders_service.aws_ecs_service.this.memory) PRICE_NOT_FOUND; fargate vcpu hours (module.retail_app_ecs.module.orders_service.aws_ecs_service.this.vcpu) PRICE_NOT_FOUND; fargate memory hours (module.retail_app_ecs.module.ui_service.aws_ecs_service.this.memory) PRICE_NOT_FOUND; fargate vcpu hours (module.retail_app_ecs.module.ui_service.aws_ecs_service.this.vcpu) PRICE_NOT_FOUND. TARGET: 1 component priced, 1 not priced: node pool hours (stackit_ske_cluster.retail_app_ecs_cluster.node_pool.workloads) TARGET_NOT_CHOSEN; the priced component alone sums to 72.70 EUR. These sums cover the priced components only: a partial figure, not the cost of this resource, and in no computed subtotal, comparison or saving. | Source | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped |
| Target | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | |
module.retail_app_ecs.module.ui_service.aws_ecs_service.thisnot mapped; target stackit_ske_cluster.retail_app_ecs_clusterSOURCE: 0 components priced, 10 not priced: fargate memory hours (module.retail_app_ecs.module.carts_service.aws_ecs_service.this.memory) PRICE_NOT_FOUND; fargate vcpu hours (module.retail_app_ecs.module.carts_service.aws_ecs_service.this.vcpu) PRICE_NOT_FOUND; fargate memory hours (module.retail_app_ecs.module.catalog_service.aws_ecs_service.this.memory) PRICE_NOT_FOUND; fargate vcpu hours (module.retail_app_ecs.module.catalog_service.aws_ecs_service.this.vcpu) PRICE_NOT_FOUND; fargate memory hours (module.retail_app_ecs.module.checkout_service.aws_ecs_service.this.memory) PRICE_NOT_FOUND; fargate vcpu hours (module.retail_app_ecs.module.checkout_service.aws_ecs_service.this.vcpu) PRICE_NOT_FOUND; fargate memory hours (module.retail_app_ecs.module.orders_service.aws_ecs_service.this.memory) PRICE_NOT_FOUND; fargate vcpu hours (module.retail_app_ecs.module.orders_service.aws_ecs_service.this.vcpu) PRICE_NOT_FOUND; fargate memory hours (module.retail_app_ecs.module.ui_service.aws_ecs_service.this.memory) PRICE_NOT_FOUND; fargate vcpu hours (module.retail_app_ecs.module.ui_service.aws_ecs_service.this.vcpu) PRICE_NOT_FOUND. TARGET: 1 component priced, 1 not priced: node pool hours (stackit_ske_cluster.retail_app_ecs_cluster.node_pool.workloads) TARGET_NOT_CHOSEN; the priced component alone sums to 72.70 EUR. These sums cover the priced components only: a partial figure, not the cost of this resource, and in no computed subtotal, comparison or saving. | Source | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped |
| Target | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | |
module.retail_app_ecs.module.alb.aws_lb.thisnot mapped; target stackit_application_load_balancer.retail_app_ecs_alb_thisSOURCE: 0 components priced, 2 not priced: load balancer capacity (module.retail_app_ecs.module.alb.aws_lb.this.capacity) PRICE_NOT_FOUND; load balancer hours (module.retail_app_ecs.module.alb.aws_lb.this) PRICE_NOT_FOUND. TARGET: 1 component priced, 0 not priced; the priced component alone sums to 19.18 EUR. These sums cover the priced components only: a partial figure, not the cost of this resource, and in no computed subtotal, comparison or saving. | Source | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped |
| Target | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped | not mapped |
A machine type is one of the types of the catalogue with at least the vCPUs and memory of the source (a burstable source may be offered shared types); a storage class is the one the draft names (the customer's answer or the variable's default), shown with the catalogue's own IOPS and throughput. This table states sizes; it is not a statement about the performance of the target against the source (no benchmark was run, and a CPU model that a side does not state is shown as not stated).
Assumptions
- Scenario: STANDARD_730H, 730 hours per period (the labelled standard month of 730 hours, the same on both sides).
- Assumption file: none was given, so every quantity is the source's own or unknown.
- Prices: net list prices of the price sources below, no discount and no contract price; no usage, traffic, egress, support or one-off migration cost is computed (what these figures are not).
Totals
The state of an estate row is the estate's: PARTIAL while any line of any source resource the model knows is not priced, a resource outside the modelled part included; the computed subtotal of the equal-scope comparison has a state of its own. Its amount is the modelled infrastructure subtotal (10 of 140 source resources): the sum of the lines that are priced; N is the number of source resources with a priced line and M all the source resources the model knows (a source resource is a Terraform resource; one migration unit can stand for several). A resource with no priced line (a load balancer, a bucket, a quantity the source does not state) is not in it, and the lines of a counted resource that are not priced are counted beside the amount and never filled in; so it is not the cost of the estate.
| Scope | Side | State | Amount | Priced lines | Lines not priced |
|---|---|---|---|---|---|
| estate (140 source resources), priced part: modelled infrastructure subtotal (10 of 140 source resources) | SOURCE | NONE | none | 0 | 30 30 PRICE NOT FOUND |
| estate (140 source resources), priced part: modelled infrastructure subtotal (10 of 140 source resources) | TARGET | PARTIAL | 878.34 EUR (3 lines on unconfirmed defaults) | 5 | 9 1 AMBIGUOUS, 1 QUANTITY UNKNOWN, 7 TARGET NOT CHOSEN |
| service cache | SOURCE | NONE | none | 0 | 1 1 PRICE NOT FOUND |
| service cache | TARGET | FULL | 72.97 EUR | 1 | 0 |
| service containers | SOURCE | NONE | none | 0 | 10 10 PRICE NOT FOUND |
| service containers | TARGET | PARTIAL | 72.70 EUR | 1 | 1 1 TARGET NOT CHOSEN |
| service database | SOURCE | NONE | none | 0 | 9 9 PRICE NOT FOUND |
| service database | TARGET | PARTIAL | 91.97 EUR | 1 | 4 4 TARGET NOT CHOSEN |
| service messaging | SOURCE | NONE | none | 0 | 2 2 PRICE NOT FOUND |
| service messaging | TARGET | FULL | 621.52 EUR | 1 | 0 |
| service messaging_observability | TARGET | NONE | none | 0 | 1 1 QUANTITY UNKNOWN |
| service network | SOURCE | NONE | none | 0 | 6 6 PRICE NOT FOUND |
| service network | TARGET | FULL | 19.18 EUR | 1 | 0 |
| service platform | TARGET | NONE | none | 0 | 2 1 AMBIGUOUS, 1 TARGET NOT CHOSEN |
| service search | SOURCE | NONE | none | 0 | 2 2 PRICE NOT FOUND |
| service search | TARGET | NONE | none | 0 | 1 1 TARGET NOT CHOSEN |
FULL: every line of the scope is priced. PARTIAL: the priced lines are summed and the others are counted, never filled in. NONE: no line of the scope has an amount. An unknown quantity is neither zero nor one, and a line without a price is never free.
Cost groups
Every source unit is in one of three groups. Computed: every line of it, on both sides, has an amount; only these lines make the computed subtotals, so the source and the target subtotal cover the same units and may be compared. Quantity unknown: the price of each open line is known and its quantity is not; the quantity that is needed is named. Not computed: a unit of a type out of the model (no quantity driver; the coverage table counts those apart, by type), a unit the partial draft refuses for a missing input (the coverage table counts those apart as refused), a unit with no line on one side, or a line without a price record; listed by resource with the reason, never zero and never free. It holds every unit counted as out of the model or as refused and the units priced on one side only, so its count is the larger.
Computed (0 items)
Price known, quantity unknown (0)
None.
Not computed (20)
Not computed, and not zero: each resource with why.
| Source units | Why it is not computed |
|---|---|
module.dependencies.aws_mq_broker.mq | SOURCE: 0 components priced, 2 not priced: mq storage (module.dependencies.aws_mq_broker.mq.storage) PRICE_NOT_FOUND; mq broker hours (module.dependencies.aws_mq_broker.mq) PRICE_NOT_FOUND. TARGET: 1 component priced, 0 not priced; the priced component alone sums to 621.52 EUR. These sums cover the priced components only: a partial figure, not the cost of this resource, and in no computed subtotal, comparison or saving. source:module.dependencies.aws_mq_broker.mq.storage:mq_storage: PRICE_NOT_FOUND: region unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it); quantity unknown: the storage a broker uses per month is what its messages need, a measurement of use; the source does not state it source:module.dependencies.aws_mq_broker.mq:mq_broker_hours: PRICE_NOT_FOUND: region unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it) |
module.dependencies.module.catalog_opensearch.aws_opensearch_domain.this | source:module.dependencies.module.catalog_opensearch.aws_opensearch_domain.this.storage:search_storage: PRICE_NOT_FOUND: region unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it) source:module.dependencies.module.catalog_opensearch.aws_opensearch_domain.this:search_instance_hours: PRICE_NOT_FOUND: region unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it) target:stackit_opensearch_instance.dependencies_catalog_opensearch_this:service_plan_hours: TARGET_NOT_CHOSEN: NOT_ASSESSED: the draft does not choose the opensearch plan (plan_name is var.dependencies_catalog_opensearch_this_plan_name): no SKU is named; to name the SKU of this line, state the value of plan_name in the assumption file (--assumptions FILE): variable target_choice, subject stackit_opensearch_instance.dependencies_catalog_opensearch_this (or the source unit it stands for), value a plan of the catalogue such as "stackit-rabbitmq-2.4.10-single" (an Observability plan is named like its SKU, "Observability-Monitoring-Medium-EU01") |
module.dependencies.module.catalog_rds.aws_rds_cluster.this | source:module.dependencies.module.catalog_rds.aws_rds_cluster.this.io:aurora_io_requests: PRICE_NOT_FOUND: region unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it); quantity unknown: the I/O requests an Aurora Standard cluster makes are a measurement of use the source does not state source:module.dependencies.module.catalog_rds.aws_rds_cluster.this.storage:db_storage: PRICE_NOT_FOUND: region unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it); quantity unknown: the storage an Aurora cluster consumes grows with its data and is billed by the GB-month of use: a measurement of use the source does not state target:stackit_mariadb_instance.dependencies_catalog_rds_this:service_plan_hours: TARGET_NOT_CHOSEN: NOT_ASSESSED: the draft does not choose the mariadb plan (plan_name is var.dependencies_catalog_rds_this_plan_name): no SKU is named; to name the SKU of this line, state the value of plan_name in the assumption file (--assumptions FILE): variable target_choice, subject stackit_mariadb_instance.dependencies_catalog_rds_this (or the source unit it stands for), value a plan of the catalogue such as "stackit-rabbitmq-2.4.10-single" (an Observability plan is named like its SKU, "Observability-Monitoring-Medium-EU01") |
module.dependencies.module.catalog_rds.aws_rds_cluster_instance.this | no TARGET line: the draft has no priced component for it source:module.dependencies.module.catalog_rds.aws_rds_cluster_instance.this:db_instance_hours: PRICE_NOT_FOUND: region unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it) |
module.dependencies.module.checkout_elasticache_redis.aws_elasticache_replication_group.default | SOURCE: 0 components priced, 1 not priced: cache node hours (module.dependencies.module.checkout_elasticache_redis.aws_elasticache_replication_group.default) PRICE_NOT_FOUND. TARGET: 1 component priced, 0 not priced; the priced component alone sums to 72.97 EUR. These sums cover the priced components only: a partial figure, not the cost of this resource, and in no computed subtotal, comparison or saving. source:module.dependencies.module.checkout_elasticache_redis.aws_elasticache_replication_group.default:cache_node_hours: PRICE_NOT_FOUND: region unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it) |
module.dependencies.module.dynamodb_carts.aws_dynamodb_table.this | source:module.dependencies.module.dynamodb_carts.aws_dynamodb_table.this.read_requests:dynamodb_requests: PRICE_NOT_FOUND: region unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it); quantity unknown: the read request units an on-demand table serves per month are a measurement of use; the source does not state them source:module.dependencies.module.dynamodb_carts.aws_dynamodb_table.this.storage:dynamodb_storage: PRICE_NOT_FOUND: region unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it); quantity unknown: the data a table holds per month is a measurement of use; the source does not state it source:module.dependencies.module.dynamodb_carts.aws_dynamodb_table.this.write_requests:dynamodb_requests: PRICE_NOT_FOUND: region unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it); quantity unknown: the write request units an on-demand table serves per month are a measurement of use; the source does not state them target:stackit_mongodbflex_instance.dynamodb_tables:db_instance_hours: TARGET_NOT_CHOSEN: NOT_ASSESSED: the draft does not choose the MongoDB Flex flavor (flavor.cpu, flavor.ram and options.type is flavor.cpu = var.dynamodb_tables_cpu, flavor.ram = var.dynamodb_tables_ram): no SKU is named; to name the SKU of this line, state the value of flavor in the assumption file (--assumptions FILE): variable target_choice, subject stackit_mongodbflex_instance.dynamodb_tables (or the source unit it stands for), value "<cpu>.<ram>-<Single|Replica|Sharded>" such as "2.4-Single" |
module.dependencies.module.orders_rds.aws_rds_cluster.this | SOURCE: 0 components priced, 2 not priced: aurora io requests (module.dependencies.module.orders_rds.aws_rds_cluster.this.io) PRICE_NOT_FOUND; storage capacity (billed per GB) (module.dependencies.module.orders_rds.aws_rds_cluster.this.storage) PRICE_NOT_FOUND. TARGET: 1 component priced, 2 not priced: storage capacity (billed per GB) (stackit_postgresflex_instance.dependencies_orders_rds_this) TARGET_NOT_CHOSEN; storage class fee (billed per disk) (stackit_postgresflex_instance.dependencies_orders_rds_this) TARGET_NOT_CHOSEN; the priced component alone sums to 91.97 EUR. These sums cover the priced components only: a partial figure, not the cost of this resource, and in no computed subtotal, comparison or saving. source:module.dependencies.module.orders_rds.aws_rds_cluster.this.io:aurora_io_requests: PRICE_NOT_FOUND: region unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it); quantity unknown: the I/O requests an Aurora Standard cluster makes are a measurement of use the source does not state source:module.dependencies.module.orders_rds.aws_rds_cluster.this.storage:db_storage: PRICE_NOT_FOUND: region unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it); quantity unknown: the storage an Aurora cluster consumes grows with its data and is billed by the GB-month of use: a measurement of use the source does not state target:stackit_postgresflex_instance.dependencies_orders_rds_this:db_storage: TARGET_NOT_CHOSEN: NOT_ASSESSED: the draft does not choose the PostgreSQL Flex storage class (storage.class is var.postgresflex_storage_class): no SKU is named; to name the SKU of this line, state the value of storage.class in the assumption file (--assumptions FILE): variable target_choice, subject stackit_postgresflex_instance.dependencies_orders_rds_this.storage_class, value a storage class such as "premium-perf6-stackit", or answer the request target.postgres.storage of the run (review/inputs.yaml), which also changes the draft target:stackit_postgresflex_instance.dependencies_orders_rds_this:db_storage_perf_class: TARGET_NOT_CHOSEN: NOT_ASSESSED: the draft does not choose the PostgreSQL Flex storage class (storage.class is var.postgresflex_storage_class): no SKU is named; to name the SKU of this line, state the value of storage.class in the assumption file (--assumptions FILE): variable target_choice, subject stackit_postgresflex_instance.dependencies_orders_rds_this.storage_class, value a storage class such as "premium-perf6-stackit", or answer the request target.postgres.storage of the run (review/inputs.yaml), which also changes the draft |
module.dependencies.module.orders_rds.aws_rds_cluster_instance.this | no TARGET line: the draft has no priced component for it source:module.dependencies.module.orders_rds.aws_rds_cluster_instance.this:db_instance_hours: PRICE_NOT_FOUND: region unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it) |
module.retail_app_ecs.aws_cloudwatch_event_rule.ecs_events | no quantity driver for aws_cloudwatch_event_rule in this build: its cost is not computed (it is not zero) no SOURCE line: the model does not compute the cost of the source no TARGET line: the draft has no priced component for it |
module.retail_app_ecs.aws_cloudwatch_event_target.ecs_events_target | no quantity driver for aws_cloudwatch_event_target in this build: its cost is not computed (it is not zero) no SOURCE line: the model does not compute the cost of the source no TARGET line: the draft has no priced component for it |
module.retail_app_ecs.aws_cloudwatch_log_group.ecs_container_insights | no quantity driver for aws_cloudwatch_log_group in this build: its cost is not computed (it is not zero) no SOURCE line: the model does not compute the cost of the source no TARGET line: the draft has no priced component for it |
module.retail_app_ecs.aws_cloudwatch_log_group.ecs_tasks | no quantity driver for aws_cloudwatch_log_group in this build: its cost is not computed (it is not zero) no SOURCE line: the model does not compute the cost of the source target:stackit_logs_instance.logs_retention_180d:list_price: QUANTITY_UNKNOWN: the list price of ST-0171601 is known (1.2 EUR per Gigabyte Ingestion); the quantity is the gigabytes of log data it takes in (the retention of each gigabyte is a SKU of its own), a measurement of use the draft does not state, so it is not multiplied; to price it, state the gigabytes of log data one instance takes in during the scenario's period in the assumption file (--assumptions FILE): variable log_ingestion, unit GB, subject stackit_logs_instance.logs_retention_180d (or the source unit it stands for; another data unit converts); without it the line stays unpriced |
module.retail_app_ecs.aws_ecs_cluster.cluster, module.retail_app_ecs.module.carts_service.aws_ecs_service.this, module.retail_app_ecs.module.catalog_service.aws_ecs_service.this, module.retail_app_ecs.module.checkout_service.aws_ecs_service.this, module.retail_app_ecs.module.orders_service.aws_ecs_service.this, module.retail_app_ecs.module.ui_service.aws_ecs_service.this | SOURCE: 0 components priced, 10 not priced: fargate memory hours (module.retail_app_ecs.module.carts_service.aws_ecs_service.this.memory) PRICE_NOT_FOUND; fargate vcpu hours (module.retail_app_ecs.module.carts_service.aws_ecs_service.this.vcpu) PRICE_NOT_FOUND; fargate memory hours (module.retail_app_ecs.module.catalog_service.aws_ecs_service.this.memory) PRICE_NOT_FOUND; fargate vcpu hours (module.retail_app_ecs.module.catalog_service.aws_ecs_service.this.vcpu) PRICE_NOT_FOUND; fargate memory hours (module.retail_app_ecs.module.checkout_service.aws_ecs_service.this.memory) PRICE_NOT_FOUND; fargate vcpu hours (module.retail_app_ecs.module.checkout_service.aws_ecs_service.this.vcpu) PRICE_NOT_FOUND; fargate memory hours (module.retail_app_ecs.module.orders_service.aws_ecs_service.this.memory) PRICE_NOT_FOUND; fargate vcpu hours (module.retail_app_ecs.module.orders_service.aws_ecs_service.this.vcpu) PRICE_NOT_FOUND; fargate memory hours (module.retail_app_ecs.module.ui_service.aws_ecs_service.this.memory) PRICE_NOT_FOUND; fargate vcpu hours (module.retail_app_ecs.module.ui_service.aws_ecs_service.this.vcpu) PRICE_NOT_FOUND. TARGET: 1 component priced, 1 not priced: node pool hours (stackit_ske_cluster.retail_app_ecs_cluster.node_pool.workloads) TARGET_NOT_CHOSEN; the priced component alone sums to 72.70 EUR. These sums cover the priced components only: a partial figure, not the cost of this resource, and in no computed subtotal, comparison or saving. NO_CHARGE: aws_ecs_cluster has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model source:module.retail_app_ecs.module.carts_service.aws_ecs_service.this.memory:fargate_memory_hours: PRICE_NOT_FOUND: region unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it) source:module.retail_app_ecs.module.carts_service.aws_ecs_service.this.vcpu:fargate_vcpu_hours: PRICE_NOT_FOUND: region unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it) source:module.retail_app_ecs.module.catalog_service.aws_ecs_service.this.memory:fargate_memory_hours: PRICE_NOT_FOUND: region unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it) source:module.retail_app_ecs.module.catalog_service.aws_ecs_service.this.vcpu:fargate_vcpu_hours: PRICE_NOT_FOUND: region unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it) source:module.retail_app_ecs.module.checkout_service.aws_ecs_service.this.memory:fargate_memory_hours: PRICE_NOT_FOUND: region unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it) source:module.retail_app_ecs.module.checkout_service.aws_ecs_service.this.vcpu:fargate_vcpu_hours: PRICE_NOT_FOUND: region unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it) source:module.retail_app_ecs.module.orders_service.aws_ecs_service.this.memory:fargate_memory_hours: PRICE_NOT_FOUND: region unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it) source:module.retail_app_ecs.module.orders_service.aws_ecs_service.this.vcpu:fargate_vcpu_hours: PRICE_NOT_FOUND: region unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it) source:module.retail_app_ecs.module.ui_service.aws_ecs_service.this.memory:fargate_memory_hours: PRICE_NOT_FOUND: region unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it) source:module.retail_app_ecs.module.ui_service.aws_ecs_service.this.vcpu:fargate_vcpu_hours: PRICE_NOT_FOUND: region unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it) target:stackit_ske_cluster.retail_app_ecs_cluster.node_pool.workloads:node_pool_hours: TARGET_NOT_CHOSEN: NOT_ASSESSED: the draft does not choose the server flavor (node_pools.machine_type is var.retail_app_ecs_cluster_machine_type): no SKU is named; to name the SKU of this line, state the value of node_pools.machine_type in the assumption file (--assumptions FILE): variable target_choice, subject stackit_ske_cluster.retail_app_ecs_cluster.node_pool.workloads, value a server flavor such as "g2i.4" target:stackit_ske_cluster.retail_app_ecs_cluster:cluster_hours: TARGET_ONLY: priced at 72.70 EUR and counted in the STACKIT total, but the source side holds no line of its family to stand against: outside the comparison, in no saving |
module.retail_app_ecs.aws_kms_key.cmk | no quantity driver for aws_kms_key in this build: its cost is not computed (it is not zero) no SOURCE line: the model does not compute the cost of the source target:stackit_kms_key.retail_app_ecs_cmk:list_price: TARGET_NOT_CHOSEN: the draft does not choose the key protection (protection is var.kms_protection): no SKU is named; the KMS API knows the protections "software" and "hsm": "software" has the list price ST-0124501 (0.00209102962 EUR per version/hour), "hsm" has no SKU in the public list; the number of key versions is not stated either, so no amount is built whichever is chosen |
module.retail_app_ecs.aws_secretsmanager_secret.catalog_db, module.retail_app_ecs.aws_secretsmanager_secret.catalog_opensearch, module.retail_app_ecs.aws_secretsmanager_secret.mq, module.retail_app_ecs.aws_secretsmanager_secret.orders_db | no quantity driver for aws_secretsmanager_secret in this build: its cost is not computed (it is not zero) no SOURCE line: the model does not compute the cost of the source target:stackit_secretsmanager_instance.migrated_secrets:list_price: AMBIGUOUS: 5 public SKUs match the Secrets Manager version hour (Secrets Manager-100-EU01, Secrets Manager-100k-EU01, Secrets Manager-10k-EU01, Secrets Manager-1M-EU01, Secrets Manager-1k-EU01): none is picked; the tier is read as the number of secret versions of the instance, which the draft does not state, and which the price list (1.0.44, page Security) and the documentation of the service (FAQ, 2026-11-02: "You pay per secret version") do not define: no tier is assumed |
module.retail_app_ecs.aws_service_discovery_private_dns_namespace.this | no quantity driver for aws_service_discovery_private_dns_namespace in this build: its cost is not computed (it is not zero) no SOURCE line: the model does not compute the cost of the source no TARGET line: the draft has no priced component for it |
module.retail_app_ecs.module.alb.aws_lb.this | SOURCE: 0 components priced, 2 not priced: load balancer capacity (module.retail_app_ecs.module.alb.aws_lb.this.capacity) PRICE_NOT_FOUND; load balancer hours (module.retail_app_ecs.module.alb.aws_lb.this) PRICE_NOT_FOUND. TARGET: 1 component priced, 0 not priced; the priced component alone sums to 19.18 EUR. These sums cover the priced components only: a partial figure, not the cost of this resource, and in no computed subtotal, comparison or saving. source:module.retail_app_ecs.module.alb.aws_lb.this.capacity:load_balancer_capacity: PRICE_NOT_FOUND: region unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it); quantity unknown: the capacity units a load balancer uses are a measurement of its traffic (new connections, active connections, bytes, rule evaluations); the source does not state them source:module.retail_app_ecs.module.alb.aws_lb.this:load_balancer_hours: PRICE_NOT_FOUND: region unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it) |
module.vpc.module.vpc.aws_eip.nat | target public ip: TARGET_NOT_CHOSEN: the draft holds no stackit_public_ip for module.vpc.module.vpc.aws_eip.nat, so the target side states nothing of this family for it (a person decides) and its source line stands without a priced counterpart no TARGET line: the draft has no priced component for it source:module.vpc.module.vpc.aws_eip.nat:public_ipv4_hours: PRICE_NOT_FOUND: region unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it) |
module.vpc.module.vpc.aws_internet_gateway.this | target data transfer out: PRICE_NOT_FOUND: the public STACKIT price list holds no SKU for data transfer out to the internet in region eu01 (1134 SKUs read, the per-GB traffic SKUs of a CDN and of a container registry are other services'); a service the list does not price is not free, and no price is taken from anywhere else no TARGET line: the draft has no priced component for it source:module.vpc.module.vpc.aws_internet_gateway.this.egress:internet_egress: PRICE_NOT_FOUND: region unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it); quantity unknown: the data an estate sends to the internet per month is a measurement of use; the source does not state it |
module.vpc.module.vpc.aws_nat_gateway.this | target NAT gateway: PRICE_NOT_FOUND: the public STACKIT price list holds no SKU for a NAT gateway or outbound address translation (SNAT) in region eu01 (1134 SKUs read, the per-GB traffic SKUs of a CDN and of a container registry are other services'); a service the list does not price is not free, and no price is taken from anywhere else no TARGET line: the draft has no priced component for it source:module.vpc.module.vpc.aws_nat_gateway.this.data:nat_gateway_data: PRICE_NOT_FOUND: region unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it); quantity unknown: the data a NAT gateway processes per month is a measurement of use; the source does not state it source:module.vpc.module.vpc.aws_nat_gateway.this:nat_gateway_hours: PRICE_NOT_FOUND: region unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it) |
No charge of its own (112)
Nothing to price, and not out of the model: AWS bills nothing for a resource of these types of its own.
| Source units | Why there is nothing to price |
|---|---|
module.dependencies.aws_iam_policy.carts_dynamo | NO_CHARGE: aws_iam_policy has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.dependencies.aws_security_group.catalog_opensearch_sg | NO_CHARGE: aws_security_group has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.dependencies.aws_security_group.mq | NO_CHARGE: aws_security_group has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.dependencies.aws_security_group_rule.allow_https_from_client | NO_CHARGE: aws_security_group_rule has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.dependencies.aws_security_group_rule.mq | NO_CHARGE: aws_security_group_rule has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.dependencies.module.catalog_opensearch.aws_opensearch_domain_policy.this | NO_CHARGE: aws_opensearch_domain_policy has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.dependencies.module.catalog_rds.aws_db_parameter_group.this | NO_CHARGE: aws_db_parameter_group has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.dependencies.module.catalog_rds.aws_db_subnet_group.this | NO_CHARGE: aws_db_subnet_group has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.dependencies.module.catalog_rds.aws_rds_cluster_parameter_group.this | NO_CHARGE: aws_rds_cluster_parameter_group has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.dependencies.module.catalog_rds.aws_security_group.this | NO_CHARGE: aws_security_group has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.dependencies.module.catalog_rds.aws_security_group_rule.default_ingress | NO_CHARGE: aws_security_group_rule has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.dependencies.module.checkout_elasticache_redis.aws_elasticache_parameter_group.default | NO_CHARGE: aws_elasticache_parameter_group has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.dependencies.module.checkout_elasticache_redis.aws_elasticache_subnet_group.default | NO_CHARGE: aws_elasticache_subnet_group has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.dependencies.module.checkout_elasticache_redis.module.aws_security_group.aws_security_group.cbd | NO_CHARGE: aws_security_group has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.dependencies.module.checkout_elasticache_redis.module.aws_security_group.aws_security_group_rule.keyed | NO_CHARGE: aws_security_group_rule has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.dependencies.module.orders_rds.aws_db_parameter_group.this | NO_CHARGE: aws_db_parameter_group has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.dependencies.module.orders_rds.aws_db_subnet_group.this | NO_CHARGE: aws_db_subnet_group has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.dependencies.module.orders_rds.aws_rds_cluster_parameter_group.this | NO_CHARGE: aws_rds_cluster_parameter_group has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.dependencies.module.orders_rds.aws_security_group.this | NO_CHARGE: aws_security_group has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.dependencies.module.orders_rds.aws_security_group_rule.default_ingress | NO_CHARGE: aws_security_group_rule has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.dependencies.random_password.mq_password | NO_CHARGE: random_password has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.dependencies.random_string.catalog_db_master | NO_CHARGE: random_string has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.dependencies.random_string.catalog_opensearch_master | NO_CHARGE: random_string has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.dependencies.random_string.orders_db_master | NO_CHARGE: random_string has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.aws_cloudwatch_log_resource_policy.eventbridge_ecs | NO_CHARGE: aws_cloudwatch_log_resource_policy has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.aws_iam_policy.catalog_policy | NO_CHARGE: aws_iam_policy has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.aws_iam_policy.orders_policy | NO_CHARGE: aws_iam_policy has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.aws_secretsmanager_secret_version.catalog_db | NO_CHARGE: aws_secretsmanager_secret_version has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.aws_secretsmanager_secret_version.catalog_opensearch | NO_CHARGE: aws_secretsmanager_secret_version has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.aws_secretsmanager_secret_version.mq | NO_CHARGE: aws_secretsmanager_secret_version has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.aws_secretsmanager_secret_version.orders_db | NO_CHARGE: aws_secretsmanager_secret_version has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.alb.aws_lb_listener.frontend_http_tcp | NO_CHARGE: aws_lb_listener has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.alb.aws_lb_target_group.main | NO_CHARGE: aws_lb_target_group has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.alb.aws_security_group.this | NO_CHARGE: aws_security_group has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.alb_sg.aws_security_group.this_name_prefix | NO_CHARGE: aws_security_group has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.alb_sg.aws_security_group_rule.egress_rules | NO_CHARGE: aws_security_group_rule has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.alb_sg.aws_security_group_rule.ingress_rules | NO_CHARGE: aws_security_group_rule has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.carts_service.aws_ecs_task_definition.this | NO_CHARGE: aws_ecs_task_definition has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.carts_service.aws_iam_policy.cloudwatch_agent | NO_CHARGE: aws_iam_policy has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.carts_service.aws_iam_policy.cloudwatch_logs | NO_CHARGE: aws_iam_policy has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.carts_service.aws_iam_policy.ecs_exec | NO_CHARGE: aws_iam_policy has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.carts_service.aws_iam_role.task_execution_role | NO_CHARGE: aws_iam_role has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.carts_service.aws_iam_role.task_role | NO_CHARGE: aws_iam_role has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.carts_service.aws_iam_role_policy_attachment.cloudwatch_agent | NO_CHARGE: aws_iam_role_policy_attachment has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.carts_service.aws_iam_role_policy_attachment.cloudwatch_logs | NO_CHARGE: aws_iam_role_policy_attachment has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.carts_service.aws_iam_role_policy_attachment.ecs_exec | NO_CHARGE: aws_iam_role_policy_attachment has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.carts_service.aws_iam_role_policy_attachment.task_execution_role_policy | NO_CHARGE: aws_iam_role_policy_attachment has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.carts_service.aws_iam_role_policy_attachment.task_role_additional | NO_CHARGE: aws_iam_role_policy_attachment has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.carts_service.aws_security_group.this | NO_CHARGE: aws_security_group has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.catalog_service.aws_ecs_task_definition.this | NO_CHARGE: aws_ecs_task_definition has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.catalog_service.aws_iam_policy.cloudwatch_agent | NO_CHARGE: aws_iam_policy has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.catalog_service.aws_iam_policy.cloudwatch_logs | NO_CHARGE: aws_iam_policy has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.catalog_service.aws_iam_policy.ecs_exec | NO_CHARGE: aws_iam_policy has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.catalog_service.aws_iam_role.task_execution_role | NO_CHARGE: aws_iam_role has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.catalog_service.aws_iam_role.task_role | NO_CHARGE: aws_iam_role has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.catalog_service.aws_iam_role_policy_attachment.cloudwatch_agent | NO_CHARGE: aws_iam_role_policy_attachment has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.catalog_service.aws_iam_role_policy_attachment.cloudwatch_logs | NO_CHARGE: aws_iam_role_policy_attachment has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.catalog_service.aws_iam_role_policy_attachment.ecs_exec | NO_CHARGE: aws_iam_role_policy_attachment has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.catalog_service.aws_iam_role_policy_attachment.task_execution_role_additional | NO_CHARGE: aws_iam_role_policy_attachment has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.catalog_service.aws_iam_role_policy_attachment.task_execution_role_policy | NO_CHARGE: aws_iam_role_policy_attachment has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.catalog_service.aws_security_group.this | NO_CHARGE: aws_security_group has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.checkout_service.aws_ecs_task_definition.this | NO_CHARGE: aws_ecs_task_definition has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.checkout_service.aws_iam_policy.cloudwatch_agent | NO_CHARGE: aws_iam_policy has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.checkout_service.aws_iam_policy.cloudwatch_logs | NO_CHARGE: aws_iam_policy has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.checkout_service.aws_iam_policy.ecs_exec | NO_CHARGE: aws_iam_policy has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.checkout_service.aws_iam_role.task_execution_role | NO_CHARGE: aws_iam_role has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.checkout_service.aws_iam_role.task_role | NO_CHARGE: aws_iam_role has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.checkout_service.aws_iam_role_policy_attachment.cloudwatch_agent | NO_CHARGE: aws_iam_role_policy_attachment has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.checkout_service.aws_iam_role_policy_attachment.cloudwatch_logs | NO_CHARGE: aws_iam_role_policy_attachment has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.checkout_service.aws_iam_role_policy_attachment.ecs_exec | NO_CHARGE: aws_iam_role_policy_attachment has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.checkout_service.aws_iam_role_policy_attachment.task_execution_role_policy | NO_CHARGE: aws_iam_role_policy_attachment has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.checkout_service.aws_iam_role_policy_attachment.task_role_additional | NO_CHARGE: aws_iam_role_policy_attachment has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.checkout_service.aws_security_group.this | NO_CHARGE: aws_security_group has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.orders_service.aws_ecs_task_definition.this | NO_CHARGE: aws_ecs_task_definition has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.orders_service.aws_iam_policy.cloudwatch_agent | NO_CHARGE: aws_iam_policy has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.orders_service.aws_iam_policy.cloudwatch_logs | NO_CHARGE: aws_iam_policy has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.orders_service.aws_iam_policy.ecs_exec | NO_CHARGE: aws_iam_policy has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.orders_service.aws_iam_role.task_execution_role | NO_CHARGE: aws_iam_role has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.orders_service.aws_iam_role.task_role | NO_CHARGE: aws_iam_role has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.orders_service.aws_iam_role_policy_attachment.cloudwatch_agent | NO_CHARGE: aws_iam_role_policy_attachment has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.orders_service.aws_iam_role_policy_attachment.cloudwatch_logs | NO_CHARGE: aws_iam_role_policy_attachment has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.orders_service.aws_iam_role_policy_attachment.ecs_exec | NO_CHARGE: aws_iam_role_policy_attachment has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.orders_service.aws_iam_role_policy_attachment.task_execution_role_additional | NO_CHARGE: aws_iam_role_policy_attachment has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.orders_service.aws_iam_role_policy_attachment.task_execution_role_policy | NO_CHARGE: aws_iam_role_policy_attachment has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.orders_service.aws_security_group.this | NO_CHARGE: aws_security_group has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.ui_service.aws_ecs_task_definition.this | NO_CHARGE: aws_ecs_task_definition has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.ui_service.aws_iam_policy.cloudwatch_agent | NO_CHARGE: aws_iam_policy has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.ui_service.aws_iam_policy.cloudwatch_logs | NO_CHARGE: aws_iam_policy has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.ui_service.aws_iam_policy.ecs_exec | NO_CHARGE: aws_iam_policy has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.ui_service.aws_iam_role.task_execution_role | NO_CHARGE: aws_iam_role has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.ui_service.aws_iam_role.task_role | NO_CHARGE: aws_iam_role has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.ui_service.aws_iam_role_policy_attachment.cloudwatch_agent | NO_CHARGE: aws_iam_role_policy_attachment has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.ui_service.aws_iam_role_policy_attachment.cloudwatch_logs | NO_CHARGE: aws_iam_role_policy_attachment has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.ui_service.aws_iam_role_policy_attachment.ecs_exec | NO_CHARGE: aws_iam_role_policy_attachment has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.ui_service.aws_iam_role_policy_attachment.task_execution_role_policy | NO_CHARGE: aws_iam_role_policy_attachment has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.module.ui_service.aws_security_group.this | NO_CHARGE: aws_security_group has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.random_id.eventbridge_suffix | NO_CHARGE: random_id has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.random_string.random_catalog_secret | NO_CHARGE: random_string has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.random_string.random_mq_secret | NO_CHARGE: random_string has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.retail_app_ecs.random_string.random_orders_secret | NO_CHARGE: random_string has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.vpc.module.vpc.aws_default_network_acl.this | NO_CHARGE: aws_default_network_acl has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.vpc.module.vpc.aws_default_route_table.default | NO_CHARGE: aws_default_route_table has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.vpc.module.vpc.aws_default_security_group.this | NO_CHARGE: aws_default_security_group has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.vpc.module.vpc.aws_route.private_nat_gateway | NO_CHARGE: aws_route has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.vpc.module.vpc.aws_route.public_internet_gateway | NO_CHARGE: aws_route has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.vpc.module.vpc.aws_route_table.private | NO_CHARGE: aws_route_table has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.vpc.module.vpc.aws_route_table.public | NO_CHARGE: aws_route_table has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.vpc.module.vpc.aws_route_table_association.private | NO_CHARGE: aws_route_table_association has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.vpc.module.vpc.aws_route_table_association.public | NO_CHARGE: aws_route_table_association has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.vpc.module.vpc.aws_subnet.private | NO_CHARGE: aws_subnet has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.vpc.module.vpc.aws_subnet.public | NO_CHARGE: aws_subnet has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
module.vpc.module.vpc.aws_vpc.this | NO_CHARGE: aws_vpc has no charge of its own (see the billable coverage): there is nothing to price, it is billed, if at all, through the resource it belongs to or configures, and it is not out of the model |
Source against target, by scope
| Scope | Comparability | Saving or increase | Why |
|---|---|---|---|
| estate (140 source resources), priced part: modelled infrastructure subtotal (10 of 140 source resources) | TARGET ONLY | not given | TARGET_ONLY: the source has no priced component. Outside this comparison: STACKIT, target only, no source line stands against them: 1 line, 72.70 EUR. The target-only lines are in the STACKIT total, and no saving includes them. |
| service cache | TARGET ONLY | not given | TARGET_ONLY: the source has no priced component |
| service containers | SCOPE UNEQUAL | not given | SCOPE_UNEQUAL: the sides cover different source units (source [unit:module.retail_app_ecs.module.carts_service.aws_ecs_service.this unit:module.retail_app_ecs.module.catalog_service.aws_ecs_service.this unit:module.retail_app_ecs.module.checkout_service.aws_ecs_service.this unit:module.retail_app_ecs.module.orders_service.aws_ecs_service.this unit:module.retail_app_ecs.module.ui_service.aws_ecs_service.this], target [unit:module.retail_app_ecs.aws_ecs_cluster.cluster unit:module.retail_app_ecs.module.carts_service.aws_ecs_service.this unit:module.retail_app_ecs.module.catalog_service.aws_ecs_service.this unit:module.retail_app_ecs.module.checkout_service.aws_ecs_service.this unit:module.retail_app_ecs.module.orders_service.aws_ecs_service.this unit:module.retail_app_ecs.module.ui_service.aws_ecs_service.this]). Outside this comparison: STACKIT, target only, no source line stands against them: 1 line, 72.70 EUR. The target-only lines are in the STACKIT total, and no saving includes them. |
| service database | TARGET ONLY | not given | TARGET_ONLY: the source has no priced component |
| service messaging | TARGET ONLY | not given | TARGET_ONLY: the source has no priced component |
| service messaging_observability | TARGET ONLY | not given | TARGET_ONLY: there is no source total |
| service network | TARGET ONLY | not given | TARGET_ONLY: the source has no priced component |
| service platform | TARGET ONLY | not given | TARGET_ONLY: there is no source total |
| service search | COMPARABLE | not given | NONE: neither side has a priced component |
A difference between the source and the target subtotal is the difference of those list prices over the same resources, in one currency; it is not the saving, or the cost, of the migration.
Lines
| Side | Subject | Class | Quantity | Price record | Amount | State |
|---|---|---|---|---|---|---|
| SOURCE | module.dependencies.aws_mq_broker.mqmq broker hours; source units module.dependencies.aws_mq_broker.mq | OUT_OF_MODEL not computed, not zero: price not found | 1 broker over 730 h SOURCE KNOWN | no price record none | none | PRICE NOT FOUNDAWS_REGION_NEEDEDregion unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it) |
| SOURCE | module.dependencies.aws_mq_broker.mq.storagemq storage; source units module.dependencies.aws_mq_broker.mq | OUT_OF_MODEL not computed, not zero: price not found | not known UNKNOWN | no price record none | none | PRICE NOT FOUNDAWS_REGION_NEEDEDregion unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it); quantity unknown: the storage a broker uses per month is what its messages need, a measurement of use; the source does not state it |
| SOURCE | module.dependencies.module.catalog_opensearch.aws_opensearch_domain.thissearch instance hours; source units module.dependencies.module.catalog_opensearch.aws_opensearch_domain.this | OUT_OF_MODEL not computed, not zero: price not found | 1 instance over 730 h SOURCE KNOWN | no price record none | none | PRICE NOT FOUNDAWS_REGION_NEEDEDregion unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it) |
| SOURCE | module.dependencies.module.catalog_opensearch.aws_opensearch_domain.this.storagesearch storage; source units module.dependencies.module.catalog_opensearch.aws_opensearch_domain.this | OUT_OF_MODEL not computed, not zero: price not found | 50 GiB SOURCE KNOWN | no price record none | none | PRICE NOT FOUNDAWS_REGION_NEEDEDregion unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it) |
| SOURCE | module.dependencies.module.catalog_rds.aws_rds_cluster.this.storagedb storage; source units module.dependencies.module.catalog_rds.aws_rds_cluster.this | OUT_OF_MODEL not computed, not zero: price not found | not known UNKNOWN | no price record none | none | PRICE NOT FOUNDAWS_REGION_NEEDEDregion unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it); quantity unknown: the storage an Aurora cluster consumes grows with its data and is billed by the GB-month of use: a measurement of use the source does not state |
| SOURCE | module.dependencies.module.catalog_rds.aws_rds_cluster.this.ioaurora io requests; source units module.dependencies.module.catalog_rds.aws_rds_cluster.this | OUT_OF_MODEL not computed, not zero: price not found | not known UNKNOWN | no price record none | none | PRICE NOT FOUNDAWS_REGION_NEEDEDregion unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it); quantity unknown: the I/O requests an Aurora Standard cluster makes are a measurement of use the source does not state |
| SOURCE | module.dependencies.module.catalog_rds.aws_rds_cluster_instance.thisdb instance hours; source units module.dependencies.module.catalog_rds.aws_rds_cluster_instance.this | OUT_OF_MODEL not computed, not zero: price not found | 1 instance over 730 h SOURCE KNOWN | no price record none | none | PRICE NOT FOUNDAWS_REGION_NEEDEDregion unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it) |
| SOURCE | module.dependencies.module.checkout_elasticache_redis.aws_elasticache_replication_group.defaultcache node hours; source units module.dependencies.module.checkout_elasticache_redis.aws_elasticache_replication_group.default | OUT_OF_MODEL not computed, not zero: price not found | 1 node over 730 h SOURCE KNOWN | no price record none | none | PRICE NOT FOUNDAWS_REGION_NEEDEDregion unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it) |
| SOURCE | module.dependencies.module.dynamodb_carts.aws_dynamodb_table.this.read_requestsdynamodb requests; source units module.dependencies.module.dynamodb_carts.aws_dynamodb_table.this | OUT_OF_MODEL not computed, not zero: price not found | not known UNKNOWN | no price record none | none | PRICE NOT FOUNDAWS_REGION_NEEDEDregion unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it); quantity unknown: the read request units an on-demand table serves per month are a measurement of use; the source does not state them |
| SOURCE | module.dependencies.module.dynamodb_carts.aws_dynamodb_table.this.write_requestsdynamodb requests; source units module.dependencies.module.dynamodb_carts.aws_dynamodb_table.this | OUT_OF_MODEL not computed, not zero: price not found | not known UNKNOWN | no price record none | none | PRICE NOT FOUNDAWS_REGION_NEEDEDregion unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it); quantity unknown: the write request units an on-demand table serves per month are a measurement of use; the source does not state them |
| SOURCE | module.dependencies.module.dynamodb_carts.aws_dynamodb_table.this.storagedynamodb storage; source units module.dependencies.module.dynamodb_carts.aws_dynamodb_table.this | OUT_OF_MODEL not computed, not zero: price not found | not known UNKNOWN | no price record none | none | PRICE NOT FOUNDAWS_REGION_NEEDEDregion unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it); quantity unknown: the data a table holds per month is a measurement of use; the source does not state it |
| SOURCE | module.dependencies.module.orders_rds.aws_rds_cluster.this.storagedb storage; source units module.dependencies.module.orders_rds.aws_rds_cluster.this | OUT_OF_MODEL not computed, not zero: price not found | not known UNKNOWN | no price record none | none | PRICE NOT FOUNDAWS_REGION_NEEDEDregion unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it); quantity unknown: the storage an Aurora cluster consumes grows with its data and is billed by the GB-month of use: a measurement of use the source does not state |
| SOURCE | module.dependencies.module.orders_rds.aws_rds_cluster.this.ioaurora io requests; source units module.dependencies.module.orders_rds.aws_rds_cluster.this | OUT_OF_MODEL not computed, not zero: price not found | not known UNKNOWN | no price record none | none | PRICE NOT FOUNDAWS_REGION_NEEDEDregion unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it); quantity unknown: the I/O requests an Aurora Standard cluster makes are a measurement of use the source does not state |
| SOURCE | module.dependencies.module.orders_rds.aws_rds_cluster_instance.thisdb instance hours; source units module.dependencies.module.orders_rds.aws_rds_cluster_instance.this | OUT_OF_MODEL not computed, not zero: price not found | 1 instance over 730 h SOURCE KNOWN | no price record none | none | PRICE NOT FOUNDAWS_REGION_NEEDEDregion unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it) |
| SOURCE | module.retail_app_ecs.module.alb.aws_lb.thisload balancer hours; source units module.retail_app_ecs.module.alb.aws_lb.this | OUT_OF_MODEL not computed, not zero: price not found | 1 load balancer over 730 h SOURCE KNOWN | no price record none | none | PRICE NOT FOUNDAWS_REGION_NEEDEDregion unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it) |
| SOURCE | module.retail_app_ecs.module.alb.aws_lb.this.capacityload balancer capacity; source units module.retail_app_ecs.module.alb.aws_lb.this | OUT_OF_MODEL not computed, not zero: price not found | not known UNKNOWN | no price record none | none | PRICE NOT FOUNDAWS_REGION_NEEDEDregion unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it); quantity unknown: the capacity units a load balancer uses are a measurement of its traffic (new connections, active connections, bytes, rule evaluations); the source does not state them |
| SOURCE | module.retail_app_ecs.module.carts_service.aws_ecs_service.this.vcpufargate vcpu hours; source units module.retail_app_ecs.module.carts_service.aws_ecs_service.this | OUT_OF_MODEL not computed, not zero: price not found | 1 vCPU over 730 h SOURCE KNOWN | no price record none | none | PRICE NOT FOUNDAWS_REGION_NEEDEDregion unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it) |
| SOURCE | module.retail_app_ecs.module.carts_service.aws_ecs_service.this.memoryfargate memory hours; source units module.retail_app_ecs.module.carts_service.aws_ecs_service.this | OUT_OF_MODEL not computed, not zero: price not found | 2 GB over 730 h SOURCE KNOWN | no price record none | none | PRICE NOT FOUNDAWS_REGION_NEEDEDregion unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it) |
| SOURCE | module.retail_app_ecs.module.catalog_service.aws_ecs_service.this.vcpufargate vcpu hours; source units module.retail_app_ecs.module.catalog_service.aws_ecs_service.this | OUT_OF_MODEL not computed, not zero: price not found | 1 vCPU over 730 h SOURCE KNOWN | no price record none | none | PRICE NOT FOUNDAWS_REGION_NEEDEDregion unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it) |
| SOURCE | module.retail_app_ecs.module.catalog_service.aws_ecs_service.this.memoryfargate memory hours; source units module.retail_app_ecs.module.catalog_service.aws_ecs_service.this | OUT_OF_MODEL not computed, not zero: price not found | 2 GB over 730 h SOURCE KNOWN | no price record none | none | PRICE NOT FOUNDAWS_REGION_NEEDEDregion unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it) |
| SOURCE | module.retail_app_ecs.module.checkout_service.aws_ecs_service.this.vcpufargate vcpu hours; source units module.retail_app_ecs.module.checkout_service.aws_ecs_service.this | OUT_OF_MODEL not computed, not zero: price not found | 1 vCPU over 730 h SOURCE KNOWN | no price record none | none | PRICE NOT FOUNDAWS_REGION_NEEDEDregion unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it) |
| SOURCE | module.retail_app_ecs.module.checkout_service.aws_ecs_service.this.memoryfargate memory hours; source units module.retail_app_ecs.module.checkout_service.aws_ecs_service.this | OUT_OF_MODEL not computed, not zero: price not found | 2 GB over 730 h SOURCE KNOWN | no price record none | none | PRICE NOT FOUNDAWS_REGION_NEEDEDregion unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it) |
| SOURCE | module.retail_app_ecs.module.orders_service.aws_ecs_service.this.vcpufargate vcpu hours; source units module.retail_app_ecs.module.orders_service.aws_ecs_service.this | OUT_OF_MODEL not computed, not zero: price not found | 1 vCPU over 730 h SOURCE KNOWN | no price record none | none | PRICE NOT FOUNDAWS_REGION_NEEDEDregion unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it) |
| SOURCE | module.retail_app_ecs.module.orders_service.aws_ecs_service.this.memoryfargate memory hours; source units module.retail_app_ecs.module.orders_service.aws_ecs_service.this | OUT_OF_MODEL not computed, not zero: price not found | 2 GB over 730 h SOURCE KNOWN | no price record none | none | PRICE NOT FOUNDAWS_REGION_NEEDEDregion unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it) |
| SOURCE | module.retail_app_ecs.module.ui_service.aws_ecs_service.this.vcpufargate vcpu hours; source units module.retail_app_ecs.module.ui_service.aws_ecs_service.this | OUT_OF_MODEL not computed, not zero: price not found | 1 vCPU over 730 h SOURCE KNOWN | no price record none | none | PRICE NOT FOUNDAWS_REGION_NEEDEDregion unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it) |
| SOURCE | module.retail_app_ecs.module.ui_service.aws_ecs_service.this.memoryfargate memory hours; source units module.retail_app_ecs.module.ui_service.aws_ecs_service.this | OUT_OF_MODEL not computed, not zero: price not found | 2 GB over 730 h SOURCE KNOWN | no price record none | none | PRICE NOT FOUNDAWS_REGION_NEEDEDregion unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it) |
| SOURCE | module.vpc.module.vpc.aws_eip.natpublic ipv4 hours; source units module.vpc.module.vpc.aws_eip.nat | OUT_OF_MODEL not computed, not zero: price not found | 1 address over 730 h SOURCE KNOWN | no price record none | none | PRICE NOT FOUNDAWS_REGION_NEEDEDregion unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it) |
| SOURCE | module.vpc.module.vpc.aws_internet_gateway.this.egressinternet egress; source units module.vpc.module.vpc.aws_internet_gateway.this | OUT_OF_MODEL not computed, not zero: price not found | not known UNKNOWN | no price record none | none | PRICE NOT FOUNDAWS_REGION_NEEDEDregion unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it); quantity unknown: the data an estate sends to the internet per month is a measurement of use; the source does not state it |
| SOURCE | module.vpc.module.vpc.aws_nat_gateway.thisnat gateway hours; source units module.vpc.module.vpc.aws_nat_gateway.this | OUT_OF_MODEL not computed, not zero: price not found | 1 gateway over 730 h SOURCE KNOWN | no price record none | none | PRICE NOT FOUNDAWS_REGION_NEEDEDregion unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it) |
| SOURCE | module.vpc.module.vpc.aws_nat_gateway.this.datanat gateway data; source units module.vpc.module.vpc.aws_nat_gateway.this | OUT_OF_MODEL not computed, not zero: price not found | not known UNKNOWN | no price record none | none | PRICE NOT FOUNDAWS_REGION_NEEDEDregion unknown: the aws provider configuration "aws" sets no region the source states (the environment or a profile would decide it); quantity unknown: the data a NAT gateway processes per month is a measurement of use; the source does not state it |
| TARGET | stackit_application_load_balancer.retail_app_ecs_alb_thisload balancer hours; source units module.retail_app_ecs.module.alb.aws_lb.this | ASSUMPTION assumed: priced on the default of a variable of the draft that no answer of the run chose; another value changes the price | 1 load balancer over 730 h SOURCE KNOWN | ST-0204801: 0.02627777778 EUR per Hours (per hour) PUBLIC LIST, valid from 2026-10-08 | 19.18 EUR | PRICED list price ST-0204801 0.02627777778 EUR per hour applied to 730 hours; plan_id "p10" read from the draft: DEFAULT: priced on the draft's default "p10" of var.retail_app_ecs_alb_this_plan_id (draft variables.tf:230); no answer or standing policy of the run chose it, so another value changes the price |
| TARGET | stackit_kms_key.retail_app_ecs_cmklist price; source units module.retail_app_ecs.aws_kms_key.cmk | OUT_OF_MODEL not computed, not zero: target not chosen | not known UNKNOWN | no price record none | none | TARGET NOT CHOSEN the draft does not choose the key protection (protection is var.kms_protection): no SKU is named; the KMS API knows the protections "software" and "hsm": "software" has the list price ST-0124501 (0.00209102962 EUR per version/hour), "hsm" has no SKU in the public list; the number of key versions is not stated either, so no amount is built whichever is chosen |
| TARGET | stackit_logs_instance.logs_retention_180dlist price; source units module.retail_app_ecs.aws_cloudwatch_log_group.ecs_tasks | OUT_OF_MODEL not computed, not zero: quantity unknown | not known UNKNOWN | ST-0171601: list price 1.2 EUR per Gigabyte Ingestion, not multiplied list price only | none | QUANTITY UNKNOWN the list price of ST-0171601 is known (1.2 EUR per Gigabyte Ingestion); the quantity is the gigabytes of log data it takes in (the retention of each gigabyte is a SKU of its own), a measurement of use the draft does not state, so it is not multiplied; to price it, state the gigabytes of log data one instance takes in during the scenario's period in the assumption file (--assumptions FILE): variable log_ingestion, unit GB, subject stackit_logs_instance.logs_retention_180d (or the source unit it stands for; another data unit converts); without it the line stays unpriced |
| TARGET | stackit_mariadb_instance.dependencies_catalog_rds_thisservice plan hours; source units module.dependencies.module.catalog_rds.aws_rds_cluster.this | OUT_OF_MODEL not computed, not zero: target not chosen | 1 instance over 730 h SOURCE KNOWN | no price record none | none | TARGET NOT CHOSEN NOT_ASSESSED: the draft does not choose the mariadb plan (plan_name is var.dependencies_catalog_rds_this_plan_name): no SKU is named; to name the SKU of this line, state the value of plan_name in the assumption file (--assumptions FILE): variable target_choice, subject stackit_mariadb_instance.dependencies_catalog_rds_this (or the source unit it stands for), value a plan of the catalogue such as "stackit-rabbitmq-2.4.10-single" (an Observability plan is named like its SKU, "Observability-Monitoring-Medium-EU01") |
| TARGET | stackit_mongodbflex_instance.dynamodb_tablesdb instance hours; source units module.dependencies.module.dynamodb_carts.aws_dynamodb_table.this | OUT_OF_MODEL not computed, not zero: target not chosen | 1 instance over 730 h SOURCE KNOWN | no price record none | none | TARGET NOT CHOSEN NOT_ASSESSED: the draft does not choose the MongoDB Flex flavor (flavor.cpu, flavor.ram and options.type is flavor.cpu = var.dynamodb_tables_cpu, flavor.ram = var.dynamodb_tables_ram): no SKU is named; to name the SKU of this line, state the value of flavor in the assumption file (--assumptions FILE): variable target_choice, subject stackit_mongodbflex_instance.dynamodb_tables (or the source unit it stands for), value "<cpu>.<ram>-<Single|Replica|Sharded>" such as "2.4-Single" |
| TARGET | stackit_opensearch_instance.dependencies_catalog_opensearch_thisservice plan hours; source units module.dependencies.module.catalog_opensearch.aws_opensearch_domain.this | OUT_OF_MODEL not computed, not zero: target not chosen | 1 instance over 730 h SOURCE KNOWN | no price record none | none | TARGET NOT CHOSEN NOT_ASSESSED: the draft does not choose the opensearch plan (plan_name is var.dependencies_catalog_opensearch_this_plan_name): no SKU is named; to name the SKU of this line, state the value of plan_name in the assumption file (--assumptions FILE): variable target_choice, subject stackit_opensearch_instance.dependencies_catalog_opensearch_this (or the source unit it stands for), value a plan of the catalogue such as "stackit-rabbitmq-2.4.10-single" (an Observability plan is named like its SKU, "Observability-Monitoring-Medium-EU01") |
| TARGET | stackit_postgresflex_instance.dependencies_orders_rds_thisdb instance hours; source units module.dependencies.module.orders_rds.aws_rds_cluster.this | ESTIMATE list price × a quantity read from the source or the draft × 730 h of the scenario (an assumption) | 1 instance over 730 h SOURCE KNOWN | ST-0025701: 0.12598444444 EUR per Hours (per hour) PUBLIC LIST, valid from 2026-10-08 | 91.97 EUR | PRICED list price ST-0025701 0.12598444444 EUR per hour applied to 730 hours |
| TARGET | stackit_postgresflex_instance.dependencies_orders_rds_thisdb storage perf class; source units module.dependencies.module.orders_rds.aws_rds_cluster.this | OUT_OF_MODEL not computed, not zero: target not chosen | 1 disk over 730 h SOURCE KNOWN | no price record none | none | TARGET NOT CHOSEN NOT_ASSESSED: the draft does not choose the PostgreSQL Flex storage class (storage.class is var.postgresflex_storage_class): no SKU is named; to name the SKU of this line, state the value of storage.class in the assumption file (--assumptions FILE): variable target_choice, subject stackit_postgresflex_instance.dependencies_orders_rds_this.storage_class, value a storage class such as "premium-perf6-stackit", or answer the request target.postgres.storage of the run (review/inputs.yaml), which also changes the draft |
| TARGET | stackit_postgresflex_instance.dependencies_orders_rds_thisdb storage; source units module.dependencies.module.orders_rds.aws_rds_cluster.this | OUT_OF_MODEL not computed, not zero: target not chosen | not known UNKNOWN | no price record none | none | TARGET NOT CHOSEN NOT_ASSESSED: the draft does not choose the PostgreSQL Flex storage class (storage.class is var.postgresflex_storage_class): no SKU is named; to name the SKU of this line, state the value of storage.class in the assumption file (--assumptions FILE): variable target_choice, subject stackit_postgresflex_instance.dependencies_orders_rds_this.storage_class, value a storage class such as "premium-perf6-stackit", or answer the request target.postgres.storage of the run (review/inputs.yaml), which also changes the draft |
| TARGET | stackit_rabbitmq_instance.dependencies_mqservice plan hours; source units module.dependencies.aws_mq_broker.mq | ASSUMPTION assumed: priced on the default of a variable of the draft that no answer of the run chose; another value changes the price | 1 instance over 730 h SOURCE KNOWN | ST-0044501: 0.85140277778 EUR per Hours (per hour) PUBLIC LIST, valid from 2026-10-08 | 621.52 EUR | PRICED list price ST-0044501 0.85140277778 EUR per hour applied to 730 hours; plan_name "stackit-rabbitmq-8.16.50-replica" read from the draft: DEFAULT: priced on the draft's default "stackit-rabbitmq-8.16.50-replica" of var.dependencies_mq_plan_name (draft variables.tf:92); no answer or standing policy of the run chose it; decision DEC-GEN-CONVERT-SIZE-FROM-SOURCE is open: nobody confirmed the default, so another value changes the price; the SKU is named by the plan (INFERRED from the names of the list) and its nodes and disk are checked against the list's attributes |
| TARGET | stackit_secretsmanager_instance.migrated_secretslist price; source units module.retail_app_ecs.aws_secretsmanager_secret.catalog_db, module.retail_app_ecs.aws_secretsmanager_secret.catalog_opensearch, module.retail_app_ecs.aws_secretsmanager_secret.mq, module.retail_app_ecs.aws_secretsmanager_secret.orders_db | OUT_OF_MODEL not computed, not zero: ambiguous | not known UNKNOWN | no price record none | none | AMBIGUOUS 5 public SKUs match the Secrets Manager version hour (Secrets Manager-100-EU01, Secrets Manager-100k-EU01, Secrets Manager-10k-EU01, Secrets Manager-1M-EU01, Secrets Manager-1k-EU01): none is picked; the tier is read as the number of secret versions of the instance, which the draft does not state, and which the price list (1.0.44, page Security) and the documentation of the service (FAQ, 2026-11-02: "You pay per secret version") do not define: no tier is assumed |
| TARGET | stackit_ske_cluster.retail_app_ecs_clustercluster hours; source units module.retail_app_ecs.aws_ecs_cluster.cluster, module.retail_app_ecs.module.carts_service.aws_ecs_service.this, module.retail_app_ecs.module.catalog_service.aws_ecs_service.this, module.retail_app_ecs.module.checkout_service.aws_ecs_service.this, module.retail_app_ecs.module.orders_service.aws_ecs_service.this, module.retail_app_ecs.module.ui_service.aws_ecs_service.this | ESTIMATE list price × a quantity read from the source or the draft × 730 h of the scenario (an assumption) | 1 cluster over 730 h SOURCE KNOWN | ST-0010701: 0.09959511998 EUR per Hours (per cluster/hour) PUBLIC LIST, valid from 2026-10-08 | 72.70 EUR | PRICED list price ST-0010701 0.09959511998 EUR per cluster/hour applied to 730 hours; the cluster hour only: the machines of its node pools are servers, and they are not in this line; TARGET ONLY: the source side holds no line of this family for module.retail_app_ecs.aws_ecs_cluster.cluster, module.retail_app_ecs.module.carts_service.aws_ecs_service.this, module.retail_app_ecs.module.catalog_service.aws_ecs_service.this, module.retail_app_ecs.module.checkout_service.aws_ecs_service.this, module.retail_app_ecs.module.orders_service.aws_ecs_service.this, module.retail_app_ecs.module.ui_service.aws_ecs_service.this (the hour of an SKE cluster stands for a control plane, and the source side prices none (an ECS cluster has no charge of its own and this build prices no EKS cluster); the machines of a node pool stand for the nodes of an EKS node group or the capacity of an ECS cluster, which have no source line of their own in this build (aws_eks_node_group has no quantity driver, and the Fargate hours of a service are another unit of charge), so the two never stand against each other), so no source amount stands against this one: it is counted in the STACKIT total and kept out of the comparison, which states what it leaves out |
| TARGET | stackit_ske_cluster.retail_app_ecs_cluster.node_pool.workloadsnode pool hours; source units module.retail_app_ecs.aws_ecs_cluster.cluster, module.retail_app_ecs.module.carts_service.aws_ecs_service.this, module.retail_app_ecs.module.catalog_service.aws_ecs_service.this, module.retail_app_ecs.module.checkout_service.aws_ecs_service.this, module.retail_app_ecs.module.orders_service.aws_ecs_service.this, module.retail_app_ecs.module.ui_service.aws_ecs_service.this | OUT_OF_MODEL not computed, not zero: target not chosen | not known UNKNOWN | no price record none | none | TARGET NOT CHOSEN NOT_ASSESSED: the draft does not choose the server flavor (node_pools.machine_type is var.retail_app_ecs_cluster_machine_type): no SKU is named; to name the SKU of this line, state the value of node_pools.machine_type in the assumption file (--assumptions FILE): variable target_choice, subject stackit_ske_cluster.retail_app_ecs_cluster.node_pool.workloads, value a server flavor such as "g2i.4" |
| TARGET | stackit_valkey_instance.dependencies_checkout_elasticache_redis_defaultservice plan hours; source units module.dependencies.module.checkout_elasticache_redis.aws_elasticache_replication_group.default | ASSUMPTION assumed: priced on the default of a variable of the draft that no answer of the run chose; another value changes the price | 1 instance over 730 h SOURCE KNOWN | ST-0226701: 0.09995833333 EUR per Hours (per hour) PUBLIC LIST, valid from 2026-10-08 | 72.97 EUR | PRICED list price ST-0226701 0.09995833333 EUR per hour applied to 730 hours; plan_name "stackit-keyvalue-1.4.10-single" read from the draft: DEFAULT: priced on the draft's default "stackit-keyvalue-1.4.10-single" of var.dependencies_checkout_elasticache_redis_default_plan_name (draft variables.tf:71); no answer or standing policy of the run chose it; decision DEC-GEN-CONVERT-SIZE-FROM-SOURCE is open: nobody confirmed the default, so another value changes the price; the SKU is named by the plan (INFERRED from the names of the list) and its nodes and disk are checked against the list's attributes |
Price sources
| Side | Source | Status | Version and date | Currency and basis |
|---|---|---|---|---|
| SOURCE | aws | NOT AVAILABLE no line has a region the source states, so no offer file was asked for: give the AWS region in review/inputs (source.aws.region) | ||
| TARGET | stackit | USED supplied by the price cache | retrieved 2026-10-26T18:27:45Z | EUR net list price |
What these figures are not
- Only EC2 instances (aws_instance), EBS volumes (aws_ebs_volume and the root and block devices of an instance), RDS for PostgreSQL instances (aws_db_instance: instance hours, allocated storage, provisioned iops, gp3 throughput), Amazon Aurora (aws_rds_cluster_instance: the instance hours; aws_rds_cluster: the consumed storage and the I/O requests with their price and no quantity) the network families (aws_nat_gateway, aws_lb, aws_eip and the public address an instance asks for, aws_route53_zone, aws_internet_gateway: see the line on the network families below) and the managed-service families (aws_ecs_service on Fargate, aws_mq_broker, aws_elasticache_replication_group and aws_elasticache_cluster, aws_opensearch_domain, aws_dynamodb_table: see the line on them below) have lines on the source side, and only STACKIT servers (each with its boot volume), volumes, PostgreSQL Flex instances (flavor, storage class, storage capacity), public IPs, load balancers, DNS zones, RabbitMQ, Valkey, OpenSearch and MariaDB instances (their plan), MongoDB Flex instances (their flavor), SKE clusters (the cluster hour and each node pool), KMS keys, Secrets Manager and Logs instances on the target side; the other drafted resources have a line that says they have no quantity rule, and every other source resource has no line and is listed in the out-of-model group.
- The network families have a line on each side, never a total over a partial set. NAT gateway: the hour of a zonal public NAT gateway is priced and the data it processes has the per-GB price and no quantity; the STACKIT price list holds no SKU for a NAT gateway or for outbound address translation, so its target line is PRICE_NOT_FOUND (a service the list does not price is not free). Load balancer: the hour of an Application or Network Load Balancer is priced and its capacity units have the price and no quantity; the target line is the hour of the plan (plan_id; a Network Load Balancer that states none is read as the default p10 the provider documents). Public IPv4 address: the hour of an Elastic IP, and of the address an instance asks for with associate_public_ip_address = true (not an address its subnet or launch template decides), against the hour of a stackit_public_ip. DNS: the month of a hosted zone (the first tier of the Route 53 price; the tier is the account's) and its queries (no quantity); the STACKIT list prices a zone by the number of records it may hold, which the draft does not state, so its target line is AMBIGUOUS. Data transfer out: the per-GB price of the first tier (every tier is named on the line) on the line of the internet gateway and no quantity; the STACKIT list holds no SKU for it, so its target line is PRICE_NOT_FOUND. A quantity that is a measurement of use (GB, capacity unit hours, queries) is never in a Terraform source and is never made up: such a line has its price and no amount. The prices are the On-Demand rows of the AmazonEC2 (NAT gateway, load balancers), AmazonVPC (public IPv4), AWSDataTransfer and AmazonRoute53 offers of the price cache, which `stacktoit prices refresh --provider aws --region R` fetches (`--offer` names one); a line whose offer the cache does not hold names the offer and the command.
- The managed-service families are priced from the On-Demand rows of the AmazonECS (Fargate vCPU and GB hours: the cpu and memory of the task definition times the desired count, which is never taken as zero when it is not stated), AmazonMQ (broker hour by engine, instance type and deployment mode; its storage has the price and no quantity), AmazonElastiCache (node hour by engine and node type times the nodes of a replication group), AmazonES (data and dedicated master node hours, EBS GB-month) and AmazonDynamoDB (provisioned read and write capacity unit hours when the table states them, at the rate beyond the free first tier, which is the whole account's; request units and storage have the price and no quantity) offers, which `stacktoit prices refresh --provider aws --region R` fetches (`--offer` names one); Fargate Spot, ECS on EC2 capacity, Windows tasks, global datastores and non-standard table classes are out of the model. On the target side a RabbitMQ, Valkey (Key Value Store), OpenSearch or MariaDB instance is the hour of the SKU of its plan_name (the SKU is named by the plan, INFERRED from the names of the list, and its nodes and disk are checked against the list's attributes); a plan the draft leaves to a person is TARGET_NOT_CHOSEN. An SKE cluster is the cluster hour, and each node pool it states is a line of its own: the server flavor hours of its machine_type (the join of a server) times its nodes, the range between its minimum and its maximum when they differ, an unknown quantity with the price when the draft states either as a variable, and TARGET_NOT_CHOSEN when the machine type is a variable; the boot volume of each node is not in the line, and the nodes of an EKS node group or of an ECS cluster's capacity have no source line in this build, so a pool is a target-only line (see below). A MongoDB Flex instance is the hour of the SKU MongoDB-Flex-<cpu>.<ram>-<Single|Replica|Sharded> of its flavor.cpu, flavor.ram and options.type (INFERRED from the names of the list, and checked against the SKU's own attributes; the rate of a Replica SKU is read as that of the whole instance with its nodes); a flavor a person sets is TARGET_NOT_CHOSEN, a flavor the list has no SKU of is PRICE_NOT_FOUND, its storage and backups are not computed, and because this build prices no DocumentDB cluster on the source side its line is target only (see below). A software KMS key version and a GB of log ingestion have their list price and no quantity; Secrets Manager is AMBIGUOUS between its tiers (the number of secret versions). A priced target line of a family whose source side has no line for the unit (an SKE cluster and its node pools, a MariaDB instance, a MongoDB Flex instance, a RabbitMQ plan against a source with no priced broker) is target only: it is counted in the STACKIT total, listed apart with its amount (target_only on the line and target_only_lines, target_only_min and target_only_max on the total), and kept out of every comparison and every saving, because no source amount stands against it; each comparison states the lines and the amount it leaves out, on both sides.
- The instance hours and the allocated storage of an RDS for PostgreSQL instance are priced from the AmazonRDS offer of the price cache (On-Demand list prices, Single-AZ or Multi-AZ as the source states; `stacktoit prices refresh --provider aws` fetches it with the AmazonEC2 offer); its provisioned IOPS (io1, io2, gp3) and the provisioned throughput of gp3 storage come from the same offer, gp3 only above the performance its allocated storage includes (a baseline of 12,000 IOPS and 500 MiB/s from 400 GiB, nothing more can be provisioned below it: Amazon RDS User Guide, DB instance storage); without that offer the lines are PRICE_SOURCE_ABSENT and the instance is never in the computed subtotal. An Aurora instance (engine aurora-mysql or aurora-postgresql) is the instance hour of its engine, its instance class and the storage configuration of its cluster, from the same offer (rules version 3 of its narrowing): Aurora Standard when the cluster states no storage_type (the provider's documented default), Aurora I/O-Optimized for storage_type = "aurora-iopt1", and both prices open (AMBIGUOUS) when the source does not state it as a fact or the instance's cluster is not a resource of the source; the cluster's consumed storage (a GB-month) and, on Standard, its I/O requests are measurements of use and have their price and no quantity. An Aurora Serverless v2 instance (db.serverless), an instance of a Multi-AZ DB cluster, backup storage beyond the free allocation, Global Database and the Data API are not computed. An offer narrowed before the Aurora rows were kept answers PRICE_SOURCE_ABSENT with the refresh command on each Aurora line. A PostgreSQL Flex Replica flavor is priced once per instance: the list gives its SKU 3 nodes and a higher rate than the Single SKU (1.6 to 2.0 times it, never 3 times), and the rate is read as that of the whole instance (evidence class INFERRED from the price list; each such line says so); how much of its storage is billed (once or per node) the list does not say, so its storage lines have the SKU and no quantity.
- The PostgreSQL Flex storage class premium-perf<n>-stackit is priced as the SKU "Block Storage for PostgreSQL Premium-Performance <n>" per disk and its capacity as "Block Storage for PostgreSQL Premium-Capacity" per GB (evidence class INFERRED from the names of the price list; each such line says so). The IOPS and throughput shown for the class in the technical mapping are the attributes maxIOPerSec and maxTroughInMB of that performance SKU in the price list (the catalogue states none for a PostgreSQL Flex class); whether the class covers what the source provisions is a comparison of those figures, not a statement that the two perform alike.
- The lines fall into three groups: the computed subtotal (only the source units every line of which is priced on both sides, so both subtotals cover the same units), the lines whose price is known and whose quantity is not (the quantity that is needed is named), and what is not computed (a unit of a type out of the model, a unit with no line on one side, or a line without a price), listed by resource and never zero.
- Source prices are the On-Demand list prices of the AWS offer file in the price cache (USD, net, region of the resource); Spot, Reserved, Savings Plans, Dedicated Host, capacity reservation and private prices are never used. The operating system and licence come from the assumption file: the source does not state them.
- The offer file bills an EBS volume per GB-month; this build reads it as GiB-month, the unit a volume is sized in: the Amazon EBS pricing page states "on this page, GB = 1024^3 bytes" (OFFICIAL_DOCUMENTED for that page; applying it to the offer file's unit is INFERRED). The IOPS and throughput of a gp3 volume are priced only above the baseline included in the price of its storage (3,000 IOPS, 125 MiB/s: Amazon EBS User Guide, OFFICIAL_DOCUMENTED), per volume; io2 IOPS are priced in tiers whose edges the offer file carries in descriptions only, and are not priced.
- Target prices are the net EUR list prices of the public STACKIT price list in the price cache (region eu01). A machine type or performance class the draft leaves to a person is TARGET_NOT_CHOSEN; the metro variant of a SKU is never substituted.
- The target capacity price of a volume is the capacity SKU of its performance class's tier (evidence class INFERRED from the structure of the price list).
- One month is the 730 hours of the scenario; a per-month rate is applied as the file gives it. Snapshots, backups, support plans and every other cost of usage, traffic or requests that this build has no line for are not computed.
- A saving is compared only for the same source units on both sides and in one currency (an exchange rate from the assumption file, with its source and date, converts one side).