Networks

Type: array of object

Each item of this array must be:

Type: object

A Virtual Private Cloud (VPC) network implemented inside of Google's production network

No Additional Properties

Type: string

This field will be used to explitly name this resource


Examples:

{
    "name": "alpha",
    "subnetworks": "......",
    "routes": "......",
    "firewall_rules": "....."
}
{
    "name": "bravo",
    "subnetworks": "......",
    "routes": "......",
    "firewall_rules": "....."
}

Type: string

This field will be used to combine with [environment] and [prefix] to generate a unique VPC name


Examples:

{
    "label": "alpha",
    "subnetworks": "......",
    "routes": "......",
    "firewall_rules": "....."
}
{
    "label": "bravo",
    "subnetworks": "......",
    "routes": "......",
    "firewall_rules": "....."
}

Type: boolean Default: false

If true, this resource should be pre-existing and not be created and/or updated.

Type: string

If specified this 'Project ID' value will override the default value specified in the Terraform module

Type: string

If specified this 'Environment' value will override the default value specified in the Terraform module

Type: string

If specified this 'Prefix' value will override the default value specified in the Terraform module

Type: string

Description to be used for the created Network

Type: enum (of integer) Default: 1460

Maximum transmission unit (MTU) is the size of the largest IP packet that can be transmitted on this network.

Must be one of:

  • 1460
  • 1500

Example:

[
    {
        "name": "......",
        "mtu": 1460,
        "subnetworks": "......",
        "routes": "......",
        "firewall_rules": "....."
    },
    {
        "name": "......",
        "mtu": 1500,
        "subnetworks": "......",
        "routes": "......",
        "firewall_rules": "....."
    }
]

Default: "DISABLED"

Private Google Access for is an alternative to connecting to Google APIs and services over the internet. Setting this to PRIVATE or RESTRICTED will deploy the required Cloud DNS and Routing functionality to enable this feature.

Type: const

Does not deploy GCP configuration required for Private Google Access

Specific value: "DISABLED"
Type: const

Enables API access to most Google APIs and services regardless of whether they are supported by VPC Service Controls.

Specific value: "PRIVATE"
Type: const

Provides access to Cloud and Developer APIs that support VPC Service Controls. Blocks access to Google APIs and services that do not support VPC Service Controls.

Specific value: "RESTRICTED"

Must be one of:

  • "DISABLED"
  • "PRIVATE"
  • "RESTRICTED"

Examples:

[
    {
        "name": "......",
        "private_google_access": "DISABLED",
        "subnetworks": "......",
        "routes": "......",
        "firewall_rules": "....."
    }
]
[
    {
        "name": "......",
        "private_google_access": "PRIVATE",
        "subnetworks": "......",
        "routes": "......",
        "firewall_rules": "....."
    }
]
[
    {
        "name": "......",
        "private_google_access": "RESTRICTED",
        "subnetworks": "......",
        "routes": "......",
        "firewall_rules": "....."
    }
]


Allows private consumption of services across VPC networks that belong to different groups, teams, projects, or organizations

Type: object

WORD WORDS WORDS - IP CIDR RANGE - WORDS WORDS WORDS

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

Type: const
Specific value: "IP_CIDR_RANGE"
Type: object

Example:

{
    "ip_cidr_range": "192.168.0.0/24",
    "export_custom_routes": true,
    "import_custom_routes": false
}

Type: boolean Default: false

If true, the network will export custom routes to peer network.

Type: boolean Default: false

If true, the network will import custom routes from peer network.

Type: string

IP space allocated to this subnetwork in CIDR format.

Must match regular expression: ^(?:([0-9]|[1-9][0-9]{0,1}|1[0-9]{1,2}|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]{0,1}|1[0-9]{1,2}|2[0-4][0-9]|25[0-5])){3}/(([0-9]|[1-2][0-9]|3[0-2])))$
Example:

"192.168.0.0/24"
Type: object

WORD WORDS WORDS - IP CIDR PREFIX - WORDS WORDS WORDS

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

Type: const
Specific value: "IP_CIDR_PREFIX"
Type: object

Example:

{
    "ip_cidr_prefix": 16,
    "export_custom_routes": true,
    "import_custom_routes": false
}

Type: boolean Default: false

If true, the network will export custom routes to peer network.

Type: boolean Default: false

If true, the network will import custom routes from peer network.

Type: integer Default: 16

IP CIDR prefix used for this connection. Google will automtically allocated a IP CIDR Range based on the provided prefix

Value must be greater or equal to 8 and lesser or equal to 30


Example:

16

Examples:

[
    {
        "name": "......",
        "private_service_connection": {
            "ip_cidr_range": "192.168.0.0/24",
            "export_custom_routes": true,
            "import_custom_routes": false
        },
        "subnetworks": "......",
        "routes": "......",
        "firewall_rules": "....."
    }
]
[
    {
        "name": "......",
        "private_service_connection": {
            "ip_cidr_prefix": "16",
            "export_custom_routes": true,
            "import_custom_routes": false
        },
        "subnetworks": "......",
        "routes": "......",
        "firewall_rules": "....."
    }
]

Type: enum (of string) Default: "DISABLED"

Must be one of:

  • "IP_CIDR_RANGE"
  • "IP_CIDR_PREFIX"
  • "DISABLED"

Default: "REGIONAL"

The BGP routing mode for this network.

Type: const

Cloud Routers in this network advertise subnetworks from all regions to their BGP peers, and program instances in all regions with the router's best learned BGP routes.

Specific value: "GLOBAL"
Type: const

Cloud Routers in this network advertise subnetworks from their local region only to their BGP peers, and program instances in their local region only with the router's best learned BGP routes.

Specific value: "REGIONAL"

Must be one of:

  • "GLOBAL"
  • "REGIONAL"

Examples:

[
    {
        "name": "......",
        "routing_mode": "REGIONAL",
        "subnetworks": "......",
        "routes": "......",
        "firewall_rules": "....."
    }
]
[
    {
        "name": "......",
        "routing_mode": "GLOBAL",
        "subnetworks": "......",
        "routes": "......",
        "firewall_rules": "....."
    }
]

Type: array of object

Must contain a minimum of 0 items

Must contain a maximum of 100 items

All items must be unique

Each item of this array must be:


Type: object

A subnetwork with purpose set to PRIVATE is a user-created subnetwork that is reserved for Google Compute Engine instances.

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

Type: const
Specific value: "PRIVATE"
Type: object
No Additional Properties
Examples:

{
    "ip_cidr_range": "192.168.0.0/24",
    "region": "US-CENTRAL1",
    "private_ip_google_access": "ENABLED",
    "cloud_nat": {
        "subnetworks_to_nat": "SELECTED_SECONDARY_SUBNETWORKS"
    },
    "purpose": "PRIVATE",
    "log_config": {
        "enabled": true,
        "metadata": "INCLUDE_ALL_METADATA",
        "flow_sampling": 50,
        "metadata_fields": [],
        "aggregation_interval": "INTERVAL_5_SEC"
    },
    "secondary_subnetworks": [
        {
            "ip_cidr_range": "192.168.1.0/24",
            "nat_group_id": "nat-group-alpha"
        }
    ]
}
{
    "ip_cidr_range": "192.168.16.0/24",
    "region": "US-CENTRAL1",
    "private_ip_google_access": "ENABLED",
    "cloud_nat": {
        "subnetworks_to_nat": "ALL_SUBNETWORKS",
        "nat_group_id": "nat-group-alpha"
    },
    "purpose": "PRIVATE",
    "log_config": {
        "enabled": true,
        "metadata": "INCLUDE_ALL_METADATA",
        "flow_sampling": 50,
        "metadata_fields": [],
        "aggregation_interval": "INTERVAL_5_SEC"
    },
    "secondary_subnetworks": [
        {
            "ip_cidr_range": "192.168.17.0/24"
        }
    ]
}

