Compute V1 Client - Class Subnetwork (1.20.0)

Reference documentation and code samples for the Compute V1 Client class Subnetwork.

Represents a Subnetwork resource. A subnetwork (also known as a subnet) is a logical partition of a Virtual Private Cloud network with one primary IP range and zero or more secondary IP ranges. For more information, read Virtual Private Cloud (VPC) Network.

Generated from protobuf message google.cloud.compute.v1.Subnetwork

Namespace

Google \ Cloud \ Compute \ V1

Methods

__construct

Constructor.

Parameters
Name Description
data array

Optional. Data for populating the Message object.

↳ creation_timestamp string

[Output Only] Creation timestamp in RFC3339 text format.

↳ description string

An optional description of this resource. Provide this property when you create the resource. This field can be set only at resource creation time.

↳ enable_flow_logs bool

Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is determined by the org policy, if there is no org policy specified, then it will default to disabled. This field isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.

↳ external_ipv6_prefix string

The external IPv6 address range that is owned by this subnetwork.

↳ fingerprint string

Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a Subnetwork. An up-to-date fingerprint must be provided in order to update the Subnetwork, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a Subnetwork.

↳ gateway_address string

[Output Only] The gateway address for default routes to reach destination addresses outside this subnetwork.

↳ id int|string

[Output Only] The unique identifier for the resource. This identifier is defined by the server.

↳ internal_ipv6_prefix string

The internal IPv6 address range that is owned by this subnetwork.

↳ ip_cidr_range string

The range of internal addresses that are owned by this subnetwork. Provide this property when you create the subnetwork. For example, 10.0.0.0/8 or 100.64.0.0/10. Ranges must be unique and non-overlapping within a network. Only IPv4 is supported. This field is set at resource creation time. The range can be any range listed in the Valid ranges list. The range can be expanded after creation using expandIpCidrRange.

↳ ipv6_access_type string

The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack. Check the Ipv6AccessType enum for the list of possible values.

↳ ipv6_cidr_range string

[Output Only] This field is for internal use.

↳ kind string

[Output Only] Type of the resource. Always compute#subnetwork for Subnetwork resources.

↳ log_config Google\Cloud\Compute\V1\SubnetworkLogConfig

This field denotes the VPC flow logging options for this subnetwork. If logging is enabled, logs are exported to Cloud Logging.

↳ name string

The name of the resource, provided by the client when initially creating the resource. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

↳ network string

The URL of the network to which this subnetwork belongs, provided by the client when initially creating the subnetwork. This field can be set only at resource creation time.

↳ private_ip_google_access bool

Whether the VMs in this subnet can access Google services without assigned external IP addresses. This field can be both set at resource creation time and updated using setPrivateIpGoogleAccess.

↳ private_ipv6_google_access string

This field is for internal use. This field can be both set at resource creation time and updated using patch. Check the PrivateIpv6GoogleAccess enum for the list of possible values.

↳ purpose string

The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. Check the Purpose enum for the list of possible values.

↳ region string

URL of the region where the Subnetwork resides. This field can be set only at resource creation time.

↳ reserved_internal_range string

The URL of the reserved internal range.

↳ role string

The role of subnetwork. Currently, this field is only used when purpose is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Envoy-based load balancers in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request. Check the Role enum for the list of possible values.

↳ secondary_ip_ranges array<Google\Cloud\Compute\V1\SubnetworkSecondaryRange>

An array of configurations for secondary IP ranges for VM instances contained in this subnetwork. The primary IP of such VM must belong to the primary ipCidrRange of the subnetwork. The alias IPs may belong to either primary or secondary ranges. This field can be updated with a patch request.

↳ self_link string

[Output Only] Server-defined URL for the resource.

↳ stack_type string

The stack type for the subnet. If set to IPV4_ONLY, new VMs in the subnet are assigned IPv4 addresses only. If set to IPV4_IPV6, new VMs in the subnet can be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. This field can be both set at resource creation time and updated using patch. Check the StackType enum for the list of possible values.

↳ state string

[Output Only] The state of the subnetwork, which can be one of the following values: READY: Subnetwork is created and ready to use DRAINING: only applicable to subnetworks that have the purpose set to INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load balancer are being drained. A subnetwork that is draining cannot be used or modified until it reaches a status of READY Check the State enum for the list of possible values.

getCreationTimestamp

[Output Only] Creation timestamp in RFC3339 text format.

Returns
Type Description
string

hasCreationTimestamp

clearCreationTimestamp

setCreationTimestamp

[Output Only] Creation timestamp in RFC3339 text format.

Parameter
Name Description
var string
Returns
Type Description
$this

getDescription

An optional description of this resource. Provide this property when you create the resource. This field can be set only at resource creation time.

Returns
Type Description
string

hasDescription

clearDescription

setDescription

An optional description of this resource. Provide this property when you create the resource. This field can be set only at resource creation time.

Parameter
Name Description
var string
Returns
Type Description
$this

