JSON schema documentation tool (#3070)

* wip

* wip

* wip

* generate schema docs

* formatting

* typo

* fix details

* fix details

* revert dp change

* tfdoc
This commit is contained in:
Ludovico Magnocavallo
2025-05-06 08:17:46 +02:00
committed by GitHub
parent 41b4cdef68
commit 30b390483e
69 changed files with 3817 additions and 304 deletions

View File

@@ -1,6 +1,6 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Project",
"title": "Budget",
"type": "object",
"additionalProperties": false,
"required": [

View File

@@ -0,0 +1,62 @@
# Budget
<!-- markdownlint-disable MD036 -->
## Properties
*additional properties: false*
- ⁺**amount**: *object*
<br>*additional properties: false*
- **currency_code**: *string*
- **nanos**: *number*
- **units**: *number*
- **use_last_period**: *boolean*
- **display_name**: *string*
- **filter**: *object*
<br>*additional properties: false*
- **credit_types_treatment**: *object*
<br>*additional properties: false*
- **exclude_all**: *boolean*
- **include_specified**: *array*
- items: *string*
- **label**: *object*
<br>*additional properties: false*
- **key**: *string*
- **value**: *string*
- **period**: *object*
<br>*additional properties: false*
- **calendar**: *string*
- **custom**: *object*
<br>*additional properties: false*
- **start_date**: *reference([date](#refs-date))*
- **end_date**: *reference([date](#refs-date))*
- **projects**: *array*
- items: *string*
- **resource_ancestors**: *array*
- items: *string*
- **services**: *array*
- items: *string*
- **subaccounts**: *array*
- items: *string*
- **threshold_rules**: *array*
- items: *object*
<br>*additional properties: false*
- ⁺**percent**: *number*
- **forecasted_spend**: *boolean*
- **update_rules**: *object*
<br>*additional properties: false*
- **`^[a-z0-9_-]+$`**: *object*
<br>*additional properties: false*
- **disable_default_iam_recipients**: *boolean*
- **monitoring_notification_channels**: *array*
- items: *string*
- **pubsub_topic**: *string*
## Definitions
- **date**<a name="refs-date"></a>: *object*
<br>*additional properties: false*
- **day**: *number*
- **month**: *number*
- **year**: *number*

View File

@@ -37,6 +37,7 @@
"additionalProperties": false,
"properties": {
"primitive_type": {
"type": "string",
"enum": [
"DOUBLE",
"STRING",

View File

@@ -0,0 +1,60 @@
# Data Catalog Tag Template
<!-- markdownlint-disable MD036 -->
## Properties
*additional properties: false*
- **display_name**: *string*
- **force_delete**: *boolean*
- **region**: *string*
- **fields**: *object*
<br>*additional properties: false*
- **display_name**: *string*
- **description**: *string*
- **is_required**: *boolean*
- **order**: *number*
- **type**: *object*
<br>*additional properties: false*
- **primitive_type**: *string*
<br>*enum: ['DOUBLE', 'STRING', 'BOOL', 'TIMESTAMP']*
- **enum_type_values**: *array*
- items: *string*
- **iam**: *reference([iam](#refs-iam))*
- **iam_bindings**: *reference([iam_bindings](#refs-iam_bindings))*
- **iam_bindings_additive**: *reference([iam_bindings_additive](#refs-iam_bindings_additive))*
## Definitions
- **iam**<a name="refs-iam"></a>: *object*
<br>*additional properties: false*
- **`^roles/`**: *array*
- items: *string*
- **iam_bindings**<a name="refs-iam_bindings"></a>: *object*
<br>*additional properties: false*
- **`^[a-z0-9_-]+$`**: *object*
<br>*additional properties: false*
- **members**: *array*
- items: *string*
- **role**: *string*
- **condition**: *object*
<br>*additional properties: false*
- ⁺**expression**: *string*
- ⁺**title**: *string*
- **description**: *string*
- **iam_bindings_additive**<a name="refs-iam_bindings_additive"></a>: *object*
<br>*additional properties: false*
- **`^[a-z0-9_-]+$`**: *object*
<br>*additional properties: false*
- **member**: *string*
- **role**: *string*
- **condition**: *object*
<br>*additional properties: false*
- ⁺**expression**: *string*
- ⁺**title**: *string*
- **description**: *string*
- **iam_by_principals**<a name="refs-iam_by_principals"></a>: *object*
<br>*additional properties: false*
- **`^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|[a-z])`**: *array*
- items: *string*

View File

@@ -0,0 +1,45 @@
# Dataplex Aspect Type
<!-- markdownlint-disable MD036 -->
## Properties
*additional properties: false*
- **description**: *string*
- **display_name**: *string*
- **labels**: *object*
- **metadata_template**: *string*
- **iam**: *reference([iam](#refs-iam))*
- **iam_bindings**: *reference([iam_bindings](#refs-iam_bindings))*
- **iam_bindings_additive**: *reference([iam_bindings_additive](#refs-iam_bindings_additive))*
## Definitions
- **iam**<a name="refs-iam"></a>: *object*
<br>*additional properties: false*
- **`^roles/`**: *array*
- items: *string*
- **iam_bindings**<a name="refs-iam_bindings"></a>: *object*
<br>*additional properties: false*
- **`^[a-z0-9_-]+$`**: *object*
<br>*additional properties: false*
- **members**: *array*
- items: *string*
- **role**: *string*
- **condition**: *object*
<br>*additional properties: false*
- ⁺**expression**: *string*
- ⁺**title**: *string*
- **description**: *string*
- **iam_bindings_additive**<a name="refs-iam_bindings_additive"></a>: *object*
<br>*additional properties: false*
- **`^[a-z0-9_-]+$`**: *object*
<br>*additional properties: false*
- **member**: *string*
- **role**: *string*
- **condition**: *object*
<br>*additional properties: false*
- ⁺**expression**: *string*
- ⁺**title**: *string*
- **description**: *string*

View File

@@ -0,0 +1,33 @@
# Organization Policies
<!-- markdownlint-disable MD036 -->
## Properties
*additional properties: false*
- **`^[a-z-]+[a-zA-Z0-9\.]+$`**: *object*
<br>*additional properties: false*
- **inherit_from_parent**: *boolean*
- **reset**: *boolean*
- **rules**: *array*
- items: *object*
<br>*additional properties: false*
- **allow**: *reference([allow-deny](#refs-allow-deny))*
- **deny**: *reference([allow-deny](#refs-allow-deny))*
- **enforce**: *boolean*
- **condition**: *object*
<br>*additional properties: false*
- **description**: *string*
- **expression**: *string*
- **location**: *string*
- **title**: *string*
- **parameters**: *string*
## Definitions
- **allow-deny**<a name="refs-allow-deny"></a>: *object*
<br>*additional properties: false*
- **all**: *boolean*
- **values**: *array*
- items: *string*

View File

@@ -20,6 +20,7 @@
"type": "number"
},
"action": {
"type": "string",
"enum": [
"allow",
"deny",

View File

@@ -0,0 +1,49 @@
# Firewall Rules
<!-- markdownlint-disable MD036 -->
## Properties
*additional properties: false*
- **`^[a-z0-9_-]+$`**: *reference([rule](#refs-rule))*
## Definitions
- **rule**<a name="refs-rule"></a>: *object*
<br>*additional properties: false*
- ⁺**priority**: *number*
- **action**: *string*
<br>*enum: ['allow', 'deny', 'goto_next', 'apply_security_profile_group']*
- **description**: *string*
- **disabled**: *boolean*
- **enable_logging**: *boolean*
- **security_profile_group**: *string*
- **target_resources**: *array*
- items: *string*
- **target_service_accounts**: *array*
- items: *string*
- **target_tags**: *array*
- items: *string*
- **tls_inspect**: *boolean*
- **match**: *object*
<br>*additional properties: false*
- **address_groups**: *array*
- items: *string*
- **fqdns**: *array*
- items: *string*
- **region_codes**: *array*
- items: *string*
- **threat_intelligences**: *array*
- items: *string*
- **destination_ranges**: *array*
- items: *string*
- **source_ranges**: *array*
- items: *string*
- **source_tags**: *array*
- items: *string*
- **layer4_configs**: *array*
- items: *object*
<br>*additional properties: false*
- **protocol**: *string*
- **ports**: *array*

View File

@@ -0,0 +1,24 @@
# Policy rule
<!-- markdownlint-disable MD036 -->
## Properties
*additional properties: false*
- ⁺**priority**: *integer*
- **allow**: *boolean*
- **description**: *string*
- **enabled**: *boolean*
- **application_matcher**: *string*
- **session_matcher**: *string*
- **tls_inspect**: *boolean*
- **matcher_args**: *object*
<br>*additional properties: false*
- **application**: *array*
- items: *string*
- **session**: *array*
- items: *string*
## Definitions

View File

@@ -0,0 +1,14 @@
# URL list
<!-- markdownlint-disable MD036 -->
## Properties
*additional properties: false*
- **description**: *string*
- **values**: *array*
- items: *string*
## Definitions

View File

@@ -1302,19 +1302,13 @@
"type": "string"
},
"exclude_export_ranges": {
"type": [
"array",
"null"
],
"type": "array",
"items": {
"type": "string"
}
},
"include_export_ranges": {
"type": [
"array",
"null"
],
"type": "array",
"items": {
"type": "string"
}
@@ -1506,4 +1500,4 @@
}
}
}
}
}

View File

@@ -0,0 +1,460 @@
# Network Project Configuration (Single)
<!-- markdownlint-disable MD036 -->
## Properties
*additional properties: false*
- **project_config**: *reference([projectConfig](#refs-projectConfig))*
- **ncc_hub_config**: *reference([nccHubConfig](#refs-nccHubConfig))*
- **vpc_config**: *reference([vpcConfigMap](#refs-vpcConfigMap))*
## Definitions
- **projectConfig**<a name="refs-projectConfig"></a>: *object*
<br>*additional properties: false*
- ⁺**name**: *string*
- **prefix**: *string*
- **parent**: *string*
- **project_reuse**: *object*
<br>*additional properties: false*
- **use_data_source**: *boolean*
- **project_attributes**: *object*
- ⁺**name**: *string*
- ⁺**number**: *number*
- **services_enabled**: *array*
- items: *string*
- **billing_account**: *string*
- **deletion_policy**: *string*
<br>*enum: ['DELETE', 'ABANDON']*
- **default_service_account**: *string*
<br>*enum: ['deprovision', 'disable', 'keep']*
- **auto_create_network**: *boolean*
- **project_create**: *boolean*
- **shared_vpc_host_config**: *object*
<br>*additional properties: false*
- ⁺**enabled**: *boolean*
- **service_projects**: *array*
- items: *string*
- **services**: *array*
- items: *string*
- **org_policies**: *reference([orgPolicies](#refs-orgPolicies))*
- **metric_scopes**: *array*
- items: *string*
- **iam**: *reference([iam](#refs-iam))*
- **iam_bindings**: *reference([iamBindings](#refs-iamBindings))*
- **iam_bindings_additive**: *reference([iamBindingsAdditive](#refs-iamBindingsAdditive))*
- **iam_by_principals**: *reference([iamByPrincipals](#refs-iamByPrincipals))*
- **iam_by_principals_additive**: *reference([iamByPrincipals](#refs-iamByPrincipals))*
- **nccHubConfig**<a name="refs-nccHubConfig"></a>: *object*
<br>*additional properties: false*
- ⁺**name**: *string*
- **description**: *string*
- **preset_topology**: *string*
<br>*enum: ['MESH', 'STAR', 'PLANETARY']*
- **export_psc**: *boolean*
- **groups**: *object*
<br>*additional properties: false*
- **`^[a-zA-Z0-9_-]+$`**: *reference([nccGroup](#refs-nccGroup))*
- **nccGroup**<a name="refs-nccGroup"></a>: *object*
<br>*additional properties: false*
- **labels**: *reference([stringMap](#refs-stringMap))*
- **description**: *string*
- **auto_accept**: *array*
- items: *string*
- **vpcConfigMap**<a name="refs-vpcConfigMap"></a>: *object*
<br>*additional properties: false*
- **`^[a-z0-9-]+$`**: *reference([vpcConfigEntry](#refs-vpcConfigEntry))*
- **vpcConfigEntry**<a name="refs-vpcConfigEntry"></a>: *object*
<br>*additional properties: false*
- **auto_create_subnetworks**: *boolean*
- **create_googleapis_routes**: *object*
<br>*additional properties: false*
- **private**: *boolean*
- **private-6**: *boolean*
- **restricted**: *boolean*
- **restricted-6**: *boolean*
- **delete_default_routes_on_create**: *boolean*
- **description**: *string*
- **dns_policy**: *object*
<br>*additional properties: false*
- **inbound**: *boolean*
- **logging**: *boolean*
- **outbound**: *object*
<br>*additional properties: false*
- **private_ns**: *array*
- items: *string*
- **public_ns**: *array*
- items: *string*
- **dns_zones**: *object*
<br>*additional properties: false*
- **`^[a-zA-Z0-9-]+$`**: *reference([dnsZone](#refs-dnsZone))*
- **firewall_policy_enforcement_order**: *string*
<br>*enum: ['AFTER_CLASSIC_FIREWALL', 'BEFORE_CLASSIC_FIREWALL']*
- **ipv6_config**: *object*
<br>*additional properties: false*
- **enable_ula_internal**: *boolean*
- **internal_range**: *string*
- **mtu**: *number*
- **nat_config**: *object*
<br>*additional properties: false*
- **`^[a-zA-Z0-9-]+$`**: *reference([natConfig](#refs-natConfig))*
- **network_attachments**: *object*
<br>*additional properties: false*
- **`^[a-zA-Z0-9-]+$`**: *reference([networkAttachment](#refs-networkAttachment))*
- **policy_based_routes**: *object*
<br>*additional properties: false*
- **`^[a-zA-Z0-9-]+$`**: *reference([policyBasedRoute](#refs-policyBasedRoute))*
- **psa_config**: *array*
- items: *reference([psaConfig](#refs-psaConfig))*
- **routers**: *object*
<br>*additional properties: false*
- **`^[a-zA-Z0-9-]+$`**: *reference([routerConfig](#refs-routerConfig))*
- **routes**: *object*
<br>*additional properties: false*
- **`^[a-zA-Z0-9-]+$`**: *reference([routeConfig](#refs-routeConfig))*
- **routing_mode**: *string*
<br>*enum: ['GLOBAL', 'REGIONAL']*
- **subnets_factory_config**: *object*
<br>*additional properties: false*
- **context**: *object*
<br>*additional properties: false*
- **regions**: *reference([stringMap](#refs-stringMap))*
- **subnets_folder**: *string*
- **firewall_factory_config**: *object*
<br>*additional properties: false*
- **cidr_tpl_file**: *string*
- **rules_folder**: *string*
- **vpn_config**: *object*
<br>*additional properties: false*
- **`^[a-zA-Z0-9-]+$`**: *reference([vpnConfig](#refs-vpnConfig))*
- **peering_config**: *object*
<br>*additional properties: false*
- **`^[a-zA-Z0-9-]+$`**: *reference([peeringConfig](#refs-peeringConfig))*
- **ncc_config**: *reference([vpcNccConfig](#refs-vpcNccConfig))*
- **dnsZone**<a name="refs-dnsZone"></a>: *object*
<br>*additional properties: false*
- **force_destroy**: *boolean*
- **description**: *string*
- **iam**: *reference([iam](#refs-iam))*
- **zone_config**: *reference([dnsZoneConfig](#refs-dnsZoneConfig))*
- **recordsets**: *object*
<br>*additional properties: false*
- **`^[a-zA-Z0-9_. -]+$`**: *reference([dnsRecordSet](#refs-dnsRecordSet))*
- **dnsZoneConfig**<a name="refs-dnsZoneConfig"></a>: *object*
<br>*additional properties: false*
- ⁺**domain**: *string*
- **forwarding**: *object*
<br>*additional properties: false*
- **forwarders**: *reference([stringMap](#refs-stringMap))*
- **client_networks**: *array*
- items: *string*
- **peering**: *object*
<br>*additional properties: false*
- **client_networks**: *array*
- items: *string*
- ⁺**peer_network**: *string*
- **public**: *object*
<br>*additional properties: false*
- **dnssec_config**: *reference([dnssecConfig](#refs-dnssecConfig))*
- **enable_logging**: *boolean*
- **private**: *object*
<br>*additional properties: false*
- **client_networks**: *array*
- items: *string*
- **service_directory_namespace**: *string*
- **dnssecConfig**<a name="refs-dnssecConfig"></a>: *object*
<br>*additional properties: false*
- **non_existence**: *string*
<br>*enum: ['nsec', 'nsec3']*
- ⁺**state**: *string*
<br>*enum: ['on', 'off', 'transfer']*
- **key_signing_key**: *reference([dnsKeySpec](#refs-dnsKeySpec))*
- **zone_signing_key**: *reference([dnsKeySpec](#refs-dnsKeySpec))*
- **dnsKeySpec**<a name="refs-dnsKeySpec"></a>: *object*
<br>*additional properties: false*
- ⁺**algorithm**: *string*
<br>*enum: ['rsasha1', 'rsasha256', 'rsasha512', 'ecdsap256sha256', 'ecdsap384sha384']*
- ⁺**key_length**: *number*
- **dnsRecordSet**<a name="refs-dnsRecordSet"></a>: *object*
<br>*additional properties: false*
- **ttl**: *number*
- **records**: *array*
- items: *string*
- **geo_routing**: *array*
- items: *reference([dnsGeoRoutingRule](#refs-dnsGeoRoutingRule))*
- **wrr_routing**: *array*
- items: *reference([dnsWrrRoutingRule](#refs-dnsWrrRoutingRule))*
- **dnsGeoRoutingRule**<a name="refs-dnsGeoRoutingRule"></a>: *object*
<br>*additional properties: false*
- ⁺**location**: *string*
- **records**: *array*
- items: *string*
- **health_checked_targets**: *array*
- items: *reference([dnsHealthCheckedTarget](#refs-dnsHealthCheckedTarget))*
- **dnsHealthCheckedTarget**<a name="refs-dnsHealthCheckedTarget"></a>: *object*
<br>*additional properties: false*
- ⁺**load_balancer_type**: *string*
- ⁺**ip_address**: *string*
- ⁺**port**: *string*
- ⁺**ip_protocol**: *string*
- ⁺**network_url**: *string*
- ⁺**project**: *string*
- **region**: *string*
- **dnsWrrRoutingRule**<a name="refs-dnsWrrRoutingRule"></a>: *object*
<br>*additional properties: false*
- ⁺**weight**: *number*
- ⁺**records**: *array*
- items: *string*
- **natConfig**<a name="refs-natConfig"></a>: *object*
<br>*additional properties: false*
- ⁺**region**: *string*
- **router_create**: *boolean*
- **router_name**: *string*
- **router_network**: *string*
- **router_asn**: *number*
- **type**: *string*
<br>*enum: ['PUBLIC', 'PRIVATE']*
- **addresses**: *array*
- items: *string*
- **endpoint_types**: *array*
- items: *string*
<br>*enum: ['ENDPOINT_TYPE_VM', 'ENDPOINT_TYPE_SWG', 'ENDPOINT_TYPE_MANAGED_PROXY_LB']*
- **logging_filter**: *string*
<br>*enum: ['ERRORS_ONLY', 'TRANSLATIONS_ONLY', 'ALL']*
- **config_port_allocation**: *object*
<br>*additional properties: false*
- **enable_endpoint_independent_mapping**: *boolean*
- **enable_dynamic_port_allocation**: *boolean*
- **min_ports_per_vm**: *number*
- **max_ports_per_vm**: *number*
- **config_source_subnetworks**: *object*
<br>*additional properties: false*
- **all**: *boolean*
- **primary_ranges_only**: *boolean*
- **subnetworks**: *array*
- items: *reference([natSourceSubnetwork](#refs-natSourceSubnetwork))*
- **config_timeouts**: *object*
<br>*additional properties: false*
- **icmp**: *number*
- **tcp_established**: *number*
- **tcp_time_wait**: *number*
- **tcp_transitory**: *number*
- **udp**: *number*
- **rules**: *array*
- items: *reference([natRule](#refs-natRule))*
- **natSourceSubnetwork**<a name="refs-natSourceSubnetwork"></a>: *object*
<br>*additional properties: false*
- ⁺**self_link**: *string*
- **all_ranges**: *boolean*
- **primary_range**: *boolean*
- **secondary_ranges**: *array*
- items: *string*
- **natRule**<a name="refs-natRule"></a>: *object*
<br>*additional properties: false*
- **description**: *string*
- ⁺**match**: *string*
- **source_ips**: *array*
- items: *string*
- **source_ranges**: *array*
- items: *string*
- **networkAttachment**<a name="refs-networkAttachment"></a>: *object*
<br>*additional properties: false*
- ⁺**subnet**: *string*
- **automatic_connection**: *boolean*
- **description**: *string*
- **producer_accept_lists**: *array*
- items: *string*
- **producer_reject_lists**: *array*
- items: *string*
- **policyBasedRoute**<a name="refs-policyBasedRoute"></a>: *object*
<br>*additional properties: false*
- **description**: *string*
- **labels**: *reference([stringMap](#refs-stringMap))*
- **priority**: *number*
- **next_hop_ilb_ip**: *string*
- **use_default_routing**: *boolean*
- **filter**: *object*
<br>*additional properties: false*
- **ip_protocol**: *string*
- **dest_range**: *string*
- **src_range**: *string*
- **target**: *object*
<br>*additional properties: false*
- **interconnect_attachment**: *string*
- **tags**: *array*
- items: *string*
- **psaConfig**<a name="refs-psaConfig"></a>: *object*
<br>*additional properties: false*
- **deletion_policy**: *string*
<br>*enum: ['delete', 'abandon']*
- **ranges**: *reference([stringMap](#refs-stringMap))*
- **export_routes**: *boolean*
- **import_routes**: *boolean*
- **peered_domains**: *array*
- items: *string*
- **range_prefix**: *string*
- **service_producer**: *string*
- **routerConfig**<a name="refs-routerConfig"></a>: *object*
<br>*additional properties: false*
- ⁺**region**: *string*
- **asn**: *number*
- **custom_advertise**: *reference([customAdvertiseConfig](#refs-customAdvertiseConfig))*
- **keepalive**: *number*
- **name**: *string*
- **routeConfig**<a name="refs-routeConfig"></a>: *object*
<br>*additional properties: false*
- **description**: *string*
- ⁺**dest_range**: *string*
- ⁺**next_hop_type**: *string*
- ⁺**next_hop**: *string*
- **priority**: *number*
- **tags**: *array*
- items: *string*
- **vpnConfig**<a name="refs-vpnConfig"></a>: *object*
<br>*additional properties: false*
- ⁺**region**: *string*
- **ncc_spoke_config**: *object*
<br>*additional properties: false*
- **hub**: *string*
- **description**: *string*
- **labels**: *reference([stringMap](#refs-stringMap))*
- ⁺**peer_gateways**: *object*
<br>*additional properties: false*
- **`^[a-zA-Z0-9-]+$`**: *reference([peerGateway](#refs-peerGateway))*
- **router_config**: *reference([vpnRouterConfig](#refs-vpnRouterConfig))*
- **stack_type**: *string*
<br>*enum: ['IPV4_ONLY', 'IPV4_IPV6']*
- ⁺**tunnels**: *object*
<br>*additional properties: false*
- **`^[a-zA-Z0-9-]+$`**: *reference([vpnTunnel](#refs-vpnTunnel))*
- **peerGateway**<a name="refs-peerGateway"></a>: *object*
<br>*additional properties: false*
- **external**: *reference([externalPeerGateway](#refs-externalPeerGateway))*
- **gcp**: *string*
- **externalPeerGateway**<a name="refs-externalPeerGateway"></a>: *object*
<br>*additional properties: false*
- ⁺**redundancy_type**: *string*
<br>*enum: ['SINGLE_IP_INTERNALLY_REDUNDANT', 'TWO_IPS_REDUNDANCY', 'FOUR_IPS_REDUNDANCY']*
- ⁺**interfaces**: *array*
- items: *string*
- **description**: *string*
- **name**: *string*
- **vpnRouterConfig**<a name="refs-vpnRouterConfig"></a>: *object*
<br>*additional properties: false*
- **asn**: *number*
- **create**: *boolean*
- **custom_advertise**: *reference([customAdvertiseConfig](#refs-customAdvertiseConfig))*
- **keepalive**: *number*
- **name**: *string*
- **override_name**: *string*
- **vpnTunnel**<a name="refs-vpnTunnel"></a>: *object*
<br>*additional properties: false*
- **bgp_peer**: *reference([bgpPeerConfig](#refs-bgpPeerConfig))*
- ⁺**bgp_session_range**: *string*
- **ike_version**: *number*
<br>*enum: [1, 2]*
- **name**: *string*
- **peer_external_gateway_interface**: *number*
- **peer_router_interface_name**: *string*
- **peer_gateway**: *string*
- **router**: *string*
- **shared_secret**: *string*
- ⁺**vpn_gateway_interface**: *number*
- **bgpPeerConfig**<a name="refs-bgpPeerConfig"></a>: *object*
<br>*additional properties: false*
- ⁺**address**: *string*
- ⁺**asn**: *number*
- **route_priority**: *number*
- **custom_advertise**: *reference([customAdvertiseConfig](#refs-customAdvertiseConfig))*
- **md5_authentication_key**: *object*
<br>*additional properties: false*
- ⁺**name**: *string*
- **key**: *string*
- **ipv6**: *object*
<br>*additional properties: false*
- **nexthop_address**: *string*
- **peer_nexthop_address**: *string*
- **name**: *string*
- **customAdvertiseConfig**<a name="refs-customAdvertiseConfig"></a>: *object*
<br>*additional properties: false*
- ⁺**all_subnets**: *boolean*
- **ip_ranges**: *reference([stringMap](#refs-stringMap))*
- **peeringConfig**<a name="refs-peeringConfig"></a>: *object*
<br>*additional properties: false*
- ⁺**peer_network**: *string*
- **routes_config**: *object*
<br>*additional properties: false*
- **export**: *boolean*
- **import**: *boolean*
- **public_export**: *boolean*
- **public_import**: *boolean*
- **stack_type**: *string*
<br>*enum: ['IPV4_ONLY', 'IPV4_IPV6']*
- **vpcNccConfig**<a name="refs-vpcNccConfig"></a>: *object*
<br>*additional properties: false*
- ⁺**hub**: *string*
- **description**: *string*
- **labels**: *reference([stringMap](#refs-stringMap))*
- **group**: *string*
- **exclude_export_ranges**: *array*
- items: *string*
- **include_export_ranges**: *array*
- items: *string*
- **stringMap**<a name="refs-stringMap"></a>: *object*
*additional properties: String*
- **condition**<a name="refs-condition"></a>: *object*
<br>*additional properties: false*
- ⁺**expression**: *string*
- ⁺**title**: *string*
- **description**: *string*
- **principalPattern**<a name="refs-principalPattern"></a>: *string*
- **rolePattern**<a name="refs-rolePattern"></a>: *string*
- **iam**<a name="refs-iam"></a>: *object*
<br>*additional properties: false*
- **`^roles/`**: *array*
- items: *reference([principalPattern](#refs-principalPattern))*
- **iamBindings**<a name="refs-iamBindings"></a>: *object*
<br>*additional properties: false*
- **`^[a-z0-9_-]+$`**: *object*
<br>*additional properties: false*
- ⁺**members**: *array*
- items: *reference([principalPattern](#refs-principalPattern))*
- **role**: *reference([rolePattern](#refs-rolePattern))*
- **condition**: *reference([condition](#refs-condition))*
- **iamBindingsAdditive**<a name="refs-iamBindingsAdditive"></a>: *object*
<br>*additional properties: false*
- **`^[a-z0-9_-]+$`**: *object*
<br>*additional properties: false*
- **member**: *reference([principalPattern](#refs-principalPattern))*
- **role**: *reference([rolePattern](#refs-rolePattern))*
- **condition**: *reference([condition](#refs-condition))*
- **iamByPrincipals**<a name="refs-iamByPrincipals"></a>: *object*
<br>*additional properties: false*
- **`^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|[a-z])`**: *array*
- items: *reference([rolePattern](#refs-rolePattern))*
- **orgPolicies**<a name="refs-orgPolicies"></a>: *object*
<br>*additional properties: false*
- **`^[a-z]+\.`**: *reference([orgPolicyConfig](#refs-orgPolicyConfig))*
- **orgPolicyConfig**<a name="refs-orgPolicyConfig"></a>: *object*
- **inherit_from_parent**: *boolean*
- **reset**: *boolean*
- **rules**: *array*
- items: *reference([orgPolicyRule](#refs-orgPolicyRule))*
- **orgPolicyRule**<a name="refs-orgPolicyRule"></a>: *object*
<br>*additional properties: false*
- **allow**: *reference([orgPolicyRuleAllowDeny](#refs-orgPolicyRuleAllowDeny))*
- **deny**: *reference([orgPolicyRuleAllowDeny](#refs-orgPolicyRuleAllowDeny))*
- **enforce**: *boolean*
- **condition**: *object*
<br>*additional properties: false*
- **description**: *string*
- **expression**: *string*
- **location**: *string*
- **title**: *string*
- **orgPolicyRuleAllowDeny**<a name="refs-orgPolicyRuleAllowDeny"></a>: *object*
<br>*additional properties: false*
- **all**: *boolean*
- **values**: *array*
- items: *string*

View File

@@ -0,0 +1,41 @@
# Firewall Rules
<!-- markdownlint-disable MD036 -->
## Properties
*additional properties: false*
- **egress**: *object*
<br>*additional properties: false*
- **`^[a-z0-9_-]+$`**: *reference([rule](#refs-rule))*
- **ingress**: *object*
<br>*additional properties: false*
- **`^[a-z0-9_-]+$`**: *reference([rule](#refs-rule))*
## Definitions
- **rule**<a name="refs-rule"></a>: *object*
<br>*additional properties: false*
- **deny**: *boolean*
- **description**: *string*
- **destination_ranges**: *array*
- items: *string*
- **disabled**: *boolean*
- **enable_logging**: *object*
<br>*additional properties: false*
- **include_metadata**: *boolean*
- **priority**: *number*
- **source_ranges**: *array*
- items: *string*
- **sources**: *array*
- items: *string*
- **targets**: *array*
- items: *string*
- **use_service_accounts**: *boolean*
- **rules**: *array*
- items: *object*
<br>*additional properties: false*
- **protocol**: *string*
- **ports**: *array*
- items: *number*

View File

@@ -0,0 +1,64 @@
# Subnet
<!-- markdownlint-disable MD036 -->
## Properties
*additional properties: false*
- **active**: *boolean*
- **description**: *string*
- **enable_private_access**: *boolean*
- **allow_subnet_cidr_routes_overlap**: *boolean*
- **flow_logs_config**: *object*
<br>*additional properties: false*
- **aggregation_interval**: *string*
- **filter_expression**: *string*
- **flow_sampling**: *number*
- **metadata**: *string*
- **metadata_fields**: *array*
- items: *string*
- **global**: *boolean*
- ⁺**ip_cidr_range**: *string*
- **ipv6**: *object*
<br>*additional properties: false*
- **access_type**: *string*
- **name**: *string*
- ⁺**region**: *string*
- **psc**: *boolean*
- **proxy_only**: *boolean*
- **secondary_ip_ranges**: *object*
*additional properties: String*
- **iam**: *reference([iam](#refs-iam))*
- **iam_bindings**: *reference([iam_bindings](#refs-iam_bindings))*
- **iam_bindings_additive**: *reference([iam_bindings_additive](#refs-iam_bindings_additive))*
## Definitions
- **iam**<a name="refs-iam"></a>: *object*
<br>*additional properties: false*
- **`^roles/`**: *array*
- items: *string*
- **iam_bindings**<a name="refs-iam_bindings"></a>: *object*
<br>*additional properties: false*
- **`^[a-z0-9_-]+$`**: *object*
<br>*additional properties: false*
- **members**: *array*
- items: *string*
- **role**: *string*
- **condition**: *object*
<br>*additional properties: false*
- ⁺**expression**: *string*
- ⁺**title**: *string*
- **description**: *string*
- **iam_bindings_additive**<a name="refs-iam_bindings_additive"></a>: *object*
<br>*additional properties: false*
- **`^[a-z0-9_-]+$`**: *object*
<br>*additional properties: false*
- **member**: *string*
- **role**: *string*
- **condition**: *object*
<br>*additional properties: false*
- ⁺**expression**: *string*
- ⁺**title**: *string*
- **description**: *string*

View File

@@ -0,0 +1,14 @@
# Custom Role
<!-- markdownlint-disable MD036 -->
## Properties
*additional properties: false*
- **name**: *string*
- **includedPermissions**: *array*
- items: *string*
## Definitions

View File

@@ -0,0 +1,33 @@
# Organization Policies
<!-- markdownlint-disable MD036 -->
## Properties
*additional properties: false*
- **`^[a-z-]+[a-zA-Z0-9\.]+$`**: *object*
<br>*additional properties: false*
- **inherit_from_parent**: *boolean*
- **reset**: *boolean*
- **rules**: *array*
- items: *object*
<br>*additional properties: false*
- **allow**: *reference([allow-deny](#refs-allow-deny))*
- **deny**: *reference([allow-deny](#refs-allow-deny))*
- **enforce**: *boolean*
- **condition**: *object*
<br>*additional properties: false*
- **description**: *string*
- **expression**: *string*
- **location**: *string*
- **title**: *string*
- **parameters**: *string*
## Definitions
- **allow-deny**<a name="refs-allow-deny"></a>: *object*
<br>*additional properties: false*
- **all**: *boolean*
- **values**: *array*
- items: *string*

View File

@@ -0,0 +1,21 @@
# Organization Policy Custom Constraints
<!-- markdownlint-disable MD036 -->
## Properties
*additional properties: false*
- **`^[a-z-]+\.[a-zA-Z]+$`**: *object*
<br>*additional properties: false*
- **display_name**: *string*
- **description**: *string*
- ⁺**action_type**: *string*
- ⁺**condition**: *string*
- **method_types**: *array*
- items: *string*
- **resource_types**: *array*
- items: *string*
## Definitions

View File

@@ -0,0 +1,62 @@
# Budget
<!-- markdownlint-disable MD036 -->
## Properties
*additional properties: false*
- ⁺**amount**: *object*
<br>*additional properties: false*
- **currency_code**: *string*
- **nanos**: *number*
- **units**: *number*
- **use_last_period**: *boolean*
- **display_name**: *string*
- **filter**: *object*
<br>*additional properties: false*
- **credit_types_treatment**: *object*
<br>*additional properties: false*
- **exclude_all**: *boolean*
- **include_specified**: *array*
- items: *string*
- **label**: *object*
<br>*additional properties: false*
- **key**: *string*
- **value**: *string*
- **period**: *object*
<br>*additional properties: false*
- **calendar**: *string*
- **custom**: *object*
<br>*additional properties: false*
- **start_date**: *reference([date](#refs-date))*
- **end_date**: *reference([date](#refs-date))*
- **projects**: *array*
- items: *string*
- **resource_ancestors**: *array*
- items: *string*
- **services**: *array*
- items: *string*
- **subaccounts**: *array*
- items: *string*
- **threshold_rules**: *array*
- items: *object*
<br>*additional properties: false*
- ⁺**percent**: *number*
- **forecasted_spend**: *boolean*
- **update_rules**: *object*
<br>*additional properties: false*
- **`^[a-z0-9_-]+$`**: *object*
<br>*additional properties: false*
- **disable_default_iam_recipients**: *boolean*
- **monitoring_notification_channels**: *array*
- items: *string*
- **pubsub_topic**: *string*
## Definitions
- **date**<a name="refs-date"></a>: *object*
<br>*additional properties: false*
- **day**: *number*
- **month**: *number*
- **year**: *number*

View File

@@ -24,66 +24,69 @@
"additionalProperties": false,
"patternProperties": {
"^[a-z]+\\.": {
"inherit_from_parent": {
"type": "boolean"
},
"reset": {
"type": "boolean"
},
"rules": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"allow": {
"type": "object",
"additionalProperties": false,
"properties": {
"all": {
"type": "boolean"
},
"values": {
"type": "array",
"items": {
"type": "string"
"type": "object",
"properties": {
"inherit_from_parent": {
"type": "boolean"
},
"reset": {
"type": "boolean"
},
"rules": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"allow": {
"type": "object",
"additionalProperties": false,
"properties": {
"all": {
"type": "boolean"
},
"values": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"deny": {
"type": "object",
"additionalProperties": false,
"properties": {
"all": {
"type": "boolean"
},
"values": {
"type": "array",
"items": {
"type": "string"
},
"deny": {
"type": "object",
"additionalProperties": false,
"properties": {
"all": {
"type": "boolean"
},
"values": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"enforce": {
"type": "boolean"
},
"condition": {
"type": "object",
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
},
"expression": {
"type": "string"
},
"location": {
"type": "string"
},
"title": {
"type": "string"
},
"enforce": {
"type": "boolean"
},
"condition": {
"type": "object",
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
},
"expression": {
"type": "string"
},
"location": {
"type": "string"
},
"title": {
"type": "string"
}
}
}
}

View File

@@ -0,0 +1,76 @@
# Folder
<!-- markdownlint-disable MD036 -->
## Properties
*additional properties: false*
- **iam**: *reference([iam](#refs-iam))*
- **iam_bindings**: *reference([iam_bindings](#refs-iam_bindings))*
- **iam_bindings_additive**: *reference([iam_bindings_additive](#refs-iam_bindings_additive))*
- **iam_by_principals**: *reference([iam_by_principals](#refs-iam_by_principals))*
- **name**: *string*
- **org_policies**: *object*
<br>*additional properties: false*
- **`^[a-z]+\.`**: *object*
- **inherit_from_parent**: *boolean*
- **reset**: *boolean*
- **rules**: *array*
- items: *object*
<br>*additional properties: false*
- **allow**: *object*
<br>*additional properties: false*
- **all**: *boolean*
- **values**: *array*
- items: *string*
- **deny**: *object*
<br>*additional properties: false*
- **all**: *boolean*
- **values**: *array*
- items: *string*
- **enforce**: *boolean*
- **condition**: *object*
<br>*additional properties: false*
- **description**: *string*
- **expression**: *string*
- **location**: *string*
- **title**: *string*
- **parent**: *string*
- **tag_bindings**: *object*
<br>*additional properties: false*
- **`^[a-z0-9_-]+$`**: *string*
## Definitions
- **iam**<a name="refs-iam"></a>: *object*
<br>*additional properties: false*
- **`^roles/`**: *array*
- items: *string*
- **iam_bindings**<a name="refs-iam_bindings"></a>: *object*
<br>*additional properties: false*
- **`^[a-z0-9_-]+$`**: *object*
<br>*additional properties: false*
- **members**: *array*
- items: *string*
- **role**: *string*
- **condition**: *object*
<br>*additional properties: false*
- ⁺**expression**: *string*
- ⁺**title**: *string*
- **description**: *string*
- **iam_bindings_additive**<a name="refs-iam_bindings_additive"></a>: *object*
<br>*additional properties: false*
- **`^[a-z0-9_-]+$`**: *object*
<br>*additional properties: false*
- **member**: *string*
- **role**: *string*
- **condition**: *object*
<br>*additional properties: false*
- ⁺**expression**: *string*
- ⁺**title**: *string*
- **description**: *string*
- **iam_by_principals**<a name="refs-iam_by_principals"></a>: *object*
<br>*additional properties: false*
- **`^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|[a-z])`**: *array*
- items: *string*

View File

@@ -87,7 +87,11 @@
},
"deletion_policy": {
"type": "string",
"enum": ["PREVENT", "DELETE", "ABANDON"]
"enum": [
"PREVENT",
"DELETE",
"ABANDON"
]
},
"iam": {
"$ref": "#/$defs/iam"
@@ -118,66 +122,69 @@
"additionalProperties": false,
"patternProperties": {
"^[a-z]+\\.": {
"inherit_from_parent": {
"type": "boolean"
},
"reset": {
"type": "boolean"
},
"rules": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"allow": {
"type": "object",
"additionalProperties": false,
"properties": {
"all": {
"type": "boolean"
},
"values": {
"type": "array",
"items": {
"type": "string"
"type": "object",
"properties": {
"inherit_from_parent": {
"type": "boolean"
},
"reset": {
"type": "boolean"
},
"rules": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"allow": {
"type": "object",
"additionalProperties": false,
"properties": {
"all": {
"type": "boolean"
},
"values": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"deny": {
"type": "object",
"additionalProperties": false,
"properties": {
"all": {
"type": "boolean"
},
"values": {
"type": "array",
"items": {
"type": "string"
},
"deny": {
"type": "object",
"additionalProperties": false,
"properties": {
"all": {
"type": "boolean"
},
"values": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"enforce": {
"type": "boolean"
},
"condition": {
"type": "object",
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
},
"expression": {
"type": "string"
},
"location": {
"type": "string"
},
"title": {
"type": "string"
},
"enforce": {
"type": "boolean"
},
"condition": {
"type": "object",
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
},
"expression": {
"type": "string"
},
"location": {
"type": "string"
},
"title": {
"type": "string"
}
}
}
}
@@ -655,4 +662,4 @@
}
}
}
}
}

View File

@@ -0,0 +1,199 @@
# Project
<!-- markdownlint-disable MD036 -->
## Properties
*additional properties: false*
- **automation**: *object*
<br>*additional properties: false*
- ⁺**project**: *string*
- **bucket**: *reference([bucket](#refs-bucket))*
- **service_accounts**: *object*
<br>*additional properties: false*
- **`^[a-z0-9-]+$`**: *object*
<br>*additional properties: false*
- **description**: *string*
- **iam**: *reference([iam](#refs-iam))*
- **iam_bindings**: *reference([iam_bindings](#refs-iam_bindings))*
- **iam_bindings_additive**: *reference([iam_bindings_additive](#refs-iam_bindings_additive))*
- **iam_billing_roles**: *reference([iam_billing_roles](#refs-iam_billing_roles))*
- **iam_folder_roles**: *reference([iam_folder_roles](#refs-iam_folder_roles))*
- **iam_organization_roles**: *reference([iam_organization_roles](#refs-iam_organization_roles))*
- **iam_project_roles**: *reference([iam_project_roles](#refs-iam_project_roles))*
- **iam_sa_roles**: *reference([iam_sa_roles](#refs-iam_sa_roles))*
- **iam_storage_roles**: *reference([iam_storage_roles](#refs-iam_storage_roles))*
- **billing_account**: *string*
- **billing_budgets**: *array*
- items: *string*
- **buckets**: *reference([buckets](#refs-buckets))*
- **contacts**: *object*
<br>*additional properties: false*
- **`^[a-z0-9_-]+$`**: *array*
- items: *string*
- **deletion_policy**: *string*
<br>*enum: ['PREVENT', 'DELETE', 'ABANDON']*
- **iam**: *reference([iam](#refs-iam))*
- **iam_bindings**: *reference([iam_bindings](#refs-iam_bindings))*
- **iam_bindings_additive**: *reference([iam_bindings_additive](#refs-iam_bindings_additive))*
- **iam_by_principals**: *reference([iam_by_principals](#refs-iam_by_principals))*
- **labels**: *object*
- **metric_scopes**: *array*
- items: *string*
- **name**: *string*
- **org_policies**: *object*
<br>*additional properties: false*
- **`^[a-z]+\.`**: *object*
- **inherit_from_parent**: *boolean*
- **reset**: *boolean*
- **rules**: *array*
- items: *object*
<br>*additional properties: false*
- **allow**: *object*
<br>*additional properties: false*
- **all**: *boolean*
- **values**: *array*
- items: *string*
- **deny**: *object*
<br>*additional properties: false*
- **all**: *boolean*
- **values**: *array*
- items: *string*
- **enforce**: *boolean*
- **condition**: *object*
<br>*additional properties: false*
- **description**: *string*
- **expression**: *string*
- **location**: *string*
- **title**: *string*
- **parent**: *string*
- **prefix**: *string*
- **project_reuse**: *object*
<br>*additional properties: false*
- **use_data_source**: *boolean*
- **project_attributes**: *object*
- ⁺**name**: *string*
- ⁺**number**: *number*
- **services_enabled**: *array*
- items: *string*
- **service_accounts**: *object*
<br>*additional properties: false*
- **`^[a-z0-9-]+$`**: *object*
<br>*additional properties: false*
- **display_name**: *string*
- **iam**: *reference([iam](#refs-iam))*
- **iam_self_roles**: *array*
- items: *string*
- **iam_project_roles**: *reference([iam_project_roles](#refs-iam_project_roles))*
- **service_encryption_key_ids**: *object*
<br>*additional properties: false*
- **`^[a-z-]+\.googleapis\.com$`**: *array*
- items: *string*
- **services**: *array*
- items: *string*
- **shared_vpc_host_config**: *object*
<br>*additional properties: false*
- ⁺**enabled**: *boolean*
- **service_projects**: *array*
- items: *string*
- **shared_vpc_service_config**: *object*
<br>*additional properties: false*
- ⁺**host_project**: *string*
- **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*
<br>*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**<a name="refs-bucket"></a>: *object*
<br>*additional properties: false*
- **description**: *string*
- **iam**: *reference([iam](#refs-iam))*
- **iam_bindings**: *reference([iam_bindings](#refs-iam_bindings))*
- **iam_bindings_additive**: *reference([iam_bindings_additive](#refs-iam_bindings_additive))*
- **labels**: *object*
*additional properties: String*
- **location**: *string*
- **prefix**: *string*
- **storage_class**: *string*
- **uniform_bucket_level_access**: *boolean*
- **versioning**: *boolean*
- **buckets**<a name="refs-buckets"></a>: *object*
<br>*additional properties: false*
- **`^[a-z0-9-]+$`**: *reference([bucket](#refs-bucket))*
- **iam**<a name="refs-iam"></a>: *object*
<br>*additional properties: false*
- **`^roles/`**: *array*
- items: *string*
- **iam_bindings**<a name="refs-iam_bindings"></a>: *object*
<br>*additional properties: false*
- **`^[a-z0-9_-]+$`**: *object*
<br>*additional properties: false*
- **members**: *array*
- items: *string*
- **role**: *string*
- **condition**: *object*
<br>*additional properties: false*
- ⁺**expression**: *string*
- ⁺**title**: *string*
- **description**: *string*
- **iam_bindings_additive**<a name="refs-iam_bindings_additive"></a>: *object*
<br>*additional properties: false*
- **`^[a-z0-9_-]+$`**: *object*
<br>*additional properties: false*
- **member**: *string*
- **role**: *string*
- **condition**: *object*
<br>*additional properties: false*
- ⁺**expression**: *string*
- ⁺**title**: *string*
- **description**: *string*
- **iam_by_principals**<a name="refs-iam_by_principals"></a>: *object*
<br>*additional properties: false*
- **`^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|[a-z])`**: *array*
- items: *string*
- **iam_billing_roles**<a name="refs-iam_billing_roles"></a>: *object*
<br>*additional properties: false*
- **`^[a-z0-9-]+$`**: *array*
- items: *string*
- **iam_folder_roles**<a name="refs-iam_folder_roles"></a>: *object*
<br>*additional properties: false*
- **`^[a-z0-9-]+$`**: *array*
- items: *string*
- **iam_organization_roles**<a name="refs-iam_organization_roles"></a>: *object*
<br>*additional properties: false*
- **`^[a-z0-9-]+$`**: *array*
- items: *string*
- **iam_project_roles**<a name="refs-iam_project_roles"></a>: *object*
<br>*additional properties: false*
- **`^[a-z0-9-]+$`**: *array*
- items: *string*
- **iam_sa_roles**<a name="refs-iam_sa_roles"></a>: *object*
<br>*additional properties: false*
- **`^[a-z0-9-]+$`**: *array*
- items: *string*
- **iam_storage_roles**<a name="refs-iam_storage_roles"></a>: *object*
<br>*additional properties: false*
- **`^[a-z0-9-]+$`**: *array*
- items: *string*

View File

@@ -0,0 +1,14 @@
# Custom Role
<!-- markdownlint-disable MD036 -->
## Properties
*additional properties: false*
- **name**: *string*
- **includedPermissions**: *array*
- items: *string*
## Definitions

View File

@@ -0,0 +1,166 @@
# Observability Schema
<!-- markdownlint-disable MD036 -->
## Properties
*additional properties: false*
- **alerts**: *reference([alerts](#refs-alerts))*
- **logging_metrics**: *reference([logging_metrics](#refs-logging_metrics))*
- **notification_channels**: *reference([notification_channels](#refs-notification_channels))*
## Definitions
- **alerts**<a name="refs-alerts"></a>: *object*
<br>*additional properties: false*
- **`^[a-zA-Z0-9-]+$`**: *object*
<br>*additional properties: false*
- ⁺**combiner**: *string*
- **display_name**: *string*
- **enabled**: *boolean*
- **notification_channels**: *array*
- items: *string*
- **severity**: *string*
- **user_labels**: *object*
*additional properties: String*
- **alert_strategy**: *object*
<br>*additional properties: false*
- **auto_close**: *string*
- **notification_prompts**: *string*
- **notification_rate_limit**: *object*
<br>*additional properties: false*
- **period**: *string*
- **notification_channel_strategy**: *object*
<br>*additional properties: false*
- **notification_channel_names**: *array*
- items: *string*
- **renotify_interval**: *string*
- **conditions**: *array*
- items: *reference([condition](#refs-condition))*
- **documentation**: *object*
<br>*additional properties: false*
- **content**: *string*
- **mime_type**: *string*
- **subject**: *string*
- **links**: *array*
- items: *object*
<br>*additional properties: false*
- **display_name**: *string*
- **url**: *string*
- **logging_metrics**<a name="refs-logging_metrics"></a>: *object*
<br>*additional properties: false*
- **`^[a-zA-Z0-9-]+$`**: *object*
<br>*additional properties: false*
- ⁺**filter**: *string*
- **bucket_name**: *string*
- **description**: *string*
- **disabled**: *boolean*
- **label_extractors**: *object*
*additional properties: String*
- **value_extractor**: *string*
- **bucket_options**: *object*
<br>*additional properties: false*
- **explicit_buckets**: *object*
<br>*additional properties: false*
- **bounds**: *array*
- items: *number*
- **exponential_buckets**: *object*
<br>*additional properties: false*
- **num_finite_buckets**: *number*
- **growth_factor**: *number*
- **scale**: *number*
- **linear_buckets**: *object*
<br>*additional properties: false*
- **num_finite_buckets**: *number*
- **width**: *number*
- **offset**: *number*
- **metric_descriptor**: *object*
<br>*additional properties: false*
- ⁺**metric_kind**: *string*
- ⁺**value_type**: *string*
- **display_name**: *string*
- **unit**: *string*
- **labels**: *array*
- items: *object*
<br>*additional properties: false*
- ⁺**key**: *string*
- **description**: *string*
- **value_type**: *string*
- **notification_channels**<a name="refs-notification_channels"></a>: *object*
<br>*additional properties: false*
- **`^[a-zA-Z0-9-]+$`**: *object*
<br>*additional properties: false*
- ⁺**type**: *string*
- **description**: *string*
- **display_name**: *string*
- **enabled**: *boolean*
- **labels**: *object*
*additional properties: String*
- **user_labels**: *object*
*additional properties: String*
- **sensitive_labels**: *object*
<br>*additional properties: false*
- **auth_token**: *string*
- **password**: *string*
- **service_key**: *string*
- **condition**<a name="refs-condition"></a>: *object*
<br>*additional properties: false*
- ⁺**display_name**: *string*
- **condition_absent**: *reference([absent_condition](#refs-absent_condition))*
- **condition_matched_log**: *reference([matched_log_condition](#refs-matched_log_condition))*
- **condition_monitoring_query_language**: *reference([monitoring_query_condition](#refs-monitoring_query_condition))*
- **condition_prometheus_query_language**: *reference([prometheus_query_condition](#refs-prometheus_query_condition))*
- **condition_threshold**: *reference([threshold_condition](#refs-threshold_condition))*
- **absent_condition**<a name="refs-absent_condition"></a>: *object*
<br>*additional properties: false*
- ⁺**duration**: *string*
- **filter**: *string*
- **aggregations**: *reference([aggregations](#refs-aggregations))*
- **trigger**: *reference([trigger](#refs-trigger))*
- **matched_log_condition**<a name="refs-matched_log_condition"></a>: *object*
<br>*additional properties: false*
- ⁺**filter**: *string*
- **label_extractors**: *object*
*additional properties: String*
- **monitoring_query_condition**<a name="refs-monitoring_query_condition"></a>: *object*
<br>*additional properties: false*
- ⁺**duration**: *string*
- ⁺**query**: *string*
- **evaluation_missing_data**: *string*
- **trigger**: *reference([trigger](#refs-trigger))*
- **prometheus_query_condition**<a name="refs-prometheus_query_condition"></a>: *object*
<br>*additional properties: false*
- ⁺**query**: *string*
- **alert_rule**: *string*
- **disable_metric_validation**: *boolean*
- **duration**: *string*
- **evaluation_interval**: *string*
- **labels**: *object*
*additional properties: String*
- **rule_group**: *string*
- **threshold_condition**<a name="refs-threshold_condition"></a>: *object*
<br>*additional properties: false*
- ⁺**comparison**: *string*
- ⁺**duration**: *string*
- **denominator_filter**: *string*
- **evaluation_missing_data**: *string*
- **filter**: *string*
- **threshold_value**: *number*
- **aggregations**: *reference([aggregations](#refs-aggregations))*
- **denominator_aggregations**: *reference([aggregations](#refs-aggregations))*
- **forecast_options**: *object*
<br>*additional properties: false*
- **forecast_horizon**: *string*
- **trigger**: *reference([trigger](#refs-trigger))*
- **aggregations**<a name="refs-aggregations"></a>: *object*
<br>*additional properties: false*
- **per_series_aligner**: *string*
- **group_by_fields**: *array*
- items: *string*
- **cross_series_reducer**: *string*
- **alignment_period**: *string*
- **trigger**<a name="refs-trigger"></a>: *object*
<br>*additional properties: false*
- **count**: *number*
- **percent**: *number*

View File

@@ -0,0 +1,33 @@
# Organization Policies
<!-- markdownlint-disable MD036 -->
## Properties
*additional properties: false*
- **`^[a-z-]+[a-zA-Z0-9\.]+$`**: *object*
<br>*additional properties: false*
- **inherit_from_parent**: *boolean*
- **reset**: *boolean*
- **rules**: *array*
- items: *object*
<br>*additional properties: false*
- **allow**: *reference([allow-deny](#refs-allow-deny))*
- **deny**: *reference([allow-deny](#refs-allow-deny))*
- **enforce**: *boolean*
- **condition**: *object*
<br>*additional properties: false*
- **description**: *string*
- **expression**: *string*
- **location**: *string*
- **title**: *string*
- **parameters**: *string*
## Definitions
- **allow-deny**<a name="refs-allow-deny"></a>: *object*
<br>*additional properties: false*
- **all**: *boolean*
- **values**: *array*
- items: *string*

View File

@@ -41,6 +41,7 @@
}
},
"ignore_safety_checks": {
"type": "string",
"enum": [
"QUOTA_DECREASE_BELOW_USAGE",
"QUOTA_DECREASE_PERCENTAGE_TOO_HIGH",

View File

@@ -0,0 +1,24 @@
# Organization Policies
<!-- markdownlint-disable MD036 -->
## Properties
*additional properties: false*
- **`^[a-zA-Z0-9_-]+$`**: *object*
<br>*additional properties: false*
- ⁺**service**: *string*
- ⁺**quota_id**: *string*
- ⁺**preferred_value**: *number*
- **dimensions**: *object*
*additional properties: String*
- **justification**: *string*
- **contact_email**: *string*
- **annotations**: *object*
*additional properties: String*
- **ignore_safety_checks**: *string*
<br>*enum: ['QUOTA_DECREASE_BELOW_USAGE', 'QUOTA_DECREASE_PERCENTAGE_TOO_HIGH', 'QUOTA_SAFETY_CHECK_UNSPECIFIED']*
## Definitions

View File

@@ -0,0 +1,43 @@
# VPC-SC access level
<!-- markdownlint-disable MD036 -->
## Properties
*additional properties: false*
- **combining_function**: *string*
- **conditions**: *array*
- items: *object*
<br>*additional properties: false*
- **device_policy**: *object*
<br>*additional properties: false*
- **allowed_device_management_levels**: *array*
- items: *string*
- **allowed_encryption_statuses**: *array*
- items: *string*
- ⁺**require_admin_approval**: *boolean*
- ⁺**require_corp_owned**: *boolean*
- **require_screen_lock**: *boolean*
- **os_constraints**: *array*
- items: *object*
<br>*additional properties: false*
- **os_type**: *string*
- **minimum_version**: *string*
- **require_verified_chrome_os**: *boolean*
- **ip_subnetworks**: *array*
- items: *string*
- **members**: *array*
- items: *string*
- **negate**: *boolean*
- **regions**: *array*
- items: *string*
- **required_access_levels**: *array*
- items: *string*
- **vpc_subnets**: *object*
<br>*additional properties: false*
- **`^//compute.googleapis.com/projects/[^/]+/global/networks/[^/]+$`**: *array*
- items: *string*
## Definitions

View File

@@ -22,6 +22,7 @@
}
},
"identity_type": {
"type": "string",
"enum": [
"IDENTITY_TYPE_UNSPECIFIED",
"ANY_IDENTITY",
@@ -97,4 +98,4 @@
}
}
}
}
}

View File

@@ -0,0 +1,38 @@
# VPC-SC egress policy
<!-- markdownlint-disable MD036 -->
## Properties
*additional properties: false*
- **title**: *string*
- ⁺**from**: *object*
<br>*additional properties: false*
- **access_levels**: *array*
- items: *string*
- **identity_type**: *string*
<br>*enum: ['IDENTITY_TYPE_UNSPECIFIED', 'ANY_IDENTITY', 'ANY_USER_ACCOUNT', 'ANY_SERVICE_ACCOUNT', '']*
- **identities**: *array*
- items: *string*
- **resources**: *array*
- items: *string*
- ⁺**to**: *object*
<br>*additional properties: false*
- **external_resources**: *array*
- items: *string*
- **operations**: *array*
- items: *object*
<br>*additional properties: false*
- **method_selectors**: *array*
- items: *string*
- **permission_selectors**: *array*
- items: *string*
- ⁺**service_name**: *string*
- **resources**: *array*
- items: *string*
- **roles**: *array*
- items: *string*
## Definitions

View File

@@ -22,6 +22,7 @@
}
},
"identity_type": {
"type": "string",
"enum": [
"IDENTITY_TYPE_UNSPECIFIED",
"ANY_IDENTITY",
@@ -89,4 +90,4 @@
}
}
}
}
}

View File

@@ -0,0 +1,34 @@
# VPC-SC ingress policy
<!-- markdownlint-disable MD036 -->
## Properties
*additional properties: false*
- **title**: *string*
- ⁺**from**: *object*
<br>*additional properties: false*
- **access_levels**: *array*
- items: *string*
- **identity_type**: *string*
<br>*enum: ['IDENTITY_TYPE_UNSPECIFIED', 'ANY_IDENTITY', 'ANY_USER_ACCOUNT', 'ANY_SERVICE_ACCOUNT', '']*
- **identities**: *array*
- items: *string*
- **resources**: *array*
- items: *string*
- ⁺**to**: *object*
<br>*additional properties: false*
- **operations**: *array*
- items: *object*
- **method_selectors**: *array*
- items: *string*
- **permission_selectors**: *array*
- items: *string*
- **resources**: *array*
- items: *string*
- **roles**: *array*
- items: *string*
## Definitions

View File

@@ -0,0 +1,45 @@
# perimeters
<!-- markdownlint-disable MD036 -->
## Properties
*additional properties: false*
- **description**: *string*
- **title**: *string*
- **spec**: *object*
<br>*additional properties: false*
- **access_levels**: *array*
- items: *string*
- **egress_policies**: *array*
- items: *string*
- **ingress_policies**: *array*
- items: *string*
- **restricted_services**: *array*
- items: *string*
- **resources**: *array*
- items: *string*
- **vpc_accessible_services**: *reference([VpcAccessibleServices](#refs-VpcAccessibleServices))*
- **status**: *object*
<br>*additional properties: false*
- **access_levels**: *array*
- items: *string*
- **egress_policies**: *array*
- items: *string*
- **ingress_policies**: *array*
- items: *string*
- **resources**: *array*
- items: *string*
- **restricted_services**: *array*
- items: *string*
- **vpc_accessible_services**: *reference([VpcAccessibleServices](#refs-VpcAccessibleServices))*
- **use_explicit_dry_run_spec**: *boolean*
## Definitions
- **VpcAccessibleServices**<a name="refs-VpcAccessibleServices"></a>: *object*
<br>*additional properties: false*
- ⁺**allowed_services**: *array*
- items: *string*
- **enable_restriction**: *boolean*