Files
hunfabric/modules/project-factory/schemas/project.schema.md
Liam Nesteroff f07e4f64e9 Standardise reuse variable from project module and implement for net-vpc (#3205)
* exposing the network_id from the net-vpc module for use with tag bindings

* convert vpc_create to vpc_reuse

* Changed the reuse vars to standardised attributes

* fixed readme tests and schemas

* modified apigee blueprint to use vpc_reuse with network_id passthrough

---------

Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
2025-07-03 09:12:05 +10:00

7.9 KiB

Project

Properties

additional properties: false

  • automation: object
    additional properties: false
  • billing_account: string
  • billing_budgets: array
    • items: string
  • buckets: reference(buckets)
  • contacts: object
    additional properties: false
    • ^[a-z0-9_-]+$: array
      • items: string
  • deletion_policy: string
    enum: ['PREVENT', 'DELETE', 'ABANDON']
  • iam: reference(iam)
  • iam_bindings: reference(iam_bindings)
  • iam_bindings_additive: reference(iam_bindings_additive)
  • iam_by_principals: reference(iam_by_principals)
  • labels: object
  • metric_scopes: array
    • items: string
  • name: string
  • org_policies: object
    additional properties: false
    • ^[a-z]+\.: object
      • inherit_from_parent: boolean
      • reset: boolean
      • rules: array
        • items: object
          additional properties: false
          • allow: object
            additional properties: false
            • all: boolean
            • values: array
              • items: string
          • deny: object
            additional properties: false
            • all: boolean
            • values: array
              • items: string
          • enforce: boolean
          • condition: object
            additional properties: false
            • description: string
            • expression: string
            • location: string
            • title: string
  • parent: string
  • prefix: string
  • project_reuse: object
    additional properties: false
    • use_data_source: boolean
    • attributes: object
      • name: string
      • number: number
      • services_enabled: array
        • items: string
  • service_accounts: object
    additional properties: false
    • ^[a-z0-9-]+$: object
      additional properties: false
      • display_name: string
      • iam: reference(iam)
      • iam_self_roles: array
        • items: string
      • iam_project_roles: reference(iam_project_roles)
      • iam_sa_roles: reference(iam_sa_roles)
  • service_encryption_key_ids: object
    additional properties: false
    • ^[a-z-]+\.googleapis\.com$: array
      • items: string
  • services: array
    • items: string
      pattern: ^[a-z-]+.googleapis.com$
  • shared_vpc_host_config: object
    additional properties: false
    • enabled: boolean
    • service_projects: array
      • items: string
  • shared_vpc_service_config: object
    additional properties: false
    • host_project: string
    • iam_bindings_additive: reference(iam_bindings_additive)
    • network_users: array
      • items: string
    • service_agent_iam: object
      • ^[a-z0-9_-]+$: array
        • items: string
    • service_agent_subnet_iam: object
      • ^[a-z0-9_-]+$: array
        • items: string
    • service_iam_grants: array
      • items: string
    • network_subnet_users: object
      • ^[a-z0-9_-]+$: array
        • items: string
  • tag_bindings: object
    additional properties: false
    • ^[a-z0-9_-]+$: string
  • tags: object additional properties: Object
  • vpc_sc: object
    • perimeter_name: string
    • perimeter_bridges: array
      • items: string
    • is_dry_run: boolean

Definitions

  • bucket: object
    additional properties: false
    • description: string
    • iam: reference(iam)
    • iam_bindings: reference(iam_bindings)
    • iam_bindings_additive: reference(iam_bindings_additive)
    • force_destroy: boolean
    • labels: object additional properties: String
    • location: string
    • prefix: string
    • storage_class: string
    • uniform_bucket_level_access: boolean
    • versioning: boolean
  • buckets: object
    additional properties: false
    • ^[a-z0-9-]+$: reference(bucket)
  • iam: object
    additional properties: false
    • ^roles/: array
      • items: string
        pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|[a-z])
  • iam_bindings: object
    additional properties: false
    • ^[a-z0-9_-]+$: object
      additional properties: false
      • members: array
        • items: string
          pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|[a-z])
      • role: string
        pattern: ^roles/
      • condition: object
        additional properties: false
        • expression: string
        • title: string
        • description: string
  • iam_bindings_additive: object
    additional properties: false
    • ^[a-z0-9_-]+$: object
      additional properties: false
      • member: string
        pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|[a-z])
      • role: string
        pattern: ^[a-zA-Z0-9_/]+$
      • condition: object
        additional properties: false
        • expression: string
        • title: string
        • description: string
  • iam_by_principals: object
    additional properties: false
    • ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|[a-z]): array
      • items: string
        pattern: ^roles/
  • iam_billing_roles: object
    additional properties: false
    • ^[a-z0-9-]+$: array
      • items: string
  • iam_folder_roles: object
    additional properties: false
    • ^[a-z0-9-]+$: array
      • items: string
  • iam_organization_roles: object
    additional properties: false
    • ^[a-z0-9-]+$: array
      • items: string
  • iam_project_roles: object
    additional properties: false
    • ^[a-z0-9-]+$: array
      • items: string
  • iam_sa_roles: object
    additional properties: false
    • ^[a-z0-9-]+$: array
      • items: string
  • iam_storage_roles: object
    additional properties: false
    • ^[a-z0-9-]+$: array
      • items: string