getEnableFlowLogs

Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is determined by the org policy, if there is no org policy specified, then it will default to disabled. This field isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.

Returns
Type Description
bool

hasEnableFlowLogs

clearEnableFlowLogs

setEnableFlowLogs

Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is determined by the org policy, if there is no org policy specified, then it will default to disabled. This field isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.

Parameter
Name Description
var bool
Returns
Type Description
$this

getExternalIpv6Prefix

The external IPv6 address range that is owned by this subnetwork.

Returns
Type Description
string

hasExternalIpv6Prefix

clearExternalIpv6Prefix

setExternalIpv6Prefix

The external IPv6 address range that is owned by this subnetwork.

Parameter
Name Description
var string
Returns
Type Description
$this

getFingerprint

Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a Subnetwork. An up-to-date fingerprint must be provided in order to update the Subnetwork, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a Subnetwork.

Returns
Type Description
string

hasFingerprint

clearFingerprint

setFingerprint

Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a Subnetwork. An up-to-date fingerprint must be provided in order to update the Subnetwork, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a Subnetwork.

Parameter
Name Description
var string
Returns
Type Description
$this

getGatewayAddress

[Output Only] The gateway address for default routes to reach destination addresses outside this subnetwork.

Returns
Type Description
string

hasGatewayAddress

clearGatewayAddress

setGatewayAddress

[Output Only] The gateway address for default routes to reach destination addresses outside this subnetwork.

Parameter
Name Description
var string
Returns
Type Description
$this

getId

[Output Only] The unique identifier for the resource. This identifier is defined by the server.

Returns
Type Description
int|string

hasId

clearId

setId

[Output Only] The unique identifier for the resource. This identifier is defined by the server.

Parameter
Name Description
var int|string
Returns
Type Description
$this

getInternalIpv6Prefix

The internal IPv6 address range that is owned by this subnetwork.

Returns
Type Description
string

hasInternalIpv6Prefix

clearInternalIpv6Prefix

setInternalIpv6Prefix

The internal IPv6 address range that is owned by this subnetwork.

Parameter
Name Description
var string
Returns
Type Description
$this

getIpCidrRange

The range of internal addresses that are owned by this subnetwork. Provide this property when you create the subnetwork. For example, 10.0.0.0/8 or 100.64.0.0/10. Ranges must be unique and non-overlapping within a network. Only IPv4 is supported. This field is set at resource creation time. The range can be any range listed in the Valid ranges list. The range can be expanded after creation using expandIpCidrRange.

Returns
Type Description
string

hasIpCidrRange

clearIpCidrRange

setIpCidrRange

The range of internal addresses that are owned by this subnetwork. Provide this property when you create the subnetwork. For example, 10.0.0.0/8 or 100.64.0.0/10. Ranges must be unique and non-overlapping within a network. Only IPv4 is supported. This field is set at resource creation time. The range can be any range listed in the Valid ranges list. The range can be expanded after creation using expandIpCidrRange.

Parameter
Name Description
var string
Returns
Type Description
$this

getIpv6AccessType

The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack.

Check the Ipv6AccessType enum for the list of possible values.

Returns
Type Description
string

hasIpv6AccessType

clearIpv6AccessType

setIpv6AccessType

The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack.

Check the Ipv6AccessType enum for the list of possible values.

Parameter
Name Description
var string
Returns
Type Description
$this

getIpv6CidrRange

[Output Only] This field is for internal use.

Returns
Type Description
string

hasIpv6CidrRange

clearIpv6CidrRange

setIpv6CidrRange

[Output Only] This field is for internal use.

Parameter
Name Description
var string
Returns
Type Description
$this

getKind

[Output Only] Type of the resource. Always compute#subnetwork for Subnetwork resources.

Returns
Type Description
string

hasKind

clearKind

setKind

[Output Only] Type of the resource. Always compute#subnetwork for Subnetwork resources.

Parameter
Name Description
var string
Returns
Type Description
$this

getLogConfig

This field denotes the VPC flow logging options for this subnetwork. If logging is enabled, logs are exported to Cloud Logging.

Returns
Type Description
Google\Cloud\Compute\V1\SubnetworkLogConfig|null

hasLogConfig

clearLogConfig

setLogConfig

This field denotes the VPC flow logging options for this subnetwork. If logging is enabled, logs are exported to Cloud Logging.

Parameter
Name Description
var Google\Cloud\Compute\V1\SubnetworkLogConfig
Returns
Type Description
$this

getName

The name of the resource, provided by the client when initially creating the resource. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

Returns
Type Description
string

hasName

clearName

setName

The name of the resource, provided by the client when initially creating the resource. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

Parameter
Name Description
var string
Returns
Type Description
$this

getNetwork

The URL of the network to which this subnetwork belongs, provided by the client when initially creating the subnetwork. This field can be set only at resource creation time.

Returns
Type Description
string

hasNetwork