Type: string

If this field is not provided ipcidrrange value will be dynamically generated based on the ipcidrrange. WARNING, if this field is not set changing the ipcidrrange will change the name dynamically generated.

Must match regular expression: ^(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?)$

Must be at least 1 characters long

Must be at most 63 characters long


Example:

"<prefix>-<environment>-<network>-subnet-<192-168-0-0-24>"

Type: string

Description of this subnetwork.

Type: enum (of string) Default: "US-CENTRAL1"

Must be one of:

  • "ASIA-EAST1"
  • "ASIA-EAST2"
  • "ASIA-NORTHEAST1"
  • "ASIA-NORTHEAST2"
  • "ASIA-NORTHEAST3"
  • "ASIA-SOUTH1"
  • "ASIA-SOUTH2"
  • "ASIA-SOUTHEAST1"
  • "ASIA-SOUTHEAST2"
  • "AUSTRALIA-SOUTHEAST1"
  • "AUSTRALIA-SOUTHEAST2"
  • "EUROPE-CENTRAL2"
  • "EUROPE-NORTH1"
  • "EUROPE-WEST1"
  • "EUROPE-WEST2"
  • "EUROPE-WEST3"
  • "EUROPE-WEST4"
  • "EUROPE-WEST6"
  • "NORTHAMERICA-NORTHEAST1"
  • "NORTHAMERICA-NORTHEAST2"
  • "SOUTHAMERICA-EAST1"
  • "US-CENTRAL1"
  • "US-EAST1"
  • "US-EAST4"
  • "US-WEST1"
  • "US-WEST2"
  • "US-WEST3"
  • "US-WEST4"

Example:

"US-CENTRAL1"

Type: string

IP space allocated to this subnetwork in CIDR format.

Must match regular expression: ^(?:([0-9]|[1-9][0-9]{0,1}|1[0-9]{1,2}|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]{0,1}|1[0-9]{1,2}|2[0-4][0-9]|25[0-5])){3}/(([0-9]|[1-2][0-9]|3[0-2])))$
Example:

"192.168.0.0/24"

Type: const

The purpose of this subnetwork.

Specific value: "PRIVATE"

Type: array of object

Collection of Secondary Subnetworks that are assigned to this Primary Subnetwokr

Must contain a minimum of 0 items

Must contain a maximum of 30 items

All items must be unique

Each item of this array must be:

Type: object
No Additional Properties

Type: string

If this field is not provided ipcidrrange value will be dynamically generated based on the ipcidrrange. WARNING, if this field is not set changing the ipcidrrange will change the name dynamically generated.

Must match regular expression: ^(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?)$

Must be at least 1 characters long

Must be at most 63 characters long


Example:

"<prefix>-<environment>-<network>-subnet-<192-168-0-0-24>"

Type: string

Cloud Nat configuration ID to inherrit configruations from.


Example:

"nat-group-alpha"

Type: string

IP space allocated to this subnetwork in CIDR format.

Must match regular expression: ^(?:([0-9]|[1-9][0-9]{0,1}|1[0-9]{1,2}|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]{0,1}|1[0-9]{1,2}|2[0-4][0-9]|25[0-5])){3}/(([0-9]|[1-2][0-9]|3[0-2])))$
Example:

"192.168.0.0/24"

Example:

[
    {
        "name": "gke-services",
        "ip_cidr_range": "192.168.0.0/24"
    },
    {
        "nat_group_id": "nat-group-alpha",
        "ip_cidr_range": "192.168.1.0/24"
    },
    {
        "ip_cidr_range": "192.168.2.0/24"
    }
]

Type: enum (of string) Default: "ENABLED"

Provide access to Google Cloud APIs from this subnet for instances without a public ip address.

Must be one of:

  • "ENABLED"
  • "DISABLED"


Denotes the logging options for the subnetwork flow logs. If logging is enabled logs will be exported to Stackdriver.

Type: object

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object
No Additional Properties

Type: boolean Default: false

Enable/disable VPC Flow Logs for this subnet.

Type: enum (of string) Default: "INTERVAL_5_SEC"

Toggles the aggregation interval for collecting flow logs. Increasing the interval time will reduce the amount of generated flow logs for long lasting connections.

Must be one of:

  • "INTERVAL_5_SEC"
  • "INTERVAL_30_SEC"
  • "INTERVAL_1_MIN"
  • "INTERVAL_5_MIN"
  • "INTERVAL_10_MIN"
  • "INTERVAL_15_MIN"

Type: integer Default: 50

Set the sampling rate of VPC flow logs within the subnetwork where 100 means all collected logs are reported, 50 means half of all collected logs are reported and 0 means no logs are reported.

Value must be greater or equal to 0 and lesser or equal to 100

Default: "INCLUDE_ALL_METADATA"

Configures whether metadata fields should be added to the reported logs.

Type: const

Include all metadata in VPC flow logs

Specific value: "INCLUDE_ALL_METADATA"
Type: const

Exclude all metadata in VPC flow logs

Specific value: "EXCLUDE_ALL_METADATA"
Type: const

Include only specific attributes for metadata in VPC flow logs

Specific value: "CUSTOM_METADATA"

Must be one of:

  • "INCLUDE_ALL_METADATA"
  • "EXCLUDE_ALL_METADATA"
Type: object

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object
No Additional Properties

Type: boolean Default: false

Enable/disable VPC Flow Logs for this subnet.

Type: enum (of string) Default: "INTERVAL_5_SEC"

Toggles the aggregation interval for collecting flow logs. Increasing the interval time will reduce the amount of generated flow logs for long lasting connections.

Must be one of:

  • "INTERVAL_5_SEC"
  • "INTERVAL_30_SEC"
  • "INTERVAL_1_MIN"
  • "INTERVAL_5_MIN"
  • "INTERVAL_10_MIN"
  • "INTERVAL_15_MIN"

Type: integer Default: 50

Set the sampling rate of VPC flow logs within the subnetwork where 100 means all collected logs are reported, 50 means half of all collected logs are reported and 0 means no logs are reported.

Value must be greater or equal to 0 and lesser or equal to 100

Default: "INCLUDE_ALL_METADATA"

Configures whether metadata fields should be added to the reported logs.

Type: const

Include all metadata in VPC flow logs

Specific value: "INCLUDE_ALL_METADATA"
Type: const

Exclude all metadata in VPC flow logs

Specific value: "EXCLUDE_ALL_METADATA"
Type: const

Include only specific attributes for metadata in VPC flow logs

