Huawei CloudStatic-verified

An Organization Whose Policy Types Are Enabled Before a Policy Needs Them

An organization, its units and its accounts. enabled_policy_types is what makes a service control policy attachable at all: without it a policy is created and fails to attach, at apply, behind a clean plan, and neither console connects the two. The account email and phone are the recovery path, so an account with none is listed as an output.

terraformAlt & Specialty Cloudshuaweicloud

Compare Landing Zone across clouds →

huawei-landing-zonevizier v1.2.0

Verification

Static-verified

Passed: validated and lint-clean (provider-schema-validated for AWS/Azure/GCP; Terraform-language lint elsewhere).

Conformance

  • Static validation (fmt · validate · tflint)
  • No applicable security policies for this provider
  • Plan tests (mocked: validation rules · outputs)

Provenance

  • SHA-256 checksum
  • Signature (pending)

Functional

  • Live test pending (no cloud run yet)

Last verified 2026-09-15 · how we verify

Use it from the registry

terraform · opentofu
module "landing_zone" {
  source  = "www.iac-bazaar.com/iac-bazaar/huawei-landing-zone/huaweicloud"
  version = "1.0.0"
}

Needs a registry token from /account/tokens. The module itself is free; the account is what identifies you. Full setup: registry docs.

Inputs & outputs

Create a free account to read this module's contract

The declared contract - every input name, type, default and description, plus every output - is shown to signed-in accounts, not to anonymous visitors.

A free account sees the contract of every module in the catalogue. There is no subscription and nothing to buy - the modules are free to download, and they run under Vizier.

Documentation

huawei-landing-zone

An organization with units and accounts on Huawei Cloud Organizations. Works with Terraform and OpenTofu (>= 1.6), huaweicloud provider >= 1.60, < 2.0.

A policy type nobody enabled cannot attach. enabled_policy_types is what makes service control policies and tag policies usable at all; until the type is enabled, huawei-org-policy creates a policy and fails to attach it, at apply, behind a clean plan. Neither console connects the two.

The account email and phone are the recovery path, which is why the provider marks them sensitive. Point them at a shared mailbox and number: an account whose recovery address belongs to somebody who left is an account nobody can get back into. accounts_without_recovery_contact lists the ones that have none.

An account in the root inherits only what is on the root, and what is on the root reaches the management account too.

You cannot delete an organization that still has members, and an account invited rather than created here was never Terraform's to remove.

The tree is one level deep per call, because a unit naming another unit in the same resource block is a dependency cycle in Terraform. Nest with a second call fed by organizational_unit_ids.

Verification

Static validation runs tofu fmt, init, validate, tflint and checkov. This module has not yet had a live test, so it is published as statically validated with its live test pending and does not carry the live-tested mark.

Usage code & full reference need an account

The complete copy-paste usage, the full input/output reference, and operational notes are free with an account - shown here and bundled in the download. Sign in and this section fills in.

  • Usage

Related modules

Static validatedLive test pending

huawei-org-policy

An Organizations policy and its attachments. The type - service control, tag or AI service - decides what the JSON means, and the same document in the wrong type either fails to attach or attaches and does nothing recognisable. An SCP is a ceiling that cannot grant, an unattached policy enforces nothing, and a root attachment reaches the management account.

View module
Static validatedLive test pending

aws-control-tower

A Control Tower landing zone from a manifest the module writes: the governed regions (the only usable ones), the Security and Sandbox units, centralized logging in the log archive account you name kept a year (access logs ten) under your KMS key (the AWS-managed key by name), the audit account, Identity Center access, and the controls you map to organizational units.

View module
Static validatedLive test pending

alicloud-landing-zone

A Resource Directory with its folders and member accounts. Two switches decide whether it works: control policies are off until the directory enables them, so a policy written elsewhere attaches to nothing; and member deletion is off by default, which makes every account this creates permanent and terraform destroy fail on it. Both are on here.

View module
Static validatedLive test pending

tencent-landing-zone

Tencent organization nodes and members. policy_type takes one value and it is Financial: what a membership grants is numbered billing permissions, not a governance boundary, and is_a_policy_boundary says false. The permissions are taken as words and written as the integers Tencent wants, and the one that moves money is asked about.

View module
Live-tested

azure-landing-zone-core

Management-group hierarchy, policy baseline (ALZ-aligned), centralized logging and RBAC scaffolding - the flagship enterprise starter.

View module
Live-tested

gcp-project-factory

Opinionated project creation: API enablement, billing budget, default-SA lockdown, audit log sinks and baseline IAM.

View module