clearNetwork

setNetwork

The URL of the network to which this subnetwork belongs, provided by the client when initially creating the subnetwork. This field can be set only at resource creation time.

Parameter
Name Description
var string
Returns
Type Description
$this

getPrivateIpGoogleAccess

Whether the VMs in this subnet can access Google services without assigned external IP addresses. This field can be both set at resource creation time and updated using setPrivateIpGoogleAccess.

Returns
Type Description
bool

hasPrivateIpGoogleAccess

clearPrivateIpGoogleAccess

setPrivateIpGoogleAccess

Whether the VMs in this subnet can access Google services without assigned external IP addresses. This field can be both set at resource creation time and updated using setPrivateIpGoogleAccess.

Parameter
Name Description
var bool
Returns
Type Description
$this

getPrivateIpv6GoogleAccess

This field is for internal use. This field can be both set at resource creation time and updated using patch.

Check the PrivateIpv6GoogleAccess enum for the list of possible values.

Returns
Type Description
string

hasPrivateIpv6GoogleAccess

clearPrivateIpv6GoogleAccess

setPrivateIpv6GoogleAccess

This field is for internal use. This field can be both set at resource creation time and updated using patch.

Check the PrivateIpv6GoogleAccess enum for the list of possible values.

Parameter
Name Description
var string
Returns
Type Description
$this

getPurpose

The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.

Check the Purpose enum for the list of possible values.

Returns
Type Description
string

hasPurpose

clearPurpose

setPurpose

The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.

Check the Purpose enum for the list of possible values.

Parameter
Name Description
var string
Returns
Type Description
$this

getRegion

URL of the region where the Subnetwork resides. This field can be set only at resource creation time.

Returns
Type Description
string

hasRegion

clearRegion

setRegion

URL of the region where the Subnetwork resides. This field can be set only at resource creation time.

Parameter
Name Description
var string
Returns
Type Description
$this

getReservedInternalRange

The URL of the reserved internal range.

Returns
Type Description
string

hasReservedInternalRange

clearReservedInternalRange

setReservedInternalRange

The URL of the reserved internal range.

Parameter
Name Description
var string
Returns
Type Description
$this

getRole

The role of subnetwork. Currently, this field is only used when purpose is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Envoy-based load balancers in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request.

Check the Role enum for the list of possible values.

Returns
Type Description
string

hasRole

clearRole

setRole

The role of subnetwork. Currently, this field is only used when purpose is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Envoy-based load balancers in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request.

Check the Role enum for the list of possible values.

Parameter
Name Description
var string
Returns
Type Description
$this

getSecondaryIpRanges

An array of configurations for secondary IP ranges for VM instances contained in this subnetwork. The primary IP of such VM must belong to the primary ipCidrRange of the subnetwork. The alias IPs may belong to either primary or secondary ranges. This field can be updated with a patch request.

Returns
Type Description
Google\Protobuf\Internal\RepeatedField

setSecondaryIpRanges

An array of configurations for secondary IP ranges for VM instances contained in this subnetwork. The primary IP of such VM must belong to the primary ipCidrRange of the subnetwork. The alias IPs may belong to either primary or secondary ranges. This field can be updated with a patch request.

Parameter
Name Description
var array<Google\Cloud\Compute\V1\SubnetworkSecondaryRange>
Returns
Type Description
$this

[Output Only] Server-defined URL for the resource.

Returns
Type Description
string

[Output Only] Server-defined URL for the resource.

Parameter
Name Description
var string
Returns
Type Description
$this

getStackType

The stack type for the subnet. If set to IPV4_ONLY, new VMs in the subnet are assigned IPv4 addresses only. If set to IPV4_IPV6, new VMs in the subnet can be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. This field can be both set at resource creation time and updated using patch.

Check the StackType enum for the list of possible values.

Returns
Type Description
string

hasStackType

clearStackType

setStackType

The stack type for the subnet. If set to IPV4_ONLY, new VMs in the subnet are assigned IPv4 addresses only. If set to IPV4_IPV6, new VMs in the subnet can be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. This field can be both set at resource creation time and updated using patch.

Check the StackType enum for the list of possible values.

Parameter
Name Description
var string
Returns
Type Description
$this

getState

[Output Only] The state of the subnetwork, which can be one of the following values: READY: Subnetwork is created and ready to use DRAINING: only applicable to subnetworks that have the purpose set to INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load balancer are being drained. A subnetwork that is draining cannot be used or modified until it reaches a status of READY Check the State enum for the list of possible values.

Returns
Type Description
string

hasState

clearState

setState

[Output Only] The state of the subnetwork, which can be one of the following values: READY: Subnetwork is created and ready to use DRAINING: only applicable to subnetworks that have the purpose set to INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load balancer are being drained. A subnetwork that is draining cannot be used or modified until it reaches a status of READY Check the State enum for the list of possible values.

Parameter
Name Description
var string
Returns
Type Description
$this