Specific value: "CUSTOM_METADATA"

Must be one of:

  • "INCLUDE_ALL_METADATA"
  • "EXCLUDE_ALL_METADATA"
  • "CUSTOM_METADATA"
Specific value: "CUSTOM_METADATA"

Type: array of enum (of string) Default: []

List of supported fields can be found at https://cloud.google.com/vpc/docs/flow-logs#record_format

All items must be unique

Each item of this array must be:



Type: const

If the source of the connection was a VM located on the same VPC, this field is populated with VM instance details. In a Shared VPC configuration, project_id corresponds to the project that owns the instance, usually the service project.

Specific value: "src_instance"
Type: const

ID of the project containing the VM

Specific value: "src_instance.project_id"

Type: const

If the destination of the connection was a VM located on the same VPC, this field is populated with VM instance details. In a Shared VPC configuration, project_id corresponds to the project that owns the instance, usually the service project.

Specific value: "dest_instance"

Type: const

If the source of the connection was a VM located on the same VPC, this field is populated with VPC network details. In a Shared VPC configuration, project_id corresponds to that of the host project.

Specific value: "src_vpc"
Type: const

ID of the project containing the VPC

Specific value: "src_vpc.project_id"
Type: const

Subnetwork on which the VM is operating

Specific value: "src_vpc.subnetwork_name"

Type: const

If the destination of the connection was a VM located on the same VPC, this field is populated with VPC network details. In a Shared VPC configuration, project_id corresponds to that of the host project.

Specific value: "dest_vpc"
Type: const

ID of the project containing the VPC

Specific value: "dest_vpc.project_id"
Type: const

Subnetwork on which the VM is operating

Specific value: "dest_vpc.subnetwork_name"

Type: const

If the source of the connection was external to the VPC, this field is populated with available location metadata.

Specific value: "src_location"
Type: const

Country for external endpoints, represented as ISO 3166-1 Alpha-3 country codes.

Specific value: "src_location.country"
Type: const

The autonomous system number (ASN) of the external network to which this endpoint belongs.

Specific value: "src_location.asn"

Type: const

If the destination of the connection was external to the VPC, this field is populated with available location metadata.

Specific value: "dest_location"
Type: const

Country for external endpoints, represented as ISO 3166-1 Alpha-3 country codes.

Specific value: "dest_location.country"
Type: const

The autonomous system number (ASN) of the external network to which this endpoint belongs.

Specific value: "dest_location.asn"

Type: const

GKE metadata for source endpoints. Only available if the endpoint is GKE.

Specific value: "src_gke_details"
Type: const

Location of the cluster. This can be a zone or a region depending if the cluster is zonal or regional.

Specific value: "src_gke_details.cluster.cluster_location"
Type: const

GKE Pod metadata, populated when the source or destination of the traffic is a Pod.

Specific value: "src_gke_details.pod"
Type: const

GKE Service metadata, populated in Service endpoints only. The record contains up to two Services. If there are more than two relevant Services, this field contains a single Service with a special MANY_SERVICES marker.

Specific value: "src_gke_details.service"
Type: const

Name of the Service. If there are more than two relevant Services, the field is set to a special MANY_SERVICES marker.

Specific value: "src_gke_details.service.service_name"

Type: const

GKE metadata for destination endpoints. Only available if the endpoint is GKE.

Specific value: "dest_gke_details"
Type: const

Location of the cluster. This can be a zone or a region depending if the cluster is zonal or regional.

Specific value: "dest_gke_details.cluster.cluster_location"
Type: const

GKE Pod metadata, populated when the source or destination of the traffic is a Pod.

Specific value: "dest_gke_details.pod"
Type: const

GKE Service metadata, populated in Service endpoints only. The record contains up to two Services. If there are more than two relevant Services, this field contains a single Service with a special MANY_SERVICES marker.

Specific value: "dest_gke_details.service"
Type: const

Name of the Service. If there are more than two relevant Services, the field is set to a special MANY_SERVICES marker.

Specific value: "dest_gke_details.service.service_name"

Must be one of:

  • "src_instance"
  • "src_instance.project_id"
  • "src_instance.vm_name"
  • "src_instance.region"
  • "src_instance.zone"
  • "dest_instance"
  • "dest_instance.project_id"
  • "dest_instance.vm_name"
  • "dest_instance.region"
  • "dest_instance.zone"
  • "src_vpc"
  • "src_vpc.vpc_name"
  • "src_vpc.project_id"
  • "src_vpc.subnetwork_name"
  • "dest_vpc"
  • "dest_vpc.vpc_name"
  • "dest_vpc.project_id"
  • "dest_vpc.subnetwork_name"
  • "src_location"
  • "src_location.continent"
  • "src_location.country"
  • "src_location.region"
  • "src_location.city"
  • "src_location.asn"
  • "dest_location"
  • "dest_location.continent"
  • "dest_location.country"
  • "dest_location.region"
  • "dest_location.city"
  • "dest_location.asn"
  • "src_gke_details"
  • "src_gke_details.cluster"
  • "src_gke_details.cluster.cluster_name"
  • "src_gke_details.cluster.cluster_location"
  • "src_gke_details.pod"
  • "src_gke_details.pod.pod_name"
  • "src_gke_details.pod.pod_namespace"
  • "src_gke_details.service"
  • "src_gke_details.service.service_name"
  • "src_gke_details.service.service_namespace"
  • "dest_gke_details"
  • "dest_gke_details.cluster"
  • "dest_gke_details.cluster.cluster_name"
  • "dest_gke_details.cluster.cluster_location"
  • "dest_gke_details.pod"
  • "dest_gke_details.pod.pod_name"
  • "dest_gke_details.pod.pod_namespace"
  • "dest_gke_details.service"
  • "dest_gke_details.service.service_name"
  • "dest_gke_details.service.service_namespace"

Examples:

[
    "src_vpc",
    "dest_vpc"
]
[
    "src_instance.vm_name",
    "dest_instance.vm_name"
]

Examples:

{
    "status": "ENABLED",
    "aggregation_interval": "INTERVAL_1_MIN"
}
{
    "status": "ENABLED",
    "metadata": "EXCLUDE_ALL_METADATA",
    "aggregation_interval": "INTERVAL_1_MIN"
}
{
    "status": "ENABLED",
    "metadata": "CUSTOM_METADATA",
    "metadata_fields": [
        "connection",
        "src_vpc",
        "dest_vpc"
    ]
}

Default: "INCLUDE_ALL_METADATA"

Configures whether metadata fields should be added to the reported logs.

Type: const

Include all metadata in VPC flow logs

Specific value: "INCLUDE_ALL_METADATA"
Type: const

Exclude all metadata in VPC flow logs

Specific value: "EXCLUDE_ALL_METADATA"
Type: const

Include only specific attributes for metadata in VPC flow logs

Specific value: "CUSTOM_METADATA"

Must be one of:

  • "INCLUDE_ALL_METADATA"
  • "EXCLUDE_ALL_METADATA"
  • "CUSTOM_METADATA"


This section specifies how Primary and Secondary Subnetworks should be configured to NAT egress traffic.

No Additional Properties

Type: object

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

The following properties are required:

  • subnetworks_to_nat
