Recommended Free Tools
StackQL’s example shows how one stackql-deploy manifest can coordinate a Google Cloud VPC and an AWS VPC without pretending their APIs are interchangeable. The manifest provides a shared deployment structure; separate provider-specific .iql files retain each cloud’s query and mutation details. The workflow is useful when you want one place to run checks, create resources, inspect state, export values, and tear down a multi-cloud stack.
The walkthrough was published by StackQL on September 22, 2026. Its outcomes describe the author’s captured example run, not an independently reproduced test. Read the StackQL tutorial.
As an Amazon Associate I earn from qualifying purchases.
What “one manifest” means in this example
The manifest lists two providers, google and awscc; awscc is the AWS Cloud Control provider. It defines separate Google Cloud and AWS VPC resources, alongside shared settings and environment values. The common file coordinates the stack, but it does not erase differences in how each provider identifies, creates, or checks its resources.
Free tools Windows power users keep installed
One-click scans. No signup required.
The author’s framing captures that distinction: “The interesting part is not just deploying to two clouds, but managing both through the same manifest and lifecycle.” — Nirmal Chhodvadiya, Cloud Consultant and AWS Community Builder. Source tutorial.
#1 Best Overall
How the manifest and resource files divide the work
Shared configuration in the manifest
The combined manifest brings together the provider declarations, globals, stack tags, and two resource definitions. It uses a project value for Google Cloud and a separate region_aws variable for AWS, keeping provider-specific configuration distinct. The AWS resource selects CIDR values according to the environment (prd, sit, or dev) and merges the global tags.
Provider-specific operations in .iql files
Each resource’s .iql file keeps the SQL and API details for that provider. In the tutorial’s Google example, an existence check looks up google.compute.networks by network name; creation uses method-specific data__ request-body fields; state is checked; and teardown deletes the network.
Rank #2
The AWS example takes a different route. Its existence check joins the AWS tagging API view with the VPC list view and searches using tags. Creation uses direct column names and RETURNING *; the state check uses AWS_POLICY_EQUAL to compare tags. These are conventions in the tutorial’s example, not universal rules for every method or resource in either provider.
| Concern | Google Cloud example | AWS example |
|---|---|---|
| Resource identification | Looks up the network by name in google.compute.networks. |
Checks tags by joining the tagging API view with the VPC list view. |
| Create convention | Uses method-specific data__ request-body fields. |
Uses direct column names and RETURNING *. |
| State check | Checks the network state through the Google provider. | Uses AWS_POLICY_EQUAL to compare tags. |
| Environment configuration | Uses a project value. | Uses region_aws, environment-specific CIDR values, and merged global tags. |
| Provisioning behavior | The walkthrough does not identify an equivalent asynchronous-visibility issue for this check. | AWS Cloud Control may finish an operation asynchronously, before the resource is discoverable through the example’s existence query. |
Run the stack in a safe sequence
StackQL recommends rendering the combined build before creating cloud resources. The dry run resolves variables and renders provider-specific SQL; it does not create the VPCs. After reviewing that output, the tutorial runs a real build, repeats it to exercise the existing-resource path, and tears down both resources.
Rank #3
- Render first: Run the combined build with
--dry-run. Review the resolved environment values and rendered SQL for each provider before proceeding. - Build: Run a real build to perform the existence checks and create resources that are absent.
- Build again: Repeat the build to exercise the existing-resource path rather than assuming a repeat will recreate resources.
- Tear down: Run the teardown operations for both VPCs and confirm deletion through the relevant checks.
In the captured walkthrough, the author reports a successful initial build, a second build that found both VPCs already present and did not recreate them, and teardown that confirmed deletion. The reported runtimes were 13.39 seconds for the first build and 4.69 seconds for the second; these are timings from that example run, not benchmarks or expected durations for other accounts and environments.
Handle AWS Cloud Control’s asynchronous visibility
An AWS Cloud Control operation can return before the new VPC appears in the example’s existence query. The tutorial accounts for that possibility by retrying relevant checks with a five-second delay. A retry is a way to allow for delayed visibility; it does not establish that a failed or still-running cloud operation will eventually succeed.
Rank #4
- If retries are exhausted, inspect the request status with
aws cloudcontrol list-resource-requests, as the tutorial recommends. - Check for quota limits, missing IAM permissions, or parameter-validation errors if the operation has failed.
- Distinguish a resource that has not yet become visible from an operation that failed; simply increasing retries is not a fix for a failed request.
What this pattern does—and does not—standardize
The manifest standardizes orchestration: shared configuration, a single stack definition, and a consistent lifecycle for checks, creation, state inspection, exports, and teardown. The resource files preserve the provider’s own query helpers, field conventions, identification strategy, and provisioning behavior. That boundary is the reason one manifest can be useful without implying that Google Cloud and AWS expose the same API.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →The same pattern may extend to other StackQL providers only when their capabilities and method contracts support the operations the stack needs. A shared manifest is a coordination mechanism, not a guarantee that every provider can implement every resource or lifecycle step in the same way.
Best Value
Where to find provider details
StackQL points readers to stackql-deploy documentation, examples, and provider-specific guides. Use those materials to check the current provider method contracts and syntax for the resources and operations you intend to deploy.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




