Skip to content

XLandingZoneArchitecture

API

Property Value
Group azure.platform.example.org
Kind XLandingZoneArchitecture
Plural xlandingzonearchitectures
Scope Namespaced
Versions v1alpha1 (referenceable)
Source compositions/apis/azure/landingzone/schema.yaml

Spec

Field Type Required Default Description
environmentConfigRef object no — —
    environmentConfigRef.name immutable string yes — Constraints: minLength: 1.
location immutable string no swedencentral Region for policy assignment identities. Constraints: minLength: 1.
managementGroups []object no [{"archetypes": ["root"], "displayName": "Azure Landing Zones", "name": "alz"}, {"archetypes": ["platform"], "displayName": "Platform", "name": "platform", "parentRef": {"name": "alz"}}, {"archetypes": ["landing-zones"], "displayName": "Landing zones", "name": "landingzones", "parentRef": {"name": "alz"}}, {"archetypes": ["corp"], "displayName": "Corp", "name": "corp", "parentRef": {"name": "landingzones"}}, {"archetypes": ["online"], "displayName": "Online", "name": "online", "parentRef": {"name": "landingzones"}}, {"archetypes": ["local"], "displayName": "Local", "name": "local", "parentRef": {"name": "landingzones"}}, {"archetypes": ["sandbox"], "displayName": "Sandbox", "name": "sandbox", "parentRef": {"name": "alz"}}, {"archetypes": ["security"], "displayName": "Security", "name": "security", "parentRef": {"name": "platform"}}, {"archetypes": ["management"], "displayName": "Management", "name": "management", "parentRef": {"name": "platform"}}, {"archetypes": ["connectivity"], "displayName": "Connectivity", "name": "connectivity", "parentRef": {"name": "platform"}}, {"archetypes": ["identity"], "displayName": "Identity", "name": "identity", "parentRef": {"name": "platform"}}, {"archetypes": ["decommissioned"], "displayName": "Decommissioned", "name": "decommissioned", "parentRef": {"name": "alz"}}] Constraints: minItems: 1, maxItems: 100.
    managementGroups[].archetypes []string no [] Constraints: maxItems: 32.
    managementGroups[].displayName string yes — Constraints: minLength: 1, maxLength: 90.
    managementGroups[].name string yes — Constraints: maxLength: 32, pattern: ^[a-z][a-z0-9-]*[a-z0-9]$|^[a-z]$.
    managementGroups[].parentRef object no — —
        managementGroups[].parentRef.name string yes — Constraints: maxLength: 32.
name immutable string yes — Tenant-unique prefix for the ALZ root and child groups. Constraints: maxLength: 20, pattern: ^[a-z][a-z0-9-]*[a-z0-9]$|^[a-z]$.
parentManagementGroupId immutable string no — Existing parent group, never owned by this composition. Constraints: pattern: ^/providers/Microsoft.Management/managementGroups/[^/]+$.
policyDefaults object no — —
    policyDefaults.amaUserAssignedManagedIdentityId string no — Constraints: minLength: 1.
    policyDefaults.ddosProtectionPlanId string no — Constraints: minLength: 1.
    policyDefaults.logAnalyticsWorkspaceId string no — Constraints: minLength: 1.
    policyDefaults.resourceGroupLocation string no — Constraints: minLength: 1.
    policyDefaults.resourceGroupNameServiceHealthAlerts string no — Constraints: minLength: 1.
providerConfigRef object no {"kind": "ClusterProviderConfig", "name": "default"} —
    providerConfigRef.kind string yes ClusterProviderConfig One of: ProviderConfig, ClusterProviderConfig.
    providerConfigRef.name string yes default —
subscriptions []object no [] Constraints: maxItems: 100.
    subscriptions[].managementGroupRef object yes — —
        subscriptions[].managementGroupRef.name string yes — Constraints: maxLength: 32.
    subscriptions[].name string yes — Constraints: maxLength: 32, pattern: ^[a-z][a-z0-9](?:-[a-z0-9]+)$.
    subscriptions[].subscriptionId immutable string yes — Constraints: maxLength: 36, pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$.

Fields marked immutable are fixed once the resource is created; changing one is rejected by the API server. An immutable object pins the fields nested under it too. To change one, delete the resource and create it again.

Status

Populated by Crossplane once the underlying Azure resources exist. Every composite in this repository exposes the provisioned Azure resource ID as status.id.

Field Type Required Default Description
id string no — Observed Azure ID of the created ALZ root.
libraryVersion string no — —
managementGroups map[string]object no — —
    managementGroups[key].displayName string no — —
    managementGroups[key].id string no — —
    managementGroups[key].name string no — —
policyProfile string no — —

Reference