Type: object

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

The following properties are required:

  • subnetworks_to_nat
  • nat_group_id
Type: object

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

The following properties are required:

  • subnetworks_to_nat
  • nat_group_id
Type: object

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

The following properties are required:

  • subnetworks_to_nat
  • nat_group_id
Type: object

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

The following properties are required:

  • subnetworks_to_nat
Type: object

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

The following properties are required:

  • subnetworks_to_nat

Examples:

{}
{
    "subnetworks_to_nat": "ALL_SUBNETWORKS",
    "nat_group_id": "nat-group-alpha"
}
{
    "subnetworks_to_nat": "SELECTED_SECONDARY_SUBNETWORKS",
    "nat_group_id": "nat-group-alpha"
}
{
    "subnetworks_to_nat": "ALL_SECONDARY_SUBNETWORKS"
}

Default: "DISABLED"

Used to determine if NAT should be applied to either Primary, Secondary or Combination of each Subnetworks
    This section is only implemented if subnetworkstonat is set to SELECTEDPRIMARYSUBNETWORKSSELECTEDSECONDARYSUBNETWORKS in the parent cloudnat section.

Type: const

Cloud NAT should not be applied to either the primary or secondary subnetworks.
    This does not override cloudnat configurations in the parent object when set to ALLPRIMARYSUBNETWORKSALLSECONDARYSUBNETWORKS.

Specific value: "DISABLED"
Type: const

Cloud NAT Should be applied to the Primary and All Secondary Subnetworks.

Specific value: "ALL_SUBNETWORKS"
Type: const

Cloud NAT Should be applied to the Primary Subnetwork.

Specific value: "PRIMARY_SUBNETWORK"
Type: const

Cloud NAT Should be applied to the Primary and Selected Secondary Subnetworks.

Specific value: "PRIMARY_SUBNETWORK_SELECTED_SECONDARY_SUBNETWORKS"
Type: const

Cloud NAT Should be applied to All Secondary Subnetworks.

Specific value: "ALL_SECONDARY_SUBNETWORKS"
Type: const

Cloud NAT Should be applied to Selected Secondary Subnetworks.

Specific value: "SELECTED_SECONDARY_SUBNETWORKS"

Must be one of:

  • "DISABLED"
  • "ALL_SUBNETWORKS"
  • "PRIMARY_SUBNETWORK"
  • "PRIMARY_SUBNETWORK_SELECTED_SECONDARY_SUBNETWORKS"
  • "ALL_SECONDARY_SUBNETWORKS"
  • "SELECTED_SECONDARY_SUBNETWORKS"

Type: string

This ID is used to match the corresponding cloud nat configuration in the parent object.


Example:

"nat-group-alpha"
Type: object

A subnetwork with purpose set to PRIVATESERVICECONNECT is a user-created subnetwork that is reserved for Private Service Connect Internal Load Balancing.

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

Type: const
Specific value: "PRIVATE_SERVICE_CONNECT"
Type: object
No Additional Properties
Example:

{
    "region": "US-CENTRAL1",
    "ip_cidr_range": "192.168.0.0/24",
    "purpose": "PRIVATE_SERVICE_CONNECT"
}

Type: string

If this field is not provided ipcidrrange value will be dynamically generated based on the ipcidrrange. WARNING, if this field is not set changing the ipcidrrange will change the name dynamically generated.

Must match regular expression: ^(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?)$

Must be at least 1 characters long

Must be at most 63 characters long


Example:

"<prefix>-<environment>-<network>-subnet-<192-168-0-0-24>"

Type: enum (of string) Default: "US-CENTRAL1"

Must be one of:

  • "ASIA-EAST1"
  • "ASIA-EAST2"
  • "ASIA-NORTHEAST1"
  • "ASIA-NORTHEAST2"
  • "ASIA-NORTHEAST3"
  • "ASIA-SOUTH1"
  • "ASIA-SOUTH2"
  • "ASIA-SOUTHEAST1"
  • "ASIA-SOUTHEAST2"
  • "AUSTRALIA-SOUTHEAST1"
  • "AUSTRALIA-SOUTHEAST2"
  • "EUROPE-CENTRAL2"
  • "EUROPE-NORTH1"
  • "EUROPE-WEST1"
  • "EUROPE-WEST2"
  • "EUROPE-WEST3"
  • "EUROPE-WEST4"
  • "EUROPE-WEST6"
  • "NORTHAMERICA-NORTHEAST1"
  • "NORTHAMERICA-NORTHEAST2"
  • "SOUTHAMERICA-EAST1"
  • "US-CENTRAL1"
  • "US-EAST1"
  • "US-EAST4"
  • "US-WEST1"
  • "US-WEST2"
  • "US-WEST3"
  • "US-WEST4"

Example:

"US-CENTRAL1"

Type: string

IP space allocated to this subnetwork in CIDR format.

Must match regular expression: ^(?:([0-9]|[1-9][0-9]{0,1}|1[0-9]{1,2}|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]{0,1}|1[0-9]{1,2}|2[0-4][0-9]|25[0-5])){3}/(([0-9]|[1-2][0-9]|3[0-2])))$
Example:

"192.168.0.0/24"

Type: const
Specific value: "PRIVATE_SERVICE_CONNECT"
Type: object

A subnetwork with purpose set to INTERNALHTTPSLOAD_BALANCER is a user-created subnetwork that is reserved for Internal HTTP(S) Load Balancing.

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

Type: const
Specific value: "INTERNAL_HTTPS_LOAD_BALANCER"
Type: object
No Additional Properties
Examples:

{
    "region": "US-CENTRAL1",
    "ip_cidr_range": "192.168.0.0/24",
    "purpose": "INTERNAL_HTTPS_LOAD_BALANCER",
    "role": "ACTIVE"
}
{
    "region": "US-CENTRAL1",
    "ip_cidr_range": "192.168.1.0/24",
    "purpose": "INTERNAL_HTTPS_LOAD_BALANCER",
    "role": "BACKUP"
}

Type: string

If this field is not provided ipcidrrange value will be dynamically generated based on the ipcidrrange. WARNING, if this field is not set changing the ipcidrrange will change the name dynamically generated.

Must match regular expression: ^(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?)$

Must be at least 1 characters long

Must be at most 63 characters long


Example:

"<prefix>-<environment>-<network>-subnet-<192-168-0-0-24>"

Type: enum (of string) Default: "US-CENTRAL1"

Must be one of:

  • "ASIA-EAST1"
  • "ASIA-EAST2"
  • "ASIA-NORTHEAST1"
  • "ASIA-NORTHEAST2"
  • "ASIA-NORTHEAST3"
  • "ASIA-SOUTH1"
  • "ASIA-SOUTH2"
  • "ASIA-SOUTHEAST1"
  • "ASIA-SOUTHEAST2"
  • "AUSTRALIA-SOUTHEAST1"
  • "AUSTRALIA-SOUTHEAST2"
  • "EUROPE-CENTRAL2"
  • "EUROPE-NORTH1"
  • "EUROPE-WEST1"
  • "EUROPE-WEST2"
  • "EUROPE-WEST3"
  • "EUROPE-WEST4"
  • "EUROPE-WEST6"
  • "NORTHAMERICA-NORTHEAST1"
  • "NORTHAMERICA-NORTHEAST2"
  • "SOUTHAMERICA-EAST1"
  • "US-CENTRAL1"
  • "US-EAST1"
  • "US-EAST4"
  • "US-WEST1"
  • "US-WEST2"
  • "US-WEST3"
  • "US-WEST4"

Example:

"US-CENTRAL1"

Type: string

IP space allocated to this subnetwork in CIDR format.

Must match regular expression: ^(?:([0-9]|[1-9][0-9]{0,1}|1[0-9]{1,2}|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]{0,1}|1[0-9]{1,2}|2[0-4][0-9]|25[0-5])){3}/(([0-9]|[1-2][0-9]|3[0-2])))$
Example:

"192.168.0.0/24"

Type: const
Specific value: "INTERNAL_HTTPS_LOAD_BALANCER"

Type: enum (of string) Default: "ACTIVE"

Must be one of:

  • "BACKUP"
  • "ACTIVE"

Type: enum (of string) Default: "PRIVATE"

The purpose of this subnetwork.

Must be one of:

  • "PRIVATE"
  • "PRIVATE_SERVICE_CONNECT"
  • "INTERNAL_HTTPS_LOAD_BALANCER"


Type: object

Automatically nat all egress traffic from all primary and secondary subnetworks in this network

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

Type: const
Specific value: "ALL_PRIMARY_SUBNETWORKS_ALL_SECONDARY_SUBNETWORKS"
Type: object
No Additional Properties

Type: enum (of string) Default: "DISABLED"

Enable endpoint-independent mapping for the NAT (as defined in RFC 5128).

Must be one of:

  • "ENABLED"
  • "DISABLED"

Type: enum (of string) Default: "DISABLED"

Must be one of:

  • "ALL_PRIMARY_SUBNETWORKS_ALL_SECONDARY_SUBNETWORKS"
  • "ALL_PRIMARY_SUBNETWORKS"
  • "DISABLED"

Type: enum (of string) Default: "DISABLED"

Enable logging for the NAT. Logs will be exported to Stackdriver.

Must be one of:

  • "ALL"
  • "ERRORS_ONLY"
  • "TRANSLATIONS_ONLY"
  • "DISABLED"

Type: integer Default: 64

Minimum number of ports allocated to a VM from this NAT.

Type: integer Default: 30

Timeout in seconds for UDP connections.

Type: integer Default: 30

Timeout in seconds for ICMP connections.

Type: integer Default: 120

Timeout in seconds for TCP established connections.

Type: integer Default: 30

Timeout in seconds for TCP transitory connections.

Type: object

Automatically nat all egress traffic from all primary subnetworks in this network

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

Type: const
Specific value: "ALL_PRIMARY_SUBNETWORKS"
Type: object
No Additional Properties

Type: enum (of string) Default: "DISABLED"

Enable endpoint-independent mapping for the NAT (as defined in RFC 5128).

Must be one of:

  • "ENABLED"
  • "DISABLED"

Type: enum (of string) Default: "DISABLED"

Must be one of:

  • "ALL_PRIMARY_SUBNETWORKS_ALL_SECONDARY_SUBNETWORKS"
  • "ALL_PRIMARY_SUBNETWORKS"
  • "DISABLED"

Type: enum (of string) Default: "DISABLED"

Enable logging for the NAT. Logs will be exported to Stackdriver.

Must be one of:

  • "ALL"
  • "ERRORS_ONLY"
  • "TRANSLATIONS_ONLY"
  • "DISABLED"

Type: integer Default: 64

Minimum number of ports allocated to a VM from this NAT.

Type: integer Default: 30

Timeout in seconds for UDP connections.

Type: integer Default: 30

Timeout in seconds for ICMP connections.

Type: integer Default: 120

Timeout in seconds for TCP established connections.

Type: integer Default: 30

Timeout in seconds for TCP transitory connections.

Type: object

Allows you to select specific primary and secondary subnetworks to nat based on natgroupid

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

Type: const
Specific value: "SELECTED_PRIMARY_SUBNETWORKS_SELECTED_SECONDARY_SUBNETWORKS"
Type: object
No Additional Properties

Type: enum (of string) Default: "DISABLED"

Must be one of:

  • "SELECTED_PRIMARY_SUBNETWORKS_SELECTED_SECONDARY_SUBNETWORKS"
  • "DISABLED"

Type: array of object

Must contain a minimum of 0 items

All items must be unique

Each item of this array must be:

Type: object

Type: enum (of string) Default: "DISABLED"

Enable endpoint-independent mapping for the NAT (as defined in RFC 5128).

Must be one of:

  • "ENABLED"
  • "DISABLED"

Type: enum (of string) Default: "DISABLED"

Enable logging for the NAT. Logs will be exported to Stackdriver.

Must be one of:

  • "ALL"
  • "ERRORS_ONLY"
  • "TRANSLATIONS_ONLY"
  • "DISABLED"

Type: integer Default: 64

Minimum number of ports allocated to a VM from this NAT.

Type: object

Disabled placeholder for GENERIC cloud nat, when DISABLED nothing is configured within GCP

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object
No Additional Properties

Type: enum (of string) Default: "DISABLED"

Must be one of:

  • "ALL_PRIMARY_SUBNETWORKS"
  • "ALL_PRIMARY_SUBNETWORKS_ALL_SECONDARY_SUBNETWORKS"
  • "SELECTED_PRIMARY_SUBNETWORKS_SELECTED_SECONDARY_SUBNETWORKS"
  • "DISABLED"

Type: array of object

Collection of VPC Peers that enables you to connect VPC networks so that workloads in different VPC networks can communicate internally.

All items must be unique

Each item of this array must be:

Type: object
No Additional Properties
Examples:

{
    "network": "prod-network"
}
{
    "network": "dev-network",
    "export_custom_routes": false,
    "import_custom_routes": true
}
{
    "network": "test-network",
    "export_custom_routes": false,
    "import_custom_routes": true,
    "import_subnet_routes_with_public_ip": false,
    "export_subnet_routes_with_public_ip": true
}
{
    "project": "remote-project-id",
    "network": "remote-network"
}

Type: string

The name of the project for the peer network. If not specified, defaults to current project.


Example:

"remote-project-id"

Type: string

The name of the network to be peered with the current network.


Example:

"prod-network"

Type: boolean Default: false

If true, the network will export custom routes to peer network.

Type: boolean Default: false

If true, the network will import custom routes from peer network.

Type: boolean Default: false

If true, the network will import subnet routes with addresses in the public IP ranges from peer network.

Type: boolean Default: false

If true, the network will export subnet routes with addresses in the public IP ranges from peer network.


Example:

[
    {
        "name": "......",
        "peers": [
            {
                "network": "prod-network"
            },
            {
                "network": "dev-network",
                "export_custom_routes": false,
                "import_custom_routes": true
            },
            {
                "project": "remote-project-id",
                "network": "remote-network"
            }
        ],
        "subnetworks": "......",
        "routes": "......",
        "firewall_rules": "....."
    }
]

Type: array of object

Must contain a minimum of 0 items

Must contain a maximum of 100 items

All items must be unique

Each item of this array must be:


Type: object

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

Type: const
Specific value: "INTERNET_GATEWAY"
Type: object
No Additional Properties
Examples:

{
    "destination": "0.0.0.0/0",
    "priority": 0,
    "next_hop_type": "INTERNET_GATEWAY"
}
{
    "tags": [
        "allow-internet"
    ],
    "destination": "0.0.0.0/0",
    "priority": 0,
    "next_hop_type": "INTERNET_GATEWAY"
}

Type: string

if this field is not provided name value will be dynamically generated.

Must match regular expression: ^(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?)$

Must be at least 1 characters long

Must be at most 63 characters long

Type: string

An optional, textual description for the route.

Type: string

The destination range of outgoing packets that the route will apply to.

Must match regular expression: ^(?:([0-9]|[1-9][0-9]{0,1}|1[0-9]{1,2}|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]{0,1}|1[0-9]{1,2}|2[0-4][0-9]|25[0-5])){3}/(([0-9]|[1-2][0-9]|3[0-2])))$
Example:

"192.168.0.0/24"

Type: number Default: 1000

Specifies the priority of this route relative to other routes with the same specificity. The lower the value, the higher the priority.

Value must be greater or equal to 0 and lesser or equal to 2147483647

Type: array of string

Identifies the set of instances that this route will apply to. If no tags are provided, the route will apply to all instances in the network.

All items must be unique

Each item of this array must be:

Type: string

Strings added to a tags field in a resource, such as Compute Engine virtual machine (VM) instances or instance templates. Tags enable you to make firewall rules and routes applicable to specific VM instances.

Must match regular expression: ^([a-z]([a-z0-9-]*[a-z0-9])?)$

Must be at most 63 characters long


Examples:

"alpha-tag"
"bravo-tag"
"charlie-tag"

Example:

[
    "alpha-tag",
    "bravo-tag",
    "charlie-tag"
]

Type: const Default: "INTERNET_GATEWAY"

The type of route to be created.

Must be one of:

  • "INTERNET_GATEWAY"
  • "ADDRESS"
  • "INSTANCE"
  • "LOAD_BALANCER"
Specific value: "INTERNET_GATEWAY"
Type: object

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

Type: const
Specific value: "ADDRESS"
Type: object
No Additional Properties
Examples:

{
    "tags": [
        "rf1918-to-ngfw"
    ],
    "destination": "192.168.0.0/16",
    "priority": 0,
    "next_hop_type": "ADDRESS",
    "next_hop_address": "192.168.0.1"
}
{
    "tags": [
        "rf1918-to-ngfw"
    ],
    "destination": "172.16.0.0/12",
    "priority": 100,
    "next_hop_type": "ADDRESS",
    "next_hop_address": "192.168.0.1"
}

Type: string

if this field is not provided name value will be dynamically generated.

Must match regular expression: ^(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?)$

Must be at least 1 characters long

Must be at most 63 characters long

Type: string

An optional, textual description for the route.

Type: string

The destination range of outgoing packets that the route will apply to.

Must match regular expression: ^(?:([0-9]|[1-9][0-9]{0,1}|1[0-9]{1,2}|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]{0,1}|1[0-9]{1,2}|2[0-4][0-9]|25[0-5])){3}/(([0-9]|[1-2][0-9]|3[0-2])))$
Example:

"192.168.0.0/24"

Type: number Default: 1000

Specifies the priority of this route relative to other routes with the same specificity. The lower the value, the higher the priority.

Value must be greater or equal to 0 and lesser or equal to 2147483647

Type: array of string

Identifies the set of instances that this route will apply to. If no tags are provided, the route will apply to all instances in the network.

All items must be unique

Each item of this array must be:

Type: string

Strings added to a tags field in a resource, such as Compute Engine virtual machine (VM) instances or instance templates. Tags enable you to make firewall rules and routes applicable to specific VM instances.

Must match regular expression: ^([a-z]([a-z0-9-]*[a-z0-9])?)$

Must be at most 63 characters long


Examples:

"alpha-tag"
"bravo-tag"
"charlie-tag"

Example:

[
    "alpha-tag",
    "bravo-tag",
    "charlie-tag"
]

Type: const Default: "INTERNET_GATEWAY"

The type of route to be created.

Must be one of:

  • "INTERNET_GATEWAY"
  • "ADDRESS"
  • "INSTANCE"
  • "LOAD_BALANCER"
Specific value: "ADDRESS"

Type: string

IP Address.

Must match regular expression: ^(?:([0-9]|[1-9][0-9]{0,1}|1[0-9]{1,2}|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]{0,1}|1[0-9]{1,2}|2[0-4][0-9]|25[0-5])){3})$
Example:

"192.168.0.0"
Type: object

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

Type: const
Specific value: "LOAD_BALANCER"
Type: object
No Additional Properties
Example:

{
    "tags": [
        "rf1918-to-ngfw"
    ],
    "destination": "192.168.0.0/16",
    "priority": 0,
    "next_hop_type": "LOAD_BALANCER",
    "next_hop_load_balancer_id": "projects/example-project/regions/us-central1/forwardingRules/example-load-balancer"
}

Type: string

if this field is not provided name value will be dynamically generated.

Must match regular expression: ^(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?)$

Must be at least 1 characters long

Must be at most 63 characters long

Type: string

An optional, textual description for the route.

Type: string

The destination range of outgoing packets that the route will apply to.

Must match regular expression: ^(?:([0-9]|[1-9][0-9]{0,1}|1[0-9]{1,2}|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]{0,1}|1[0-9]{1,2}|2[0-4][0-9]|25[0-5])){3}/(([0-9]|[1-2][0-9]|3[0-2])))$
Example:

"192.168.0.0/24"

Type: number Default: 1000

Specifies the priority of this route relative to other routes with the same specificity. The lower the value, the higher the priority.

Value must be greater or equal to 0 and lesser or equal to 2147483647

Type: array of string

Identifies the set of instances that this route will apply to. If no tags are provided, the route will apply to all instances in the network.

All items must be unique

Each item of this array must be:

Type: string

Strings added to a tags field in a resource, such as Compute Engine virtual machine (VM) instances or instance templates. Tags enable you to make firewall rules and routes applicable to specific VM instances.

Must match regular expression: ^([a-z]([a-z0-9-]*[a-z0-9])?)$

Must be at most 63 characters long


Examples:

"alpha-tag"
"bravo-tag"
"charlie-tag"

Example:

[
    "alpha-tag",
    "bravo-tag",
    "charlie-tag"
]

Type: const Default: "INTERNET_GATEWAY"

The type of route to be created.

Must be one of:

  • "INTERNET_GATEWAY"
  • "ADDRESS"
  • "INSTANCE"
  • "LOAD_BALANCER"
Specific value: "LOAD_BALANCER"

Type: string

Target Load Balancer that traffic should be routed to. Expected format is projects//regions//forwardingRules/

Must match regular expression: ^(projects/.*/regions/.*/forwardingRules/.*)$
Type: object

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

Type: const
Specific value: "INSTANCE"
Type: object
No Additional Properties
Example:

{
    "tags": [
        "rf1918-to-ngfw"
    ],
    "destination": "192.168.0.0/16",
    "priority": 0,
    "next_hop_type": "INSTANCE",
    "next_hop_instance": "MY-INSTANCE",
    "next_hop_instance_zone": "US-CENTRAL1-A"
}

Type: string

if this field is not provided name value will be dynamically generated.

Must match regular expression: ^(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?)$

Must be at least 1 characters long

Must be at most 63 characters long

Type: string

An optional, textual description for the route.

Type: string

The destination range of outgoing packets that the route will apply to.

Must match regular expression: ^(?:([0-9]|[1-9][0-9]{0,1}|1[0-9]{1,2}|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]{0,1}|1[0-9]{1,2}|2[0-4][0-9]|25[0-5])){3}/(([0-9]|[1-2][0-9]|3[0-2])))$
Example:

"192.168.0.0/24"

Type: number Default: 1000

Specifies the priority of this route relative to other routes with the same specificity. The lower the value, the higher the priority.

Value must be greater or equal to 0 and lesser or equal to 2147483647

Type: array of string

Identifies the set of instances that this route will apply to. If no tags are provided, the route will apply to all instances in the network.

All items must be unique

Each item of this array must be:

Type: string

Strings added to a tags field in a resource, such as Compute Engine virtual machine (VM) instances or instance templates. Tags enable you to make firewall rules and routes applicable to specific VM instances.

Must match regular expression: ^([a-z]([a-z0-9-]*[a-z0-9])?)$

Must be at most 63 characters long


Examples:

"alpha-tag"
"bravo-tag"
"charlie-tag"

Example:

[
    "alpha-tag",
    "bravo-tag",
    "charlie-tag"
]

Type: const Default: "INTERNET_GATEWAY"

The type of route to be created.

Must be one of:

  • "INTERNET_GATEWAY"
  • "ADDRESS"
  • "INSTANCE"
  • "LOAD_BALANCER"
Specific value: "INSTANCE"

Type: enum (of string) Default: "US-CENTRAL1-A"

Must be one of:

  • "ASIA-EAST1-A"
  • "ASIA-EAST1-B"
  • "ASIA-EAST1-C"
  • "ASIA-EAST2-A"
  • "ASIA-EAST2-B"
  • "ASIA-EAST2-C"
  • "ASIA-NORTHEAST1-A"
  • "ASIA-NORTHEAST1-B"
  • "ASIA-NORTHEAST1-C"
  • "ASIA-NORTHEAST2-A"
  • "ASIA-NORTHEAST2-B"
  • "ASIA-NORTHEAST2-C"
  • "ASIA-NORTHEAST3-A"
  • "ASIA-NORTHEAST3-B"
  • "ASIA-NORTHEAST3-C"
  • "ASIA-SOUTH1-A"
  • "ASIA-SOUTH1-B"
  • "ASIA-SOUTH1-C"
  • "ASIA-SOUTH2-A"
  • "ASIA-SOUTH2-B"
  • "ASIA-SOUTH2-C"
  • "ASIA-SOUTHEAST1-A"
  • "ASIA-SOUTHEAST1-B"
  • "ASIA-SOUTHEAST1-C"
  • "ASIA-SOUTHEAST2-A"
  • "ASIA-SOUTHEAST2-B"
  • "ASIA-SOUTHEAST2-C"
  • "AUSTRALIA-SOUTHEAST1-A"
  • "AUSTRALIA-SOUTHEAST1-B"
  • "AUSTRALIA-SOUTHEAST1-C"
  • "AUSTRALIA-SOUTHEAST2-A"
  • "AUSTRALIA-SOUTHEAST2-B"
  • "AUSTRALIA-SOUTHEAST2-C"
  • "EUROPE-CENTRAL2-A"
  • "EUROPE-CENTRAL2-B"
  • "EUROPE-CENTRAL2-C"
  • "EUROPE-NORTH1-A"
  • "EUROPE-NORTH1-B"
  • "EUROPE-NORTH1-C"
  • "EUROPE-WEST1-B"
  • "EUROPE-WEST1-C"
  • "EUROPE-WEST1-D"
  • "EUROPE-WEST2-A"
  • "EUROPE-WEST2-B"
  • "EUROPE-WEST2-C"
  • "EUROPE-WEST3-A"
  • "EUROPE-WEST3-B"
  • "EUROPE-WEST3-C"
  • "EUROPE-WEST4-A"
  • "EUROPE-WEST4-B"
  • "EUROPE-WEST4-C"
  • "EUROPE-WEST6-A"
  • "EUROPE-WEST6-B"
  • "EUROPE-WEST6-C"
  • "NORTHAMERICA-NORTHEAST1-A"
  • "NORTHAMERICA-NORTHEAST1-B"
  • "NORTHAMERICA-NORTHEAST1-C"
  • "NORTHAMERICA-NORTHEAST2-A"
  • "NORTHAMERICA-NORTHEAST2-B"
  • "NORTHAMERICA-NORTHEAST2-C"
  • "SOUTHAMERICA-EAST1-A"
  • "SOUTHAMERICA-EAST1-B"
  • "SOUTHAMERICA-EAST1-C"
  • "US-CENTRAL1-A"
  • "US-CENTRAL1-B"
  • "US-CENTRAL1-C"
  • "US-CENTRAL1-F"
  • "US-EAST1-B"
  • "US-EAST1-C"
  • "US-EAST1-D"
  • "US-EAST4-A"
  • "US-EAST4-B"
  • "US-EAST4-C"
  • "US-WEST1-A"
  • "US-WEST1-B"
  • "US-WEST1-C"
  • "US-WEST2-A"
  • "US-WEST2-B"
  • "US-WEST2-C"
  • "US-WEST3-A"
  • "US-WEST3-B"
  • "US-WEST3-C"
  • "US-WEST4-A"
  • "US-WEST4-B"
  • "US-WEST4-C"

Example:

"US-CENTRAL1-A"

Type: enum (of string) Default: "INTERNET_GATEWAY"

The type of route to be created.

Must be one of:

  • "INTERNET_GATEWAY"
  • "ADDRESS"
  • "INSTANCE"
  • "LOAD_BALANCER"

Example:

[
    {
        "name": "......",
        "subnetworks": "......",
        "routes": [
            {
                "tags": [
                    "allow-internet"
                ],
                "destination": "0.0.0.0/0",
                "priority": 0,
                "next_hop_type": "INTERNET_GATEWAY"
            },
            {
                "tags": [
                    "rf1918-to-ngfw"
                ],
                "destination": "192.168.0.0/16",
                "priority": 0,
                "next_hop_type": "ADDRESS",
                "next_hop_address": "192.168.0.1"
            },
            {
                "tags": [
                    "rf1918-to-ngfw"
                ],
                "destination": "172.16.0.0/12",
                "priority": 100,
                "next_hop_type": "ADDRESS",
                "next_hop_address": "192.168.0.1"
            }
        ],
        "firewall_rules": "......"
    }
]

Type: array of object

Must contain a minimum of 0 items

Must contain a maximum of 100 items

All items must be unique

Each item of this array must be:


Type: object

Words go here

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

Type: const
Specific value: "INGRESS"

wors go here

No Additional Properties

Type: object

The following properties are required:

  • name
  • rules
  • sources
  • targets
Type: object

The following properties are required:

  • id
  • rules
  • sources
  • targets

Type: string

Words go here, IF not specified name will based on id field

Must match regular expression: ^(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?)$

Must be at least 1 characters long

Must be at most 63 characters long


Example:

"<prefix>-<environment>-<network>-subnet-<192-168-0-0-24>"

Type: string

Words go here, IF not specified name will based on id field

Must match regular expression: ^[a-z][a-z0-9-]{0,23}$

Must be at least 1 characters long

Must be at most 24 characters long


Example:

"<prefix>-<environment>-<network>-subnet-<192-168-0-0-24>"

Type: string

Words go here, IF not specified name will based on id field

Must match regular expression: ^(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?)$

Must be at least 1 characters long

Must be at most 63 characters long


Example:

"<prefix>-<environment>-<network>-subnet-<192-168-0-0-24>"

Type: const Default: "INGRESS"

Must be one of:

  • "INGRESS"
  • "EGRESS"
Specific value: "INGRESS"

Type: enum (of string)

Must be one of:

  • "ALLOW"
  • "DENY"

Type: array of object

Must contain a minimum of 1 items

All items must be unique

Each item of this array must be:


Type: object

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.


No Additional Properties

Type: object

The following properties are required:

  • protocol
  • ports
Type: object

The following properties are required:

  • protocol
  • port_ranges

Type: enum (of string) Default: "ALL"

Must be one of:

  • "TCP"
  • "UDP"

Type: array of number

Specified ports to be either allowed or denied

Must contain a minimum of 0 items

All items must be unique

Each item of this array must be:

Type: number

Value must be greater or equal to 0 and lesser or equal to 65535

Type: array of string

Ranges of ports to be either allowed or denied

Must contain a minimum of 0 items

All items must be unique

Each item of this array must be:

Type: string
Must match regular expression: ^(0|6[0-5][0-5][0-3][0-5]|[1-5][0-9][0-9][0-9][0-9]|[1-9][0-9]{0,3})-(6[0-5][0-5][0-3][0-5]|[1-5][0-9][0-9][0-9][0-9]|[1-9][0-9]{0,3})$
Type: object

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object
No Additional Properties

Type: enum (of string) Default: "ALL"

Must be one of:

  • "ALL"
  • "ICMP"
  • "ESP"
  • "AH"
  • "SCTP"
  • "IPIP"

Type: enum (of string) Default: "ALL"

Must be one of:

  • "ALL"
  • "AH"
  • "ESP"
  • "ICMP"
  • "IPIP"
  • "SCTP"
  • "TCP"
  • "UDP"
Type: object

Words go here

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

Type: const
Specific value: "EGRESS"

wors go here

No Additional Properties

Type: object

The following properties are required:

  • name
  • rules
  • sources
  • targets
Type: object

The following properties are required:

  • id
  • rules
  • sources
  • targets

Type: string

Words go here, IF not specified name will based on id field

Must match regular expression: ^(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?)$

Must be at least 1 characters long

Must be at most 63 characters long


Example:

"<prefix>-<environment>-<network>-subnet-<192-168-0-0-24>"

Type: string

Words go here, IF not specified name will based on id field

Must match regular expression: ^[a-z][a-z0-9-]{0,23}$

Must be at least 1 characters long

Must be at most 24 characters long


Example:

"<prefix>-<environment>-<network>-subnet-<192-168-0-0-24>"

Type: string

Words go here, IF not specified name will based on id field

Must match regular expression: ^(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?)$

Must be at least 1 characters long

Must be at most 63 characters long


Example:

"<prefix>-<environment>-<network>-subnet-<192-168-0-0-24>"

Type: const Default: "INGRESS"

Must be one of:

  • "INGRESS"
  • "EGRESS"
Specific value: "EGRESS"

Type: enum (of string)

Must be one of:

  • "ALLOW"
  • "DENY"

Type: array of object

Must contain a minimum of 1 items

All items must be unique

Each item of this array must be:


Type: object

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.


No Additional Properties

Type: object

The following properties are required:

  • protocol
  • ports
Type: object

The following properties are required:

  • protocol
  • port_ranges

Type: enum (of string) Default: "ALL"

Must be one of:

  • "TCP"
  • "UDP"

Type: array of number

Specified ports to be either allowed or denied

Must contain a minimum of 0 items

All items must be unique

Each item of this array must be:

Type: number

Value must be greater or equal to 0 and lesser or equal to 65535

Type: array of string

Ranges of ports to be either allowed or denied

Must contain a minimum of 0 items

All items must be unique

Each item of this array must be:

Type: string
Must match regular expression: ^(0|6[0-5][0-5][0-3][0-5]|[1-5][0-9][0-9][0-9][0-9]|[1-9][0-9]{0,3})-(6[0-5][0-5][0-3][0-5]|[1-5][0-9][0-9][0-9][0-9]|[1-9][0-9]{0,3})$
Type: object

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object
No Additional Properties

Type: enum (of string) Default: "ALL"

Must be one of:

  • "ALL"
  • "ICMP"
  • "ESP"
  • "AH"
  • "SCTP"
  • "IPIP"

Type: enum (of string) Default: "ALL"

Must be one of:

  • "ALL"
  • "AH"
  • "ESP"
  • "ICMP"
  • "IPIP"
  • "SCTP"
  • "TCP"
  • "UDP"

Type: enum (of string) Default: "INGRESS"

Must be one of:

  • "INGRESS"
  • "EGRESS"

Type: array

Coming Soon

Each item of this array must be:


Examples:

[
    {
        "name": "network-single",
        "description": "This will create a single VPC Network and nothing else"
    }
]
[
    {
        "name": "network-alpha",
        "description": "This will create a network alpha and nothing else"
    },
    {
        "name": "network-bravo",
        "description": "This will create a network bravo and nothing else"
    }
]
[
    {
        "name": "subnetwork-secondary-subnetworks",
        "description": "This will create a single VPC Network, Primary Subnetwork and two Secondary Ranges",
        "subnetworks": [
            {
                "region": "US-EAST4",
                "ip_cidr_range": "172.16.0.0/24",
                "secondary_subnetworks": [
                    {
                        "ip_cidr_range": "172.16.1.0/24"
                    },
                    {
                        "ip_cidr_range": "172.16.2.0/24"
                    }
                ]
            }
        ]
    }
]
[
    {
        "name": "cloud-nat-all",
        "description": "This will create a single VPC Network with Primary and Secondary Subnetworks with Cloud-NAT",
        "routing_mode": "GLOBAL",
        "cloud_nat": {
            "subnetworks_to_nat": "ALL_PRIMARY_SUBNETWORKS_ALL_SECONDARY_SUBNETWORKS"
        },
        "subnetworks": [
            {
                "region": "US-WEST1",
                "ip_cidr_range": "172.16.32.0/24",
                "secondary_subnetworks": [
                    {
                        "ip_cidr_range": "10.20.32.0/24"
                    },
                    {
                        "ip_cidr_range": "10.20.33.0/24"
                    }
                ]
            }
        ]
    }
]