Class: Google::Cloud::Compute::V1::Subnetwork

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/cloud/compute/v1/compute.rb

Overview

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.

Defined Under Namespace

Modules: Ipv6AccessType, Ipv6GceEndpoint, PrivateIpv6GoogleAccess, Purpose, ResolveSubnetMask, Role, StackType, State

Instance Attribute Summary collapse

Instance Attribute Details

#allow_subnet_cidr_routes_overlap ⇒ ::Boolean

Returns Whether this subnetwork's ranges can conflict with existing custom routes. Setting this to true allows this subnetwork's primary and secondary ranges to overlap with (and contain) custom routes that have already been configured on the corresponding network.

For example if a static route has range 10.1.0.0/16, a subnet range 10.0.0.0/8 could only be created if allow_conflicting_routes=true.

Overlapping is only allowed on subnetwork operations; routes whose ranges conflict with this subnetwork's ranges won't be allowed unless route.allow_conflicting_subnetworks is set to true.

Typically packets destined to IPs within the subnetwork (which may contain private/sensitive data) are prevented from leaving the virtual network. Setting this field to true will disable this feature.

The default value is false and applies to all existing subnetworks and automatically created subnetworks.

Returns:

  • (::Boolean) —

    Whether this subnetwork's ranges can conflict with existing custom routes. Setting this to true allows this subnetwork's primary and secondary ranges to overlap with (and contain) custom routes that have already been configured on the corresponding network.

    For example if a static route has range 10.1.0.0/16, a subnet range 10.0.0.0/8 could only be created if allow_conflicting_routes=true.

    Overlapping is only allowed on subnetwork operations; routes whose ranges conflict with this subnetwork's ranges won't be allowed unless route.allow_conflicting_subnetworks is set to true.

    Typically packets destined to IPs within the subnetwork (which may contain private/sensitive data) are prevented from leaving the virtual network. Setting this field to true will disable this feature.

    The default value is false and applies to all existing subnetworks and automatically created subnetworks.



79907
79908
79909
79910
79911
79912
79913
79914
79915
79916
79917
79918
79919
79920
79921
79922
79923
79924
79925
79926
79927
79928
79929
79930
79931
79932
79933
79934
79935
79936
79937
79938
79939
79940
79941
79942
79943
79944
79945
79946
79947
79948
79949
79950
79951
79952
79953
79954
79955
79956
79957
79958
79959
79960
79961
79962
79963
79964
79965
79966
79967
79968
79969
79970
79971
79972
79973
79974
79975
79976
79977
79978
79979
79980
79981
79982
79983
79984
79985
79986
79987
79988
79989
79990
79991
79992
79993
79994
79995
79996
79997
79998
79999
80000
80001
80002
80003
80004
80005
80006
80007
80008
80009
80010
80011
80012
80013
80014
80015
80016
80017
80018
80019
80020
80021
80022
80023
80024
80025
80026
80027
80028
80029
80030
80031
80032
80033
80034
80035
80036
80037
80038
80039
80040
80041
80042
80043
80044
80045
80046
80047
80048
80049
80050
80051
80052
80053
80054
80055
80056
80057
80058
80059
80060
80061
80062
80063
80064
80065
80066
80067
80068
80069
80070
80071
80072
80073
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 79907

class Subnetwork
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  module Ipv6AccessType
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_ACCESS_TYPE = 0

    # VMs on this subnet will be assigned IPv6 addresses that are accessible
    # via the Internet, as well as the VPC network.
    EXTERNAL = 35_607_499

    # VMs on this subnet will be assigned IPv6 addresses that are only
    # accessible over the VPC network.
    INTERNAL = 279_295_677

    UNSPECIFIED_IPV6_ACCESS_TYPE = 313_080_613
  end

  # Output only. [Output Only] Possible endpoints of this subnetwork. It can be one of the
  # following:
  #
  #    - VM_ONLY: The subnetwork can be used for creating instances and
  #    IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6
  #    ranges from a public delegated prefix and cannot be used to create NetLb.
  #    - VM_AND_FR: The subnetwork can be used for creating both VM
  #    instances and Forwarding Rules. It can also be used to reserve IPv6
  #    addresses with both VM and FR endpoint types. Such a subnetwork gets its
  #    IPv6 range from Google IP Pool directly.
  module Ipv6GceEndpoint
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_GCE_ENDPOINT = 0

    VM_AND_FR = 41_830_108

    VM_ONLY = 236_773_428
  end

  # This field is for internal use.
  #
  # This field can be both set at resource creation time and updated usingpatch.
  module PrivateIpv6GoogleAccess
    # A value indicating that the enum field is not set.
    UNDEFINED_PRIVATE_IPV6_GOOGLE_ACCESS = 0

    # Disable private IPv6 access to/from Google services.
    DISABLE_GOOGLE_ACCESS = 450_958_579

    # Bidirectional private IPv6 access to/from Google services.
    ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE = 427_975_994

    # Outbound private IPv6 access from VMs in this subnet to Google services.
    ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288_210_263
  end

  module Purpose
    # A value indicating that the enum field is not set.
    UNDEFINED_PURPOSE = 0

    # Subnet reserved for Global Envoy-based Load Balancing.
    GLOBAL_MANAGED_PROXY = 236_463_602

    # Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy
    # purpose, please use REGIONAL_MANAGED_PROXY instead.
    INTERNAL_HTTPS_LOAD_BALANCER = 248_748_889

    # Subnetwork will be used for Migration from one peered VPC to another.
    # (a transient state of subnetwork
    # while migrating resources from one project to another).
    PEER_MIGRATION = 491_902_225

    # Regular user created or automatically created subnet.
    PRIVATE = 403_485_027

    # Subnetwork used as source range for Private NAT Gateways.
    PRIVATE_NAT = 367_764_517

    # Regular user created or automatically created subnet.
    PRIVATE_RFC_1918 = 254_902_107

    # Subnetworks created for Private Service Connect in the producer network.
    PRIVATE_SERVICE_CONNECT = 48_134_724

    # Subnetwork used for Regional Envoy-based Load Balancing.
    REGIONAL_MANAGED_PROXY = 153_049_966
  end

  # Configures subnet mask resolution for this subnetwork.
  module ResolveSubnetMask
    # A value indicating that the enum field is not set.
    UNDEFINED_RESOLVE_SUBNET_MASK = 0

    # All ranges assigned to the VM NIC will respond to ARP.
    ARP_ALL_RANGES = 445_655_380

    # VMs will receive an ARP response from a VM instance owning the target IP
    # address within the subnetwork's primary CIDR range, if such a VM instance
    # exists and is running.
    ARP_BROADCAST_PRIMARY_RANGE = 123_887_458

    # Combines ARP_BROADCAST_PRIMARY_RANGE with MAC learning. Enables cache
    # mapping between IP addresses and custom MAC addresses of instances and
    # use of it to set the correct destination MAC address. If this option is
    # chosen, the subnetwork must have /24 or a smaller CIDR range.
    ARP_BROADCAST_PRIMARY_RANGE_WITH_LEARNING = 425_592_922

    # Only the primary range of the VM NIC will respond to ARP.
    ARP_PRIMARY_RANGE = 120_210_048
  end

  # The role of subnetwork. Currently, this field is only used when
  # purpose is set to GLOBAL_MANAGED_PROXY orREGIONAL_MANAGED_PROXY. The value can be set toACTIVE 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.
  module Role
    # A value indicating that the enum field is not set.
    UNDEFINED_ROLE = 0

    # The ACTIVE subnet that is currently used.
    ACTIVE = 314_733_318

    # The BACKUP subnet that could be promoted to ACTIVE.
    BACKUP = 341_010_882
  end

  # The stack type for the subnet. If set to IPV4_ONLY, new VMs
  # in the subnet are assigned IPv4 addresses only. If set toIPV4_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 usingpatch.
  module StackType
    # A value indicating that the enum field is not set.
    UNDEFINED_STACK_TYPE = 0

    # New VMs in this subnet can have both IPv4 and IPv6 addresses.
    IPV4_IPV6 = 22_197_249

    # New VMs in this subnet will only be assigned IPv4 addresses.
    IPV4_ONLY = 22_373_798

    # New VMs in this subnet will only  be assigned IPv6 addresses.
    IPV6_ONLY = 79_632_100

    UNSPECIFIED_STACK_TYPE = 298_084_569
  end

  # Output only. [Output Only] The state of the subnetwork, which can be one of the
  # following values:READY: Subnetwork is created and ready to useDRAINING: 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 ofREADY
  module State
    # A value indicating that the enum field is not set.
    UNDEFINED_STATE = 0

    # Subnetwork is being drained.
    DRAINING = 480_455_402

    # Subnetwork is ready for use.
    READY = 77_848_963
  end
end

#creation_timestamp ⇒ ::String

Returns Output only. [Output Only] Creation timestamp inRFC3339 text format.

Returns:

  • (::String) —

    Output only. [Output Only] Creation timestamp inRFC3339 text format.



79907
79908
79909
79910
79911
79912
79913
79914
79915
79916
79917
79918
79919
79920
79921
79922
79923
79924
79925
79926
79927
79928
79929
79930
79931
79932
79933
79934
79935
79936
79937
79938
79939
79940
79941
79942
79943
79944
79945
79946
79947
79948
79949
79950
79951
79952
79953
79954
79955
79956
79957
79958
79959
79960
79961
79962
79963
79964
79965
79966
79967
79968
79969
79970
79971
79972
79973
79974
79975
79976
79977
79978
79979
79980
79981
79982
79983
79984
79985
79986
79987
79988
79989
79990
79991
79992
79993
79994
79995
79996
79997
79998
79999
80000
80001
80002
80003
80004
80005
80006
80007
80008
80009
80010
80011
80012
80013
80014
80015
80016
80017
80018
80019
80020
80021
80022
80023
80024
80025
80026
80027
80028
80029
80030
80031
80032
80033
80034
80035
80036
80037
80038
80039
80040
80041
80042
80043
80044
80045
80046
80047
80048
80049
80050
80051
80052
80053
80054
80055
80056
80057
80058
80059
80060
80061
80062
80063
80064
80065
80066
80067
80068
80069
80070
80071
80072
80073
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 79907

class Subnetwork
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  module Ipv6AccessType
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_ACCESS_TYPE = 0

    # VMs on this subnet will be assigned IPv6 addresses that are accessible
    # via the Internet, as well as the VPC network.
    EXTERNAL = 35_607_499

    # VMs on this subnet will be assigned IPv6 addresses that are only
    # accessible over the VPC network.
    INTERNAL = 279_295_677

    UNSPECIFIED_IPV6_ACCESS_TYPE = 313_080_613
  end

  # Output only. [Output Only] Possible endpoints of this subnetwork. It can be one of the
  # following:
  #
  #    - VM_ONLY: The subnetwork can be used for creating instances and
  #    IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6
  #    ranges from a public delegated prefix and cannot be used to create NetLb.
  #    - VM_AND_FR: The subnetwork can be used for creating both VM
  #    instances and Forwarding Rules. It can also be used to reserve IPv6
  #    addresses with both VM and FR endpoint types. Such a subnetwork gets its
  #    IPv6 range from Google IP Pool directly.
  module Ipv6GceEndpoint
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_GCE_ENDPOINT = 0

    VM_AND_FR = 41_830_108

    VM_ONLY = 236_773_428
  end

  # This field is for internal use.
  #
  # This field can be both set at resource creation time and updated usingpatch.
  module PrivateIpv6GoogleAccess
    # A value indicating that the enum field is not set.
    UNDEFINED_PRIVATE_IPV6_GOOGLE_ACCESS = 0

    # Disable private IPv6 access to/from Google services.
    DISABLE_GOOGLE_ACCESS = 450_958_579

    # Bidirectional private IPv6 access to/from Google services.
    ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE = 427_975_994

    # Outbound private IPv6 access from VMs in this subnet to Google services.
    ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288_210_263
  end

  module Purpose
    # A value indicating that the enum field is not set.
    UNDEFINED_PURPOSE = 0

    # Subnet reserved for Global Envoy-based Load Balancing.
    GLOBAL_MANAGED_PROXY = 236_463_602

    # Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy
    # purpose, please use REGIONAL_MANAGED_PROXY instead.
    INTERNAL_HTTPS_LOAD_BALANCER = 248_748_889

    # Subnetwork will be used for Migration from one peered VPC to another.
    # (a transient state of subnetwork
    # while migrating resources from one project to another).
    PEER_MIGRATION = 491_902_225

    # Regular user created or automatically created subnet.
    PRIVATE = 403_485_027

    # Subnetwork used as source range for Private NAT Gateways.
    PRIVATE_NAT = 367_764_517

    # Regular user created or automatically created subnet.
    PRIVATE_RFC_1918 = 254_902_107

    # Subnetworks created for Private Service Connect in the producer network.
    PRIVATE_SERVICE_CONNECT = 48_134_724

    # Subnetwork used for Regional Envoy-based Load Balancing.
    REGIONAL_MANAGED_PROXY = 153_049_966
  end

  # Configures subnet mask resolution for this subnetwork.
  module ResolveSubnetMask
    # A value indicating that the enum field is not set.
    UNDEFINED_RESOLVE_SUBNET_MASK = 0

    # All ranges assigned to the VM NIC will respond to ARP.
    ARP_ALL_RANGES = 445_655_380

    # VMs will receive an ARP response from a VM instance owning the target IP
    # address within the subnetwork's primary CIDR range, if such a VM instance
    # exists and is running.
    ARP_BROADCAST_PRIMARY_RANGE = 123_887_458

    # Combines ARP_BROADCAST_PRIMARY_RANGE with MAC learning. Enables cache
    # mapping between IP addresses and custom MAC addresses of instances and
    # use of it to set the correct destination MAC address. If this option is
    # chosen, the subnetwork must have /24 or a smaller CIDR range.
    ARP_BROADCAST_PRIMARY_RANGE_WITH_LEARNING = 425_592_922

    # Only the primary range of the VM NIC will respond to ARP.
    ARP_PRIMARY_RANGE = 120_210_048
  end

  # The role of subnetwork. Currently, this field is only used when
  # purpose is set to GLOBAL_MANAGED_PROXY orREGIONAL_MANAGED_PROXY. The value can be set toACTIVE 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.
  module Role
    # A value indicating that the enum field is not set.
    UNDEFINED_ROLE = 0

    # The ACTIVE subnet that is currently used.
    ACTIVE = 314_733_318

    # The BACKUP subnet that could be promoted to ACTIVE.
    BACKUP = 341_010_882
  end

  # The stack type for the subnet. If set to IPV4_ONLY, new VMs
  # in the subnet are assigned IPv4 addresses only. If set toIPV4_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 usingpatch.
  module StackType
    # A value indicating that the enum field is not set.
    UNDEFINED_STACK_TYPE = 0

    # New VMs in this subnet can have both IPv4 and IPv6 addresses.
    IPV4_IPV6 = 22_197_249

    # New VMs in this subnet will only be assigned IPv4 addresses.
    IPV4_ONLY = 22_373_798

    # New VMs in this subnet will only  be assigned IPv6 addresses.
    IPV6_ONLY = 79_632_100

    UNSPECIFIED_STACK_TYPE = 298_084_569
  end

  # Output only. [Output Only] The state of the subnetwork, which can be one of the
  # following values:READY: Subnetwork is created and ready to useDRAINING: 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 ofREADY
  module State
    # A value indicating that the enum field is not set.
    UNDEFINED_STATE = 0

    # Subnetwork is being drained.
    DRAINING = 480_455_402

    # Subnetwork is ready for use.
    READY = 77_848_963
  end
end

#description ⇒ ::String

Returns 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:

  • (::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.



79907
79908
79909
79910
79911
79912
79913
79914
79915
79916
79917
79918
79919
79920
79921
79922
79923
79924
79925
79926
79927
79928
79929
79930
79931
79932
79933
79934
79935
79936
79937
79938
79939
79940
79941
79942
79943
79944
79945
79946
79947
79948
79949
79950
79951
79952
79953
79954
79955
79956
79957
79958
79959
79960
79961
79962
79963
79964
79965
79966
79967
79968
79969
79970
79971
79972
79973
79974
79975
79976
79977
79978
79979
79980
79981
79982
79983
79984
79985
79986
79987
79988
79989
79990
79991
79992
79993
79994
79995
79996
79997
79998
79999
80000
80001
80002
80003
80004
80005
80006
80007
80008
80009
80010
80011
80012
80013
80014
80015
80016
80017
80018
80019
80020
80021
80022
80023
80024
80025
80026
80027
80028
80029
80030
80031
80032
80033
80034
80035
80036
80037
80038
80039
80040
80041
80042
80043
80044
80045
80046
80047
80048
80049
80050
80051
80052
80053
80054
80055
80056
80057
80058
80059
80060
80061
80062
80063
80064
80065
80066
80067
80068
80069
80070
80071
80072
80073
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 79907

class Subnetwork
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  module Ipv6AccessType
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_ACCESS_TYPE = 0

    # VMs on this subnet will be assigned IPv6 addresses that are accessible
    # via the Internet, as well as the VPC network.
    EXTERNAL = 35_607_499

    # VMs on this subnet will be assigned IPv6 addresses that are only
    # accessible over the VPC network.
    INTERNAL = 279_295_677

    UNSPECIFIED_IPV6_ACCESS_TYPE = 313_080_613
  end

  # Output only. [Output Only] Possible endpoints of this subnetwork. It can be one of the
  # following:
  #
  #    - VM_ONLY: The subnetwork can be used for creating instances and
  #    IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6
  #    ranges from a public delegated prefix and cannot be used to create NetLb.
  #    - VM_AND_FR: The subnetwork can be used for creating both VM
  #    instances and Forwarding Rules. It can also be used to reserve IPv6
  #    addresses with both VM and FR endpoint types. Such a subnetwork gets its
  #    IPv6 range from Google IP Pool directly.
  module Ipv6GceEndpoint
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_GCE_ENDPOINT = 0

    VM_AND_FR = 41_830_108

    VM_ONLY = 236_773_428
  end

  # This field is for internal use.
  #
  # This field can be both set at resource creation time and updated usingpatch.
  module PrivateIpv6GoogleAccess
    # A value indicating that the enum field is not set.
    UNDEFINED_PRIVATE_IPV6_GOOGLE_ACCESS = 0

    # Disable private IPv6 access to/from Google services.
    DISABLE_GOOGLE_ACCESS = 450_958_579

    # Bidirectional private IPv6 access to/from Google services.
    ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE = 427_975_994

    # Outbound private IPv6 access from VMs in this subnet to Google services.
    ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288_210_263
  end

  module Purpose
    # A value indicating that the enum field is not set.
    UNDEFINED_PURPOSE = 0

    # Subnet reserved for Global Envoy-based Load Balancing.
    GLOBAL_MANAGED_PROXY = 236_463_602

    # Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy
    # purpose, please use REGIONAL_MANAGED_PROXY instead.
    INTERNAL_HTTPS_LOAD_BALANCER = 248_748_889

    # Subnetwork will be used for Migration from one peered VPC to another.
    # (a transient state of subnetwork
    # while migrating resources from one project to another).
    PEER_MIGRATION = 491_902_225

    # Regular user created or automatically created subnet.
    PRIVATE = 403_485_027

    # Subnetwork used as source range for Private NAT Gateways.
    PRIVATE_NAT = 367_764_517

    # Regular user created or automatically created subnet.
    PRIVATE_RFC_1918 = 254_902_107

    # Subnetworks created for Private Service Connect in the producer network.
    PRIVATE_SERVICE_CONNECT = 48_134_724

    # Subnetwork used for Regional Envoy-based Load Balancing.
    REGIONAL_MANAGED_PROXY = 153_049_966
  end

  # Configures subnet mask resolution for this subnetwork.
  module ResolveSubnetMask
    # A value indicating that the enum field is not set.
    UNDEFINED_RESOLVE_SUBNET_MASK = 0

    # All ranges assigned to the VM NIC will respond to ARP.
    ARP_ALL_RANGES = 445_655_380

    # VMs will receive an ARP response from a VM instance owning the target IP
    # address within the subnetwork's primary CIDR range, if such a VM instance
    # exists and is running.
    ARP_BROADCAST_PRIMARY_RANGE = 123_887_458

    # Combines ARP_BROADCAST_PRIMARY_RANGE with MAC learning. Enables cache
    # mapping between IP addresses and custom MAC addresses of instances and
    # use of it to set the correct destination MAC address. If this option is
    # chosen, the subnetwork must have /24 or a smaller CIDR range.
    ARP_BROADCAST_PRIMARY_RANGE_WITH_LEARNING = 425_592_922

    # Only the primary range of the VM NIC will respond to ARP.
    ARP_PRIMARY_RANGE = 120_210_048
  end

  # The role of subnetwork. Currently, this field is only used when
  # purpose is set to GLOBAL_MANAGED_PROXY orREGIONAL_MANAGED_PROXY. The value can be set toACTIVE 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.
  module Role
    # A value indicating that the enum field is not set.
    UNDEFINED_ROLE = 0

    # The ACTIVE subnet that is currently used.
    ACTIVE = 314_733_318

    # The BACKUP subnet that could be promoted to ACTIVE.
    BACKUP = 341_010_882
  end

  # The stack type for the subnet. If set to IPV4_ONLY, new VMs
  # in the subnet are assigned IPv4 addresses only. If set toIPV4_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 usingpatch.
  module StackType
    # A value indicating that the enum field is not set.
    UNDEFINED_STACK_TYPE = 0

    # New VMs in this subnet can have both IPv4 and IPv6 addresses.
    IPV4_IPV6 = 22_197_249

    # New VMs in this subnet will only be assigned IPv4 addresses.
    IPV4_ONLY = 22_373_798

    # New VMs in this subnet will only  be assigned IPv6 addresses.
    IPV6_ONLY = 79_632_100

    UNSPECIFIED_STACK_TYPE = 298_084_569
  end

  # Output only. [Output Only] The state of the subnetwork, which can be one of the
  # following values:READY: Subnetwork is created and ready to useDRAINING: 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 ofREADY
  module State
    # A value indicating that the enum field is not set.
    UNDEFINED_STATE = 0

    # Subnetwork is being drained.
    DRAINING = 480_455_402

    # Subnetwork is ready for use.
    READY = 77_848_963
  end
end

#enable_flow_logs ⇒ ::Boolean

Returns 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 toREGIONAL_MANAGED_PROXY. It is recommended to uselogConfig.enable field instead.

Returns:

  • (::Boolean) —

    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 toREGIONAL_MANAGED_PROXY. It is recommended to uselogConfig.enable field instead.



79907
79908
79909
79910
79911
79912
79913
79914
79915
79916
79917
79918
79919
79920
79921
79922
79923
79924
79925
79926
79927
79928
79929
79930
79931
79932
79933
79934
79935
79936
79937
79938
79939
79940
79941
79942
79943
79944
79945
79946
79947
79948
79949
79950
79951
79952
79953
79954
79955
79956
79957
79958
79959
79960
79961
79962
79963
79964
79965
79966
79967
79968
79969
79970
79971
79972
79973
79974
79975
79976
79977
79978
79979
79980
79981
79982
79983
79984
79985
79986
79987
79988
79989
79990
79991
79992
79993
79994
79995
79996
79997
79998
79999
80000
80001
80002
80003
80004
80005
80006
80007
80008
80009
80010
80011
80012
80013
80014
80015
80016
80017
80018
80019
80020
80021
80022
80023
80024
80025
80026
80027
80028
80029
80030
80031
80032
80033
80034
80035
80036
80037
80038
80039
80040
80041
80042
80043
80044
80045
80046
80047
80048
80049
80050
80051
80052
80053
80054
80055
80056
80057
80058
80059
80060
80061
80062
80063
80064
80065
80066
80067
80068
80069
80070
80071
80072
80073
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 79907

class Subnetwork
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  module Ipv6AccessType
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_ACCESS_TYPE = 0

    # VMs on this subnet will be assigned IPv6 addresses that are accessible
    # via the Internet, as well as the VPC network.
    EXTERNAL = 35_607_499

    # VMs on this subnet will be assigned IPv6 addresses that are only
    # accessible over the VPC network.
    INTERNAL = 279_295_677

    UNSPECIFIED_IPV6_ACCESS_TYPE = 313_080_613
  end

  # Output only. [Output Only] Possible endpoints of this subnetwork. It can be one of the
  # following:
  #
  #    - VM_ONLY: The subnetwork can be used for creating instances and
  #    IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6
  #    ranges from a public delegated prefix and cannot be used to create NetLb.
  #    - VM_AND_FR: The subnetwork can be used for creating both VM
  #    instances and Forwarding Rules. It can also be used to reserve IPv6
  #    addresses with both VM and FR endpoint types. Such a subnetwork gets its
  #    IPv6 range from Google IP Pool directly.
  module Ipv6GceEndpoint
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_GCE_ENDPOINT = 0

    VM_AND_FR = 41_830_108

    VM_ONLY = 236_773_428
  end

  # This field is for internal use.
  #
  # This field can be both set at resource creation time and updated usingpatch.
  module PrivateIpv6GoogleAccess
    # A value indicating that the enum field is not set.
    UNDEFINED_PRIVATE_IPV6_GOOGLE_ACCESS = 0

    # Disable private IPv6 access to/from Google services.
    DISABLE_GOOGLE_ACCESS = 450_958_579

    # Bidirectional private IPv6 access to/from Google services.
    ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE = 427_975_994

    # Outbound private IPv6 access from VMs in this subnet to Google services.
    ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288_210_263
  end

  module Purpose
    # A value indicating that the enum field is not set.
    UNDEFINED_PURPOSE = 0

    # Subnet reserved for Global Envoy-based Load Balancing.
    GLOBAL_MANAGED_PROXY = 236_463_602

    # Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy
    # purpose, please use REGIONAL_MANAGED_PROXY instead.
    INTERNAL_HTTPS_LOAD_BALANCER = 248_748_889

    # Subnetwork will be used for Migration from one peered VPC to another.
    # (a transient state of subnetwork
    # while migrating resources from one project to another).
    PEER_MIGRATION = 491_902_225

    # Regular user created or automatically created subnet.
    PRIVATE = 403_485_027

    # Subnetwork used as source range for Private NAT Gateways.
    PRIVATE_NAT = 367_764_517

    # Regular user created or automatically created subnet.
    PRIVATE_RFC_1918 = 254_902_107

    # Subnetworks created for Private Service Connect in the producer network.
    PRIVATE_SERVICE_CONNECT = 48_134_724

    # Subnetwork used for Regional Envoy-based Load Balancing.
    REGIONAL_MANAGED_PROXY = 153_049_966
  end

  # Configures subnet mask resolution for this subnetwork.
  module ResolveSubnetMask
    # A value indicating that the enum field is not set.
    UNDEFINED_RESOLVE_SUBNET_MASK = 0

    # All ranges assigned to the VM NIC will respond to ARP.
    ARP_ALL_RANGES = 445_655_380

    # VMs will receive an ARP response from a VM instance owning the target IP
    # address within the subnetwork's primary CIDR range, if such a VM instance
    # exists and is running.
    ARP_BROADCAST_PRIMARY_RANGE = 123_887_458

    # Combines ARP_BROADCAST_PRIMARY_RANGE with MAC learning. Enables cache
    # mapping between IP addresses and custom MAC addresses of instances and
    # use of it to set the correct destination MAC address. If this option is
    # chosen, the subnetwork must have /24 or a smaller CIDR range.
    ARP_BROADCAST_PRIMARY_RANGE_WITH_LEARNING = 425_592_922

    # Only the primary range of the VM NIC will respond to ARP.
    ARP_PRIMARY_RANGE = 120_210_048
  end

  # The role of subnetwork. Currently, this field is only used when
  # purpose is set to GLOBAL_MANAGED_PROXY orREGIONAL_MANAGED_PROXY. The value can be set toACTIVE 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.
  module Role
    # A value indicating that the enum field is not set.
    UNDEFINED_ROLE = 0

    # The ACTIVE subnet that is currently used.
    ACTIVE = 314_733_318

    # The BACKUP subnet that could be promoted to ACTIVE.
    BACKUP = 341_010_882
  end

  # The stack type for the subnet. If set to IPV4_ONLY, new VMs
  # in the subnet are assigned IPv4 addresses only. If set toIPV4_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 usingpatch.
  module StackType
    # A value indicating that the enum field is not set.
    UNDEFINED_STACK_TYPE = 0

    # New VMs in this subnet can have both IPv4 and IPv6 addresses.
    IPV4_IPV6 = 22_197_249

    # New VMs in this subnet will only be assigned IPv4 addresses.
    IPV4_ONLY = 22_373_798

    # New VMs in this subnet will only  be assigned IPv6 addresses.
    IPV6_ONLY = 79_632_100

    UNSPECIFIED_STACK_TYPE = 298_084_569
  end

  # Output only. [Output Only] The state of the subnetwork, which can be one of the
  # following values:READY: Subnetwork is created and ready to useDRAINING: 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 ofREADY
  module State
    # A value indicating that the enum field is not set.
    UNDEFINED_STATE = 0

    # Subnetwork is being drained.
    DRAINING = 480_455_402

    # Subnetwork is ready for use.
    READY = 77_848_963
  end
end

#external_ipv6_prefix ⇒ ::String

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

Returns:

  • (::String) —

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



79907
79908
79909
79910
79911
79912
79913
79914
79915
79916
79917
79918
79919
79920
79921
79922
79923
79924
79925
79926
79927
79928
79929
79930
79931
79932
79933
79934
79935
79936
79937
79938
79939
79940
79941
79942
79943
79944
79945
79946
79947
79948
79949
79950
79951
79952
79953
79954
79955
79956
79957
79958
79959
79960
79961
79962
79963
79964
79965
79966
79967
79968
79969
79970
79971
79972
79973
79974
79975
79976
79977
79978
79979
79980
79981
79982
79983
79984
79985
79986
79987
79988
79989
79990
79991
79992
79993
79994
79995
79996
79997
79998
79999
80000
80001
80002
80003
80004
80005
80006
80007
80008
80009
80010
80011
80012
80013
80014
80015
80016
80017
80018
80019
80020
80021
80022
80023
80024
80025
80026
80027
80028
80029
80030
80031
80032
80033
80034
80035
80036
80037
80038
80039
80040
80041
80042
80043
80044
80045
80046
80047
80048
80049
80050
80051
80052
80053
80054
80055
80056
80057
80058
80059
80060
80061
80062
80063
80064
80065
80066
80067
80068
80069
80070
80071
80072
80073
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 79907

class Subnetwork
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  module Ipv6AccessType
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_ACCESS_TYPE = 0

    # VMs on this subnet will be assigned IPv6 addresses that are accessible
    # via the Internet, as well as the VPC network.
    EXTERNAL = 35_607_499

    # VMs on this subnet will be assigned IPv6 addresses that are only
    # accessible over the VPC network.
    INTERNAL = 279_295_677

    UNSPECIFIED_IPV6_ACCESS_TYPE = 313_080_613
  end

  # Output only. [Output Only] Possible endpoints of this subnetwork. It can be one of the
  # following:
  #
  #    - VM_ONLY: The subnetwork can be used for creating instances and
  #    IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6
  #    ranges from a public delegated prefix and cannot be used to create NetLb.
  #    - VM_AND_FR: The subnetwork can be used for creating both VM
  #    instances and Forwarding Rules. It can also be used to reserve IPv6
  #    addresses with both VM and FR endpoint types. Such a subnetwork gets its
  #    IPv6 range from Google IP Pool directly.
  module Ipv6GceEndpoint
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_GCE_ENDPOINT = 0

    VM_AND_FR = 41_830_108

    VM_ONLY = 236_773_428
  end

  # This field is for internal use.
  #
  # This field can be both set at resource creation time and updated usingpatch.
  module PrivateIpv6GoogleAccess
    # A value indicating that the enum field is not set.
    UNDEFINED_PRIVATE_IPV6_GOOGLE_ACCESS = 0

    # Disable private IPv6 access to/from Google services.
    DISABLE_GOOGLE_ACCESS = 450_958_579

    # Bidirectional private IPv6 access to/from Google services.
    ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE = 427_975_994

    # Outbound private IPv6 access from VMs in this subnet to Google services.
    ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288_210_263
  end

  module Purpose
    # A value indicating that the enum field is not set.
    UNDEFINED_PURPOSE = 0

    # Subnet reserved for Global Envoy-based Load Balancing.
    GLOBAL_MANAGED_PROXY = 236_463_602

    # Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy
    # purpose, please use REGIONAL_MANAGED_PROXY instead.
    INTERNAL_HTTPS_LOAD_BALANCER = 248_748_889

    # Subnetwork will be used for Migration from one peered VPC to another.
    # (a transient state of subnetwork
    # while migrating resources from one project to another).
    PEER_MIGRATION = 491_902_225

    # Regular user created or automatically created subnet.
    PRIVATE = 403_485_027

    # Subnetwork used as source range for Private NAT Gateways.
    PRIVATE_NAT = 367_764_517

    # Regular user created or automatically created subnet.
    PRIVATE_RFC_1918 = 254_902_107

    # Subnetworks created for Private Service Connect in the producer network.
    PRIVATE_SERVICE_CONNECT = 48_134_724

    # Subnetwork used for Regional Envoy-based Load Balancing.
    REGIONAL_MANAGED_PROXY = 153_049_966
  end

  # Configures subnet mask resolution for this subnetwork.
  module ResolveSubnetMask
    # A value indicating that the enum field is not set.
    UNDEFINED_RESOLVE_SUBNET_MASK = 0

    # All ranges assigned to the VM NIC will respond to ARP.
    ARP_ALL_RANGES = 445_655_380

    # VMs will receive an ARP response from a VM instance owning the target IP
    # address within the subnetwork's primary CIDR range, if such a VM instance
    # exists and is running.
    ARP_BROADCAST_PRIMARY_RANGE = 123_887_458

    # Combines ARP_BROADCAST_PRIMARY_RANGE with MAC learning. Enables cache
    # mapping between IP addresses and custom MAC addresses of instances and
    # use of it to set the correct destination MAC address. If this option is
    # chosen, the subnetwork must have /24 or a smaller CIDR range.
    ARP_BROADCAST_PRIMARY_RANGE_WITH_LEARNING = 425_592_922

    # Only the primary range of the VM NIC will respond to ARP.
    ARP_PRIMARY_RANGE = 120_210_048
  end

  # The role of subnetwork. Currently, this field is only used when
  # purpose is set to GLOBAL_MANAGED_PROXY orREGIONAL_MANAGED_PROXY. The value can be set toACTIVE 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.
  module Role
    # A value indicating that the enum field is not set.
    UNDEFINED_ROLE = 0

    # The ACTIVE subnet that is currently used.
    ACTIVE = 314_733_318

    # The BACKUP subnet that could be promoted to ACTIVE.
    BACKUP = 341_010_882
  end

  # The stack type for the subnet. If set to IPV4_ONLY, new VMs
  # in the subnet are assigned IPv4 addresses only. If set toIPV4_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 usingpatch.
  module StackType
    # A value indicating that the enum field is not set.
    UNDEFINED_STACK_TYPE = 0

    # New VMs in this subnet can have both IPv4 and IPv6 addresses.
    IPV4_IPV6 = 22_197_249

    # New VMs in this subnet will only be assigned IPv4 addresses.
    IPV4_ONLY = 22_373_798

    # New VMs in this subnet will only  be assigned IPv6 addresses.
    IPV6_ONLY = 79_632_100

    UNSPECIFIED_STACK_TYPE = 298_084_569
  end

  # Output only. [Output Only] The state of the subnetwork, which can be one of the
  # following values:READY: Subnetwork is created and ready to useDRAINING: 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 ofREADY
  module State
    # A value indicating that the enum field is not set.
    UNDEFINED_STATE = 0

    # Subnetwork is being drained.
    DRAINING = 480_455_402

    # Subnetwork is ready for use.
    READY = 77_848_963
  end
end

#fingerprint ⇒ ::String

Returns 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:

  • (::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.



79907
79908
79909
79910
79911
79912
79913
79914
79915
79916
79917
79918
79919
79920
79921
79922
79923
79924
79925
79926
79927
79928
79929
79930
79931
79932
79933
79934
79935
79936
79937
79938
79939
79940
79941
79942
79943
79944
79945
79946
79947
79948
79949
79950
79951
79952
79953
79954
79955
79956
79957
79958
79959
79960
79961
79962
79963
79964
79965
79966
79967
79968
79969
79970
79971
79972
79973
79974
79975
79976
79977
79978
79979
79980
79981
79982
79983
79984
79985
79986
79987
79988
79989
79990
79991
79992
79993
79994
79995
79996
79997
79998
79999
80000
80001
80002
80003
80004
80005
80006
80007
80008
80009
80010
80011
80012
80013
80014
80015
80016
80017
80018
80019
80020
80021
80022
80023
80024
80025
80026
80027
80028
80029
80030
80031
80032
80033
80034
80035
80036
80037
80038
80039
80040
80041
80042
80043
80044
80045
80046
80047
80048
80049
80050
80051
80052
80053
80054
80055
80056
80057
80058
80059
80060
80061
80062
80063
80064
80065
80066
80067
80068
80069
80070
80071
80072
80073
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 79907

class Subnetwork
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  module Ipv6AccessType
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_ACCESS_TYPE = 0

    # VMs on this subnet will be assigned IPv6 addresses that are accessible
    # via the Internet, as well as the VPC network.
    EXTERNAL = 35_607_499

    # VMs on this subnet will be assigned IPv6 addresses that are only
    # accessible over the VPC network.
    INTERNAL = 279_295_677

    UNSPECIFIED_IPV6_ACCESS_TYPE = 313_080_613
  end

  # Output only. [Output Only] Possible endpoints of this subnetwork. It can be one of the
  # following:
  #
  #    - VM_ONLY: The subnetwork can be used for creating instances and
  #    IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6
  #    ranges from a public delegated prefix and cannot be used to create NetLb.
  #    - VM_AND_FR: The subnetwork can be used for creating both VM
  #    instances and Forwarding Rules. It can also be used to reserve IPv6
  #    addresses with both VM and FR endpoint types. Such a subnetwork gets its
  #    IPv6 range from Google IP Pool directly.
  module Ipv6GceEndpoint
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_GCE_ENDPOINT = 0

    VM_AND_FR = 41_830_108

    VM_ONLY = 236_773_428
  end

  # This field is for internal use.
  #
  # This field can be both set at resource creation time and updated usingpatch.
  module PrivateIpv6GoogleAccess
    # A value indicating that the enum field is not set.
    UNDEFINED_PRIVATE_IPV6_GOOGLE_ACCESS = 0

    # Disable private IPv6 access to/from Google services.
    DISABLE_GOOGLE_ACCESS = 450_958_579

    # Bidirectional private IPv6 access to/from Google services.
    ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE = 427_975_994

    # Outbound private IPv6 access from VMs in this subnet to Google services.
    ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288_210_263
  end

  module Purpose
    # A value indicating that the enum field is not set.
    UNDEFINED_PURPOSE = 0

    # Subnet reserved for Global Envoy-based Load Balancing.
    GLOBAL_MANAGED_PROXY = 236_463_602

    # Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy
    # purpose, please use REGIONAL_MANAGED_PROXY instead.
    INTERNAL_HTTPS_LOAD_BALANCER = 248_748_889

    # Subnetwork will be used for Migration from one peered VPC to another.
    # (a transient state of subnetwork
    # while migrating resources from one project to another).
    PEER_MIGRATION = 491_902_225

    # Regular user created or automatically created subnet.
    PRIVATE = 403_485_027

    # Subnetwork used as source range for Private NAT Gateways.
    PRIVATE_NAT = 367_764_517

    # Regular user created or automatically created subnet.
    PRIVATE_RFC_1918 = 254_902_107

    # Subnetworks created for Private Service Connect in the producer network.
    PRIVATE_SERVICE_CONNECT = 48_134_724

    # Subnetwork used for Regional Envoy-based Load Balancing.
    REGIONAL_MANAGED_PROXY = 153_049_966
  end

  # Configures subnet mask resolution for this subnetwork.
  module ResolveSubnetMask
    # A value indicating that the enum field is not set.
    UNDEFINED_RESOLVE_SUBNET_MASK = 0

    # All ranges assigned to the VM NIC will respond to ARP.
    ARP_ALL_RANGES = 445_655_380

    # VMs will receive an ARP response from a VM instance owning the target IP
    # address within the subnetwork's primary CIDR range, if such a VM instance
    # exists and is running.
    ARP_BROADCAST_PRIMARY_RANGE = 123_887_458

    # Combines ARP_BROADCAST_PRIMARY_RANGE with MAC learning. Enables cache
    # mapping between IP addresses and custom MAC addresses of instances and
    # use of it to set the correct destination MAC address. If this option is
    # chosen, the subnetwork must have /24 or a smaller CIDR range.
    ARP_BROADCAST_PRIMARY_RANGE_WITH_LEARNING = 425_592_922

    # Only the primary range of the VM NIC will respond to ARP.
    ARP_PRIMARY_RANGE = 120_210_048
  end

  # The role of subnetwork. Currently, this field is only used when
  # purpose is set to GLOBAL_MANAGED_PROXY orREGIONAL_MANAGED_PROXY. The value can be set toACTIVE 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.
  module Role
    # A value indicating that the enum field is not set.
    UNDEFINED_ROLE = 0

    # The ACTIVE subnet that is currently used.
    ACTIVE = 314_733_318

    # The BACKUP subnet that could be promoted to ACTIVE.
    BACKUP = 341_010_882
  end

  # The stack type for the subnet. If set to IPV4_ONLY, new VMs
  # in the subnet are assigned IPv4 addresses only. If set toIPV4_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 usingpatch.
  module StackType
    # A value indicating that the enum field is not set.
    UNDEFINED_STACK_TYPE = 0

    # New VMs in this subnet can have both IPv4 and IPv6 addresses.
    IPV4_IPV6 = 22_197_249

    # New VMs in this subnet will only be assigned IPv4 addresses.
    IPV4_ONLY = 22_373_798

    # New VMs in this subnet will only  be assigned IPv6 addresses.
    IPV6_ONLY = 79_632_100

    UNSPECIFIED_STACK_TYPE = 298_084_569
  end

  # Output only. [Output Only] The state of the subnetwork, which can be one of the
  # following values:READY: Subnetwork is created and ready to useDRAINING: 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 ofREADY
  module State
    # A value indicating that the enum field is not set.
    UNDEFINED_STATE = 0

    # Subnetwork is being drained.
    DRAINING = 480_455_402

    # Subnetwork is ready for use.
    READY = 77_848_963
  end
end

#gateway_address ⇒ ::String

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

Returns:

  • (::String) —

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



79907
79908
79909
79910
79911
79912
79913
79914
79915
79916
79917
79918
79919
79920
79921
79922
79923
79924
79925
79926
79927
79928
79929
79930
79931
79932
79933
79934
79935
79936
79937
79938
79939
79940
79941
79942
79943
79944
79945
79946
79947
79948
79949
79950
79951
79952
79953
79954
79955
79956
79957
79958
79959
79960
79961
79962
79963
79964
79965
79966
79967
79968
79969
79970
79971
79972
79973
79974
79975
79976
79977
79978
79979
79980
79981
79982
79983
79984
79985
79986
79987
79988
79989
79990
79991
79992
79993
79994
79995
79996
79997
79998
79999
80000
80001
80002
80003
80004
80005
80006
80007
80008
80009
80010
80011
80012
80013
80014
80015
80016
80017
80018
80019
80020
80021
80022
80023
80024
80025
80026
80027
80028
80029
80030
80031
80032
80033
80034
80035
80036
80037
80038
80039
80040
80041
80042
80043
80044
80045
80046
80047
80048
80049
80050
80051
80052
80053
80054
80055
80056
80057
80058
80059
80060
80061
80062
80063
80064
80065
80066
80067
80068
80069
80070
80071
80072
80073
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 79907

class Subnetwork
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  module Ipv6AccessType
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_ACCESS_TYPE = 0

    # VMs on this subnet will be assigned IPv6 addresses that are accessible
    # via the Internet, as well as the VPC network.
    EXTERNAL = 35_607_499

    # VMs on this subnet will be assigned IPv6 addresses that are only
    # accessible over the VPC network.
    INTERNAL = 279_295_677

    UNSPECIFIED_IPV6_ACCESS_TYPE = 313_080_613
  end

  # Output only. [Output Only] Possible endpoints of this subnetwork. It can be one of the
  # following:
  #
  #    - VM_ONLY: The subnetwork can be used for creating instances and
  #    IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6
  #    ranges from a public delegated prefix and cannot be used to create NetLb.
  #    - VM_AND_FR: The subnetwork can be used for creating both VM
  #    instances and Forwarding Rules. It can also be used to reserve IPv6
  #    addresses with both VM and FR endpoint types. Such a subnetwork gets its
  #    IPv6 range from Google IP Pool directly.
  module Ipv6GceEndpoint
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_GCE_ENDPOINT = 0

    VM_AND_FR = 41_830_108

    VM_ONLY = 236_773_428
  end

  # This field is for internal use.
  #
  # This field can be both set at resource creation time and updated usingpatch.
  module PrivateIpv6GoogleAccess
    # A value indicating that the enum field is not set.
    UNDEFINED_PRIVATE_IPV6_GOOGLE_ACCESS = 0

    # Disable private IPv6 access to/from Google services.
    DISABLE_GOOGLE_ACCESS = 450_958_579

    # Bidirectional private IPv6 access to/from Google services.
    ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE = 427_975_994

    # Outbound private IPv6 access from VMs in this subnet to Google services.
    ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288_210_263
  end

  module Purpose
    # A value indicating that the enum field is not set.
    UNDEFINED_PURPOSE = 0

    # Subnet reserved for Global Envoy-based Load Balancing.
    GLOBAL_MANAGED_PROXY = 236_463_602

    # Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy
    # purpose, please use REGIONAL_MANAGED_PROXY instead.
    INTERNAL_HTTPS_LOAD_BALANCER = 248_748_889

    # Subnetwork will be used for Migration from one peered VPC to another.
    # (a transient state of subnetwork
    # while migrating resources from one project to another).
    PEER_MIGRATION = 491_902_225

    # Regular user created or automatically created subnet.
    PRIVATE = 403_485_027

    # Subnetwork used as source range for Private NAT Gateways.
    PRIVATE_NAT = 367_764_517

    # Regular user created or automatically created subnet.
    PRIVATE_RFC_1918 = 254_902_107

    # Subnetworks created for Private Service Connect in the producer network.
    PRIVATE_SERVICE_CONNECT = 48_134_724

    # Subnetwork used for Regional Envoy-based Load Balancing.
    REGIONAL_MANAGED_PROXY = 153_049_966
  end

  # Configures subnet mask resolution for this subnetwork.
  module ResolveSubnetMask
    # A value indicating that the enum field is not set.
    UNDEFINED_RESOLVE_SUBNET_MASK = 0

    # All ranges assigned to the VM NIC will respond to ARP.
    ARP_ALL_RANGES = 445_655_380

    # VMs will receive an ARP response from a VM instance owning the target IP
    # address within the subnetwork's primary CIDR range, if such a VM instance
    # exists and is running.
    ARP_BROADCAST_PRIMARY_RANGE = 123_887_458

    # Combines ARP_BROADCAST_PRIMARY_RANGE with MAC learning. Enables cache
    # mapping between IP addresses and custom MAC addresses of instances and
    # use of it to set the correct destination MAC address. If this option is
    # chosen, the subnetwork must have /24 or a smaller CIDR range.
    ARP_BROADCAST_PRIMARY_RANGE_WITH_LEARNING = 425_592_922

    # Only the primary range of the VM NIC will respond to ARP.
    ARP_PRIMARY_RANGE = 120_210_048
  end

  # The role of subnetwork. Currently, this field is only used when
  # purpose is set to GLOBAL_MANAGED_PROXY orREGIONAL_MANAGED_PROXY. The value can be set toACTIVE 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.
  module Role
    # A value indicating that the enum field is not set.
    UNDEFINED_ROLE = 0

    # The ACTIVE subnet that is currently used.
    ACTIVE = 314_733_318

    # The BACKUP subnet that could be promoted to ACTIVE.
    BACKUP = 341_010_882
  end

  # The stack type for the subnet. If set to IPV4_ONLY, new VMs
  # in the subnet are assigned IPv4 addresses only. If set toIPV4_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 usingpatch.
  module StackType
    # A value indicating that the enum field is not set.
    UNDEFINED_STACK_TYPE = 0

    # New VMs in this subnet can have both IPv4 and IPv6 addresses.
    IPV4_IPV6 = 22_197_249

    # New VMs in this subnet will only be assigned IPv4 addresses.
    IPV4_ONLY = 22_373_798

    # New VMs in this subnet will only  be assigned IPv6 addresses.
    IPV6_ONLY = 79_632_100

    UNSPECIFIED_STACK_TYPE = 298_084_569
  end

  # Output only. [Output Only] The state of the subnetwork, which can be one of the
  # following values:READY: Subnetwork is created and ready to useDRAINING: 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 ofREADY
  module State
    # A value indicating that the enum field is not set.
    UNDEFINED_STATE = 0

    # Subnetwork is being drained.
    DRAINING = 480_455_402

    # Subnetwork is ready for use.
    READY = 77_848_963
  end
end

#id ⇒ ::Integer

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

Returns:

  • (::Integer) —

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



79907
79908
79909
79910
79911
79912
79913
79914
79915
79916
79917
79918
79919
79920
79921
79922
79923
79924
79925
79926
79927
79928
79929
79930
79931
79932
79933
79934
79935
79936
79937
79938
79939
79940
79941
79942
79943
79944
79945
79946
79947
79948
79949
79950
79951
79952
79953
79954
79955
79956
79957
79958
79959
79960
79961
79962
79963
79964
79965
79966
79967
79968
79969
79970
79971
79972
79973
79974
79975
79976
79977
79978
79979
79980
79981
79982
79983
79984
79985
79986
79987
79988
79989
79990
79991
79992
79993
79994
79995
79996
79997
79998
79999
80000
80001
80002
80003
80004
80005
80006
80007
80008
80009
80010
80011
80012
80013
80014
80015
80016
80017
80018
80019
80020
80021
80022
80023
80024
80025
80026
80027
80028
80029
80030
80031
80032
80033
80034
80035
80036
80037
80038
80039
80040
80041
80042
80043
80044
80045
80046
80047
80048
80049
80050
80051
80052
80053
80054
80055
80056
80057
80058
80059
80060
80061
80062
80063
80064
80065
80066
80067
80068
80069
80070
80071
80072
80073
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 79907

class Subnetwork
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  module Ipv6AccessType
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_ACCESS_TYPE = 0

    # VMs on this subnet will be assigned IPv6 addresses that are accessible
    # via the Internet, as well as the VPC network.
    EXTERNAL = 35_607_499

    # VMs on this subnet will be assigned IPv6 addresses that are only
    # accessible over the VPC network.
    INTERNAL = 279_295_677

    UNSPECIFIED_IPV6_ACCESS_TYPE = 313_080_613
  end

  # Output only. [Output Only] Possible endpoints of this subnetwork. It can be one of the
  # following:
  #
  #    - VM_ONLY: The subnetwork can be used for creating instances and
  #    IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6
  #    ranges from a public delegated prefix and cannot be used to create NetLb.
  #    - VM_AND_FR: The subnetwork can be used for creating both VM
  #    instances and Forwarding Rules. It can also be used to reserve IPv6
  #    addresses with both VM and FR endpoint types. Such a subnetwork gets its
  #    IPv6 range from Google IP Pool directly.
  module Ipv6GceEndpoint
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_GCE_ENDPOINT = 0

    VM_AND_FR = 41_830_108

    VM_ONLY = 236_773_428
  end

  # This field is for internal use.
  #
  # This field can be both set at resource creation time and updated usingpatch.
  module PrivateIpv6GoogleAccess
    # A value indicating that the enum field is not set.
    UNDEFINED_PRIVATE_IPV6_GOOGLE_ACCESS = 0

    # Disable private IPv6 access to/from Google services.
    DISABLE_GOOGLE_ACCESS = 450_958_579

    # Bidirectional private IPv6 access to/from Google services.
    ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE = 427_975_994

    # Outbound private IPv6 access from VMs in this subnet to Google services.
    ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288_210_263
  end

  module Purpose
    # A value indicating that the enum field is not set.
    UNDEFINED_PURPOSE = 0

    # Subnet reserved for Global Envoy-based Load Balancing.
    GLOBAL_MANAGED_PROXY = 236_463_602

    # Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy
    # purpose, please use REGIONAL_MANAGED_PROXY instead.
    INTERNAL_HTTPS_LOAD_BALANCER = 248_748_889

    # Subnetwork will be used for Migration from one peered VPC to another.
    # (a transient state of subnetwork
    # while migrating resources from one project to another).
    PEER_MIGRATION = 491_902_225

    # Regular user created or automatically created subnet.
    PRIVATE = 403_485_027

    # Subnetwork used as source range for Private NAT Gateways.
    PRIVATE_NAT = 367_764_517

    # Regular user created or automatically created subnet.
    PRIVATE_RFC_1918 = 254_902_107

    # Subnetworks created for Private Service Connect in the producer network.
    PRIVATE_SERVICE_CONNECT = 48_134_724

    # Subnetwork used for Regional Envoy-based Load Balancing.
    REGIONAL_MANAGED_PROXY = 153_049_966
  end

  # Configures subnet mask resolution for this subnetwork.
  module ResolveSubnetMask
    # A value indicating that the enum field is not set.
    UNDEFINED_RESOLVE_SUBNET_MASK = 0

    # All ranges assigned to the VM NIC will respond to ARP.
    ARP_ALL_RANGES = 445_655_380

    # VMs will receive an ARP response from a VM instance owning the target IP
    # address within the subnetwork's primary CIDR range, if such a VM instance
    # exists and is running.
    ARP_BROADCAST_PRIMARY_RANGE = 123_887_458

    # Combines ARP_BROADCAST_PRIMARY_RANGE with MAC learning. Enables cache
    # mapping between IP addresses and custom MAC addresses of instances and
    # use of it to set the correct destination MAC address. If this option is
    # chosen, the subnetwork must have /24 or a smaller CIDR range.
    ARP_BROADCAST_PRIMARY_RANGE_WITH_LEARNING = 425_592_922

    # Only the primary range of the VM NIC will respond to ARP.
    ARP_PRIMARY_RANGE = 120_210_048
  end

  # The role of subnetwork. Currently, this field is only used when
  # purpose is set to GLOBAL_MANAGED_PROXY orREGIONAL_MANAGED_PROXY. The value can be set toACTIVE 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.
  module Role
    # A value indicating that the enum field is not set.
    UNDEFINED_ROLE = 0

    # The ACTIVE subnet that is currently used.
    ACTIVE = 314_733_318

    # The BACKUP subnet that could be promoted to ACTIVE.
    BACKUP = 341_010_882
  end

  # The stack type for the subnet. If set to IPV4_ONLY, new VMs
  # in the subnet are assigned IPv4 addresses only. If set toIPV4_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 usingpatch.
  module StackType
    # A value indicating that the enum field is not set.
    UNDEFINED_STACK_TYPE = 0

    # New VMs in this subnet can have both IPv4 and IPv6 addresses.
    IPV4_IPV6 = 22_197_249

    # New VMs in this subnet will only be assigned IPv4 addresses.
    IPV4_ONLY = 22_373_798

    # New VMs in this subnet will only  be assigned IPv6 addresses.
    IPV6_ONLY = 79_632_100

    UNSPECIFIED_STACK_TYPE = 298_084_569
  end

  # Output only. [Output Only] The state of the subnetwork, which can be one of the
  # following values:READY: Subnetwork is created and ready to useDRAINING: 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 ofREADY
  module State
    # A value indicating that the enum field is not set.
    UNDEFINED_STATE = 0

    # Subnetwork is being drained.
    DRAINING = 480_455_402

    # Subnetwork is ready for use.
    READY = 77_848_963
  end
end

#internal_ipv6_prefix ⇒ ::String

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

Returns:

  • (::String) —

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



79907
79908
79909
79910
79911
79912
79913
79914
79915
79916
79917
79918
79919
79920
79921
79922
79923
79924
79925
79926
79927
79928
79929
79930
79931
79932
79933
79934
79935
79936
79937
79938
79939
79940
79941
79942
79943
79944
79945
79946
79947
79948
79949
79950
79951
79952
79953
79954
79955
79956
79957
79958
79959
79960
79961
79962
79963
79964
79965
79966
79967
79968
79969
79970
79971
79972
79973
79974
79975
79976
79977
79978
79979
79980
79981
79982
79983
79984
79985
79986
79987
79988
79989
79990
79991
79992
79993
79994
79995
79996
79997
79998
79999
80000
80001
80002
80003
80004
80005
80006
80007
80008
80009
80010
80011
80012
80013
80014
80015
80016
80017
80018
80019
80020
80021
80022
80023
80024
80025
80026
80027
80028
80029
80030
80031
80032
80033
80034
80035
80036
80037
80038
80039
80040
80041
80042
80043
80044
80045
80046
80047
80048
80049
80050
80051
80052
80053
80054
80055
80056
80057
80058
80059
80060
80061
80062
80063
80064
80065
80066
80067
80068
80069
80070
80071
80072
80073
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 79907

class Subnetwork
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  module Ipv6AccessType
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_ACCESS_TYPE = 0

    # VMs on this subnet will be assigned IPv6 addresses that are accessible
    # via the Internet, as well as the VPC network.
    EXTERNAL = 35_607_499

    # VMs on this subnet will be assigned IPv6 addresses that are only
    # accessible over the VPC network.
    INTERNAL = 279_295_677

    UNSPECIFIED_IPV6_ACCESS_TYPE = 313_080_613
  end

  # Output only. [Output Only] Possible endpoints of this subnetwork. It can be one of the
  # following:
  #
  #    - VM_ONLY: The subnetwork can be used for creating instances and
  #    IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6
  #    ranges from a public delegated prefix and cannot be used to create NetLb.
  #    - VM_AND_FR: The subnetwork can be used for creating both VM
  #    instances and Forwarding Rules. It can also be used to reserve IPv6
  #    addresses with both VM and FR endpoint types. Such a subnetwork gets its
  #    IPv6 range from Google IP Pool directly.
  module Ipv6GceEndpoint
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_GCE_ENDPOINT = 0

    VM_AND_FR = 41_830_108

    VM_ONLY = 236_773_428
  end

  # This field is for internal use.
  #
  # This field can be both set at resource creation time and updated usingpatch.
  module PrivateIpv6GoogleAccess
    # A value indicating that the enum field is not set.
    UNDEFINED_PRIVATE_IPV6_GOOGLE_ACCESS = 0

    # Disable private IPv6 access to/from Google services.
    DISABLE_GOOGLE_ACCESS = 450_958_579

    # Bidirectional private IPv6 access to/from Google services.
    ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE = 427_975_994

    # Outbound private IPv6 access from VMs in this subnet to Google services.
    ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288_210_263
  end

  module Purpose
    # A value indicating that the enum field is not set.
    UNDEFINED_PURPOSE = 0

    # Subnet reserved for Global Envoy-based Load Balancing.
    GLOBAL_MANAGED_PROXY = 236_463_602

    # Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy
    # purpose, please use REGIONAL_MANAGED_PROXY instead.
    INTERNAL_HTTPS_LOAD_BALANCER = 248_748_889

    # Subnetwork will be used for Migration from one peered VPC to another.
    # (a transient state of subnetwork
    # while migrating resources from one project to another).
    PEER_MIGRATION = 491_902_225

    # Regular user created or automatically created subnet.
    PRIVATE = 403_485_027

    # Subnetwork used as source range for Private NAT Gateways.
    PRIVATE_NAT = 367_764_517

    # Regular user created or automatically created subnet.
    PRIVATE_RFC_1918 = 254_902_107

    # Subnetworks created for Private Service Connect in the producer network.
    PRIVATE_SERVICE_CONNECT = 48_134_724

    # Subnetwork used for Regional Envoy-based Load Balancing.
    REGIONAL_MANAGED_PROXY = 153_049_966
  end

  # Configures subnet mask resolution for this subnetwork.
  module ResolveSubnetMask
    # A value indicating that the enum field is not set.
    UNDEFINED_RESOLVE_SUBNET_MASK = 0

    # All ranges assigned to the VM NIC will respond to ARP.
    ARP_ALL_RANGES = 445_655_380

    # VMs will receive an ARP response from a VM instance owning the target IP
    # address within the subnetwork's primary CIDR range, if such a VM instance
    # exists and is running.
    ARP_BROADCAST_PRIMARY_RANGE = 123_887_458

    # Combines ARP_BROADCAST_PRIMARY_RANGE with MAC learning. Enables cache
    # mapping between IP addresses and custom MAC addresses of instances and
    # use of it to set the correct destination MAC address. If this option is
    # chosen, the subnetwork must have /24 or a smaller CIDR range.
    ARP_BROADCAST_PRIMARY_RANGE_WITH_LEARNING = 425_592_922

    # Only the primary range of the VM NIC will respond to ARP.
    ARP_PRIMARY_RANGE = 120_210_048
  end

  # The role of subnetwork. Currently, this field is only used when
  # purpose is set to GLOBAL_MANAGED_PROXY orREGIONAL_MANAGED_PROXY. The value can be set toACTIVE 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.
  module Role
    # A value indicating that the enum field is not set.
    UNDEFINED_ROLE = 0

    # The ACTIVE subnet that is currently used.
    ACTIVE = 314_733_318

    # The BACKUP subnet that could be promoted to ACTIVE.
    BACKUP = 341_010_882
  end

  # The stack type for the subnet. If set to IPV4_ONLY, new VMs
  # in the subnet are assigned IPv4 addresses only. If set toIPV4_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 usingpatch.
  module StackType
    # A value indicating that the enum field is not set.
    UNDEFINED_STACK_TYPE = 0

    # New VMs in this subnet can have both IPv4 and IPv6 addresses.
    IPV4_IPV6 = 22_197_249

    # New VMs in this subnet will only be assigned IPv4 addresses.
    IPV4_ONLY = 22_373_798

    # New VMs in this subnet will only  be assigned IPv6 addresses.
    IPV6_ONLY = 79_632_100

    UNSPECIFIED_STACK_TYPE = 298_084_569
  end

  # Output only. [Output Only] The state of the subnetwork, which can be one of the
  # following values:READY: Subnetwork is created and ready to useDRAINING: 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 ofREADY
  module State
    # A value indicating that the enum field is not set.
    UNDEFINED_STATE = 0

    # Subnetwork is being drained.
    DRAINING = 480_455_402

    # Subnetwork is ready for use.
    READY = 77_848_963
  end
end

#ip_cidr_range ⇒ ::String

Returns 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 theValid ranges list. The range can be expanded after creation usingexpandIpCidrRange.

Returns:

  • (::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 theValid ranges list. The range can be expanded after creation usingexpandIpCidrRange.



79907
79908
79909
79910
79911
79912
79913
79914
79915
79916
79917
79918
79919
79920
79921
79922
79923
79924
79925
79926
79927
79928
79929
79930
79931
79932
79933
79934
79935
79936
79937
79938
79939
79940
79941
79942
79943
79944
79945
79946
79947
79948
79949
79950
79951
79952
79953
79954
79955
79956
79957
79958
79959
79960
79961
79962
79963
79964
79965
79966
79967
79968
79969
79970
79971
79972
79973
79974
79975
79976
79977
79978
79979
79980
79981
79982
79983
79984
79985
79986
79987
79988
79989
79990
79991
79992
79993
79994
79995
79996
79997
79998
79999
80000
80001
80002
80003
80004
80005
80006
80007
80008
80009
80010
80011
80012
80013
80014
80015
80016
80017
80018
80019
80020
80021
80022
80023
80024
80025
80026
80027
80028
80029
80030
80031
80032
80033
80034
80035
80036
80037
80038
80039
80040
80041
80042
80043
80044
80045
80046
80047
80048
80049
80050
80051
80052
80053
80054
80055
80056
80057
80058
80059
80060
80061
80062
80063
80064
80065
80066
80067
80068
80069
80070
80071
80072
80073
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 79907

class Subnetwork
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  module Ipv6AccessType
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_ACCESS_TYPE = 0

    # VMs on this subnet will be assigned IPv6 addresses that are accessible
    # via the Internet, as well as the VPC network.
    EXTERNAL = 35_607_499

    # VMs on this subnet will be assigned IPv6 addresses that are only
    # accessible over the VPC network.
    INTERNAL = 279_295_677

    UNSPECIFIED_IPV6_ACCESS_TYPE = 313_080_613
  end

  # Output only. [Output Only] Possible endpoints of this subnetwork. It can be one of the
  # following:
  #
  #    - VM_ONLY: The subnetwork can be used for creating instances and
  #    IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6
  #    ranges from a public delegated prefix and cannot be used to create NetLb.
  #    - VM_AND_FR: The subnetwork can be used for creating both VM
  #    instances and Forwarding Rules. It can also be used to reserve IPv6
  #    addresses with both VM and FR endpoint types. Such a subnetwork gets its
  #    IPv6 range from Google IP Pool directly.
  module Ipv6GceEndpoint
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_GCE_ENDPOINT = 0

    VM_AND_FR = 41_830_108

    VM_ONLY = 236_773_428
  end

  # This field is for internal use.
  #
  # This field can be both set at resource creation time and updated usingpatch.
  module PrivateIpv6GoogleAccess
    # A value indicating that the enum field is not set.
    UNDEFINED_PRIVATE_IPV6_GOOGLE_ACCESS = 0

    # Disable private IPv6 access to/from Google services.
    DISABLE_GOOGLE_ACCESS = 450_958_579

    # Bidirectional private IPv6 access to/from Google services.
    ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE = 427_975_994

    # Outbound private IPv6 access from VMs in this subnet to Google services.
    ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288_210_263
  end

  module Purpose
    # A value indicating that the enum field is not set.
    UNDEFINED_PURPOSE = 0

    # Subnet reserved for Global Envoy-based Load Balancing.
    GLOBAL_MANAGED_PROXY = 236_463_602

    # Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy
    # purpose, please use REGIONAL_MANAGED_PROXY instead.
    INTERNAL_HTTPS_LOAD_BALANCER = 248_748_889

    # Subnetwork will be used for Migration from one peered VPC to another.
    # (a transient state of subnetwork
    # while migrating resources from one project to another).
    PEER_MIGRATION = 491_902_225

    # Regular user created or automatically created subnet.
    PRIVATE = 403_485_027

    # Subnetwork used as source range for Private NAT Gateways.
    PRIVATE_NAT = 367_764_517

    # Regular user created or automatically created subnet.
    PRIVATE_RFC_1918 = 254_902_107

    # Subnetworks created for Private Service Connect in the producer network.
    PRIVATE_SERVICE_CONNECT = 48_134_724

    # Subnetwork used for Regional Envoy-based Load Balancing.
    REGIONAL_MANAGED_PROXY = 153_049_966
  end

  # Configures subnet mask resolution for this subnetwork.
  module ResolveSubnetMask
    # A value indicating that the enum field is not set.
    UNDEFINED_RESOLVE_SUBNET_MASK = 0

    # All ranges assigned to the VM NIC will respond to ARP.
    ARP_ALL_RANGES = 445_655_380

    # VMs will receive an ARP response from a VM instance owning the target IP
    # address within the subnetwork's primary CIDR range, if such a VM instance
    # exists and is running.
    ARP_BROADCAST_PRIMARY_RANGE = 123_887_458

    # Combines ARP_BROADCAST_PRIMARY_RANGE with MAC learning. Enables cache
    # mapping between IP addresses and custom MAC addresses of instances and
    # use of it to set the correct destination MAC address. If this option is
    # chosen, the subnetwork must have /24 or a smaller CIDR range.
    ARP_BROADCAST_PRIMARY_RANGE_WITH_LEARNING = 425_592_922

    # Only the primary range of the VM NIC will respond to ARP.
    ARP_PRIMARY_RANGE = 120_210_048
  end

  # The role of subnetwork. Currently, this field is only used when
  # purpose is set to GLOBAL_MANAGED_PROXY orREGIONAL_MANAGED_PROXY. The value can be set toACTIVE 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.
  module Role
    # A value indicating that the enum field is not set.
    UNDEFINED_ROLE = 0

    # The ACTIVE subnet that is currently used.
    ACTIVE = 314_733_318

    # The BACKUP subnet that could be promoted to ACTIVE.
    BACKUP = 341_010_882
  end

  # The stack type for the subnet. If set to IPV4_ONLY, new VMs
  # in the subnet are assigned IPv4 addresses only. If set toIPV4_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 usingpatch.
  module StackType
    # A value indicating that the enum field is not set.
    UNDEFINED_STACK_TYPE = 0

    # New VMs in this subnet can have both IPv4 and IPv6 addresses.
    IPV4_IPV6 = 22_197_249

    # New VMs in this subnet will only be assigned IPv4 addresses.
    IPV4_ONLY = 22_373_798

    # New VMs in this subnet will only  be assigned IPv6 addresses.
    IPV6_ONLY = 79_632_100

    UNSPECIFIED_STACK_TYPE = 298_084_569
  end

  # Output only. [Output Only] The state of the subnetwork, which can be one of the
  # following values:READY: Subnetwork is created and ready to useDRAINING: 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 ofREADY
  module State
    # A value indicating that the enum field is not set.
    UNDEFINED_STATE = 0

    # Subnetwork is being drained.
    DRAINING = 480_455_402

    # Subnetwork is ready for use.
    READY = 77_848_963
  end
end

#ip_collection ⇒ ::String

Returns Reference to the source of IP, like a PublicDelegatedPrefix (PDP) for BYOIP. The PDP must be a sub-PDP in EXTERNAL_IPV6_SUBNETWORK_CREATION or INTERNAL_IPV6_SUBNETWORK_CREATION mode.

Use one of the following formats to specify a sub-PDP when creating a dual stack or IPv6-only subnetwork with external access using BYOIP:

-
Full resource URL, as inhttps://www.googleapis.com/compute/v1/projects/projectId/regions/region/publicDelegatedPrefixes/sub-pdp-name
-
Partial URL, as in

      - projects/projectId/regions/region/publicDelegatedPrefixes/sub-pdp-name
      - regions/region/publicDelegatedPrefixes/sub-pdp-name.

Returns:

  • (::String) —

    Reference to the source of IP, like a PublicDelegatedPrefix (PDP) for BYOIP. The PDP must be a sub-PDP in EXTERNAL_IPV6_SUBNETWORK_CREATION or INTERNAL_IPV6_SUBNETWORK_CREATION mode.

    Use one of the following formats to specify a sub-PDP when creating a dual stack or IPv6-only subnetwork with external access using BYOIP:

    -
    Full resource URL, as inhttps://www.googleapis.com/compute/v1/projects/projectId/regions/region/publicDelegatedPrefixes/sub-pdp-name
    -
    Partial URL, as in
    
          - projects/projectId/regions/region/publicDelegatedPrefixes/sub-pdp-name
          - regions/region/publicDelegatedPrefixes/sub-pdp-name
    


79907
79908
79909
79910
79911
79912
79913
79914
79915
79916
79917
79918
79919
79920
79921
79922
79923
79924
79925
79926
79927
79928
79929
79930
79931
79932
79933
79934
79935
79936
79937
79938
79939
79940
79941
79942
79943
79944
79945
79946
79947
79948
79949
79950
79951
79952
79953
79954
79955
79956
79957
79958
79959
79960
79961
79962
79963
79964
79965
79966
79967
79968
79969
79970
79971
79972
79973
79974
79975
79976
79977
79978
79979
79980
79981
79982
79983
79984
79985
79986
79987
79988
79989
79990
79991
79992
79993
79994
79995
79996
79997
79998
79999
80000
80001
80002
80003
80004
80005
80006
80007
80008
80009
80010
80011
80012
80013
80014
80015
80016
80017
80018
80019
80020
80021
80022
80023
80024
80025
80026
80027
80028
80029
80030
80031
80032
80033
80034
80035
80036
80037
80038
80039
80040
80041
80042
80043
80044
80045
80046
80047
80048
80049
80050
80051
80052
80053
80054
80055
80056
80057
80058
80059
80060
80061
80062
80063
80064
80065
80066
80067
80068
80069
80070
80071
80072
80073
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 79907

class Subnetwork
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  module Ipv6AccessType
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_ACCESS_TYPE = 0

    # VMs on this subnet will be assigned IPv6 addresses that are accessible
    # via the Internet, as well as the VPC network.
    EXTERNAL = 35_607_499

    # VMs on this subnet will be assigned IPv6 addresses that are only
    # accessible over the VPC network.
    INTERNAL = 279_295_677

    UNSPECIFIED_IPV6_ACCESS_TYPE = 313_080_613
  end

  # Output only. [Output Only] Possible endpoints of this subnetwork. It can be one of the
  # following:
  #
  #    - VM_ONLY: The subnetwork can be used for creating instances and
  #    IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6
  #    ranges from a public delegated prefix and cannot be used to create NetLb.
  #    - VM_AND_FR: The subnetwork can be used for creating both VM
  #    instances and Forwarding Rules. It can also be used to reserve IPv6
  #    addresses with both VM and FR endpoint types. Such a subnetwork gets its
  #    IPv6 range from Google IP Pool directly.
  module Ipv6GceEndpoint
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_GCE_ENDPOINT = 0

    VM_AND_FR = 41_830_108

    VM_ONLY = 236_773_428
  end

  # This field is for internal use.
  #
  # This field can be both set at resource creation time and updated usingpatch.
  module PrivateIpv6GoogleAccess
    # A value indicating that the enum field is not set.
    UNDEFINED_PRIVATE_IPV6_GOOGLE_ACCESS = 0

    # Disable private IPv6 access to/from Google services.
    DISABLE_GOOGLE_ACCESS = 450_958_579

    # Bidirectional private IPv6 access to/from Google services.
    ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE = 427_975_994

    # Outbound private IPv6 access from VMs in this subnet to Google services.
    ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288_210_263
  end

  module Purpose
    # A value indicating that the enum field is not set.
    UNDEFINED_PURPOSE = 0

    # Subnet reserved for Global Envoy-based Load Balancing.
    GLOBAL_MANAGED_PROXY = 236_463_602

    # Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy
    # purpose, please use REGIONAL_MANAGED_PROXY instead.
    INTERNAL_HTTPS_LOAD_BALANCER = 248_748_889

    # Subnetwork will be used for Migration from one peered VPC to another.
    # (a transient state of subnetwork
    # while migrating resources from one project to another).
    PEER_MIGRATION = 491_902_225

    # Regular user created or automatically created subnet.
    PRIVATE = 403_485_027

    # Subnetwork used as source range for Private NAT Gateways.
    PRIVATE_NAT = 367_764_517

    # Regular user created or automatically created subnet.
    PRIVATE_RFC_1918 = 254_902_107

    # Subnetworks created for Private Service Connect in the producer network.
    PRIVATE_SERVICE_CONNECT = 48_134_724

    # Subnetwork used for Regional Envoy-based Load Balancing.
    REGIONAL_MANAGED_PROXY = 153_049_966
  end

  # Configures subnet mask resolution for this subnetwork.
  module ResolveSubnetMask
    # A value indicating that the enum field is not set.
    UNDEFINED_RESOLVE_SUBNET_MASK = 0

    # All ranges assigned to the VM NIC will respond to ARP.
    ARP_ALL_RANGES = 445_655_380

    # VMs will receive an ARP response from a VM instance owning the target IP
    # address within the subnetwork's primary CIDR range, if such a VM instance
    # exists and is running.
    ARP_BROADCAST_PRIMARY_RANGE = 123_887_458

    # Combines ARP_BROADCAST_PRIMARY_RANGE with MAC learning. Enables cache
    # mapping between IP addresses and custom MAC addresses of instances and
    # use of it to set the correct destination MAC address. If this option is
    # chosen, the subnetwork must have /24 or a smaller CIDR range.
    ARP_BROADCAST_PRIMARY_RANGE_WITH_LEARNING = 425_592_922

    # Only the primary range of the VM NIC will respond to ARP.
    ARP_PRIMARY_RANGE = 120_210_048
  end

  # The role of subnetwork. Currently, this field is only used when
  # purpose is set to GLOBAL_MANAGED_PROXY orREGIONAL_MANAGED_PROXY. The value can be set toACTIVE 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.
  module Role
    # A value indicating that the enum field is not set.
    UNDEFINED_ROLE = 0

    # The ACTIVE subnet that is currently used.
    ACTIVE = 314_733_318

    # The BACKUP subnet that could be promoted to ACTIVE.
    BACKUP = 341_010_882
  end

  # The stack type for the subnet. If set to IPV4_ONLY, new VMs
  # in the subnet are assigned IPv4 addresses only. If set toIPV4_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 usingpatch.
  module StackType
    # A value indicating that the enum field is not set.
    UNDEFINED_STACK_TYPE = 0

    # New VMs in this subnet can have both IPv4 and IPv6 addresses.
    IPV4_IPV6 = 22_197_249

    # New VMs in this subnet will only be assigned IPv4 addresses.
    IPV4_ONLY = 22_373_798

    # New VMs in this subnet will only  be assigned IPv6 addresses.
    IPV6_ONLY = 79_632_100

    UNSPECIFIED_STACK_TYPE = 298_084_569
  end

  # Output only. [Output Only] The state of the subnetwork, which can be one of the
  # following values:READY: Subnetwork is created and ready to useDRAINING: 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 ofREADY
  module State
    # A value indicating that the enum field is not set.
    UNDEFINED_STATE = 0

    # Subnetwork is being drained.
    DRAINING = 480_455_402

    # Subnetwork is ready for use.
    READY = 77_848_963
  end
end

#ipv6_access_type ⇒ ::String

Returns 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:

  • (::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.



79907
79908
79909
79910
79911
79912
79913
79914
79915
79916
79917
79918
79919
79920
79921
79922
79923
79924
79925
79926
79927
79928
79929
79930
79931
79932
79933
79934
79935
79936
79937
79938
79939
79940
79941
79942
79943
79944
79945
79946
79947
79948
79949
79950
79951
79952
79953
79954
79955
79956
79957
79958
79959
79960
79961
79962
79963
79964
79965
79966
79967
79968
79969
79970
79971
79972
79973
79974
79975
79976
79977
79978
79979
79980
79981
79982
79983
79984
79985
79986
79987
79988
79989
79990
79991
79992
79993
79994
79995
79996
79997
79998
79999
80000
80001
80002
80003
80004
80005
80006
80007
80008
80009
80010
80011
80012
80013
80014
80015
80016
80017
80018
80019
80020
80021
80022
80023
80024
80025
80026
80027
80028
80029
80030
80031
80032
80033
80034
80035
80036
80037
80038
80039
80040
80041
80042
80043
80044
80045
80046
80047
80048
80049
80050
80051
80052
80053
80054
80055
80056
80057
80058
80059
80060
80061
80062
80063
80064
80065
80066
80067
80068
80069
80070
80071
80072
80073
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 79907

class Subnetwork
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  module Ipv6AccessType
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_ACCESS_TYPE = 0

    # VMs on this subnet will be assigned IPv6 addresses that are accessible
    # via the Internet, as well as the VPC network.
    EXTERNAL = 35_607_499

    # VMs on this subnet will be assigned IPv6 addresses that are only
    # accessible over the VPC network.
    INTERNAL = 279_295_677

    UNSPECIFIED_IPV6_ACCESS_TYPE = 313_080_613
  end

  # Output only. [Output Only] Possible endpoints of this subnetwork. It can be one of the
  # following:
  #
  #    - VM_ONLY: The subnetwork can be used for creating instances and
  #    IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6
  #    ranges from a public delegated prefix and cannot be used to create NetLb.
  #    - VM_AND_FR: The subnetwork can be used for creating both VM
  #    instances and Forwarding Rules. It can also be used to reserve IPv6
  #    addresses with both VM and FR endpoint types. Such a subnetwork gets its
  #    IPv6 range from Google IP Pool directly.
  module Ipv6GceEndpoint
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_GCE_ENDPOINT = 0

    VM_AND_FR = 41_830_108

    VM_ONLY = 236_773_428
  end

  # This field is for internal use.
  #
  # This field can be both set at resource creation time and updated usingpatch.
  module PrivateIpv6GoogleAccess
    # A value indicating that the enum field is not set.
    UNDEFINED_PRIVATE_IPV6_GOOGLE_ACCESS = 0

    # Disable private IPv6 access to/from Google services.
    DISABLE_GOOGLE_ACCESS = 450_958_579

    # Bidirectional private IPv6 access to/from Google services.
    ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE = 427_975_994

    # Outbound private IPv6 access from VMs in this subnet to Google services.
    ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288_210_263
  end

  module Purpose
    # A value indicating that the enum field is not set.
    UNDEFINED_PURPOSE = 0

    # Subnet reserved for Global Envoy-based Load Balancing.
    GLOBAL_MANAGED_PROXY = 236_463_602

    # Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy
    # purpose, please use REGIONAL_MANAGED_PROXY instead.
    INTERNAL_HTTPS_LOAD_BALANCER = 248_748_889

    # Subnetwork will be used for Migration from one peered VPC to another.
    # (a transient state of subnetwork
    # while migrating resources from one project to another).
    PEER_MIGRATION = 491_902_225

    # Regular user created or automatically created subnet.
    PRIVATE = 403_485_027

    # Subnetwork used as source range for Private NAT Gateways.
    PRIVATE_NAT = 367_764_517

    # Regular user created or automatically created subnet.
    PRIVATE_RFC_1918 = 254_902_107

    # Subnetworks created for Private Service Connect in the producer network.
    PRIVATE_SERVICE_CONNECT = 48_134_724

    # Subnetwork used for Regional Envoy-based Load Balancing.
    REGIONAL_MANAGED_PROXY = 153_049_966
  end

  # Configures subnet mask resolution for this subnetwork.
  module ResolveSubnetMask
    # A value indicating that the enum field is not set.
    UNDEFINED_RESOLVE_SUBNET_MASK = 0

    # All ranges assigned to the VM NIC will respond to ARP.
    ARP_ALL_RANGES = 445_655_380

    # VMs will receive an ARP response from a VM instance owning the target IP
    # address within the subnetwork's primary CIDR range, if such a VM instance
    # exists and is running.
    ARP_BROADCAST_PRIMARY_RANGE = 123_887_458

    # Combines ARP_BROADCAST_PRIMARY_RANGE with MAC learning. Enables cache
    # mapping between IP addresses and custom MAC addresses of instances and
    # use of it to set the correct destination MAC address. If this option is
    # chosen, the subnetwork must have /24 or a smaller CIDR range.
    ARP_BROADCAST_PRIMARY_RANGE_WITH_LEARNING = 425_592_922

    # Only the primary range of the VM NIC will respond to ARP.
    ARP_PRIMARY_RANGE = 120_210_048
  end

  # The role of subnetwork. Currently, this field is only used when
  # purpose is set to GLOBAL_MANAGED_PROXY orREGIONAL_MANAGED_PROXY. The value can be set toACTIVE 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.
  module Role
    # A value indicating that the enum field is not set.
    UNDEFINED_ROLE = 0

    # The ACTIVE subnet that is currently used.
    ACTIVE = 314_733_318

    # The BACKUP subnet that could be promoted to ACTIVE.
    BACKUP = 341_010_882
  end

  # The stack type for the subnet. If set to IPV4_ONLY, new VMs
  # in the subnet are assigned IPv4 addresses only. If set toIPV4_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 usingpatch.
  module StackType
    # A value indicating that the enum field is not set.
    UNDEFINED_STACK_TYPE = 0

    # New VMs in this subnet can have both IPv4 and IPv6 addresses.
    IPV4_IPV6 = 22_197_249

    # New VMs in this subnet will only be assigned IPv4 addresses.
    IPV4_ONLY = 22_373_798

    # New VMs in this subnet will only  be assigned IPv6 addresses.
    IPV6_ONLY = 79_632_100

    UNSPECIFIED_STACK_TYPE = 298_084_569
  end

  # Output only. [Output Only] The state of the subnetwork, which can be one of the
  # following values:READY: Subnetwork is created and ready to useDRAINING: 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 ofREADY
  module State
    # A value indicating that the enum field is not set.
    UNDEFINED_STATE = 0

    # Subnetwork is being drained.
    DRAINING = 480_455_402

    # Subnetwork is ready for use.
    READY = 77_848_963
  end
end

#ipv6_cidr_range ⇒ ::String

Returns Output only. [Output Only] This field is for internal use.

Returns:

  • (::String) —

    Output only. [Output Only] This field is for internal use.



79907
79908
79909
79910
79911
79912
79913
79914
79915
79916
79917
79918
79919
79920
79921
79922
79923
79924
79925
79926
79927
79928
79929
79930
79931
79932
79933
79934
79935
79936
79937
79938
79939
79940
79941
79942
79943
79944
79945
79946
79947
79948
79949
79950
79951
79952
79953
79954
79955
79956
79957
79958
79959
79960
79961
79962
79963
79964
79965
79966
79967
79968
79969
79970
79971
79972
79973
79974
79975
79976
79977
79978
79979
79980
79981
79982
79983
79984
79985
79986
79987
79988
79989
79990
79991
79992
79993
79994
79995
79996
79997
79998
79999
80000
80001
80002
80003
80004
80005
80006
80007
80008
80009
80010
80011
80012
80013
80014
80015
80016
80017
80018
80019
80020
80021
80022
80023
80024
80025
80026
80027
80028
80029
80030
80031
80032
80033
80034
80035
80036
80037
80038
80039
80040
80041
80042
80043
80044
80045
80046
80047
80048
80049
80050
80051
80052
80053
80054
80055
80056
80057
80058
80059
80060
80061
80062
80063
80064
80065
80066
80067
80068
80069
80070
80071
80072
80073
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 79907

class Subnetwork
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  module Ipv6AccessType
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_ACCESS_TYPE = 0

    # VMs on this subnet will be assigned IPv6 addresses that are accessible
    # via the Internet, as well as the VPC network.
    EXTERNAL = 35_607_499

    # VMs on this subnet will be assigned IPv6 addresses that are only
    # accessible over the VPC network.
    INTERNAL = 279_295_677

    UNSPECIFIED_IPV6_ACCESS_TYPE = 313_080_613
  end

  # Output only. [Output Only] Possible endpoints of this subnetwork. It can be one of the
  # following:
  #
  #    - VM_ONLY: The subnetwork can be used for creating instances and
  #    IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6
  #    ranges from a public delegated prefix and cannot be used to create NetLb.
  #    - VM_AND_FR: The subnetwork can be used for creating both VM
  #    instances and Forwarding Rules. It can also be used to reserve IPv6
  #    addresses with both VM and FR endpoint types. Such a subnetwork gets its
  #    IPv6 range from Google IP Pool directly.
  module Ipv6GceEndpoint
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_GCE_ENDPOINT = 0

    VM_AND_FR = 41_830_108

    VM_ONLY = 236_773_428
  end

  # This field is for internal use.
  #
  # This field can be both set at resource creation time and updated usingpatch.
  module PrivateIpv6GoogleAccess
    # A value indicating that the enum field is not set.
    UNDEFINED_PRIVATE_IPV6_GOOGLE_ACCESS = 0

    # Disable private IPv6 access to/from Google services.
    DISABLE_GOOGLE_ACCESS = 450_958_579

    # Bidirectional private IPv6 access to/from Google services.
    ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE = 427_975_994

    # Outbound private IPv6 access from VMs in this subnet to Google services.
    ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288_210_263
  end

  module Purpose
    # A value indicating that the enum field is not set.
    UNDEFINED_PURPOSE = 0

    # Subnet reserved for Global Envoy-based Load Balancing.
    GLOBAL_MANAGED_PROXY = 236_463_602

    # Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy
    # purpose, please use REGIONAL_MANAGED_PROXY instead.
    INTERNAL_HTTPS_LOAD_BALANCER = 248_748_889

    # Subnetwork will be used for Migration from one peered VPC to another.
    # (a transient state of subnetwork
    # while migrating resources from one project to another).
    PEER_MIGRATION = 491_902_225

    # Regular user created or automatically created subnet.
    PRIVATE = 403_485_027

    # Subnetwork used as source range for Private NAT Gateways.
    PRIVATE_NAT = 367_764_517

    # Regular user created or automatically created subnet.
    PRIVATE_RFC_1918 = 254_902_107

    # Subnetworks created for Private Service Connect in the producer network.
    PRIVATE_SERVICE_CONNECT = 48_134_724

    # Subnetwork used for Regional Envoy-based Load Balancing.
    REGIONAL_MANAGED_PROXY = 153_049_966
  end

  # Configures subnet mask resolution for this subnetwork.
  module ResolveSubnetMask
    # A value indicating that the enum field is not set.
    UNDEFINED_RESOLVE_SUBNET_MASK = 0

    # All ranges assigned to the VM NIC will respond to ARP.
    ARP_ALL_RANGES = 445_655_380

    # VMs will receive an ARP response from a VM instance owning the target IP
    # address within the subnetwork's primary CIDR range, if such a VM instance
    # exists and is running.
    ARP_BROADCAST_PRIMARY_RANGE = 123_887_458

    # Combines ARP_BROADCAST_PRIMARY_RANGE with MAC learning. Enables cache
    # mapping between IP addresses and custom MAC addresses of instances and
    # use of it to set the correct destination MAC address. If this option is
    # chosen, the subnetwork must have /24 or a smaller CIDR range.
    ARP_BROADCAST_PRIMARY_RANGE_WITH_LEARNING = 425_592_922

    # Only the primary range of the VM NIC will respond to ARP.
    ARP_PRIMARY_RANGE = 120_210_048
  end

  # The role of subnetwork. Currently, this field is only used when
  # purpose is set to GLOBAL_MANAGED_PROXY orREGIONAL_MANAGED_PROXY. The value can be set toACTIVE 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.
  module Role
    # A value indicating that the enum field is not set.
    UNDEFINED_ROLE = 0

    # The ACTIVE subnet that is currently used.
    ACTIVE = 314_733_318

    # The BACKUP subnet that could be promoted to ACTIVE.
    BACKUP = 341_010_882
  end

  # The stack type for the subnet. If set to IPV4_ONLY, new VMs
  # in the subnet are assigned IPv4 addresses only. If set toIPV4_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 usingpatch.
  module StackType
    # A value indicating that the enum field is not set.
    UNDEFINED_STACK_TYPE = 0

    # New VMs in this subnet can have both IPv4 and IPv6 addresses.
    IPV4_IPV6 = 22_197_249

    # New VMs in this subnet will only be assigned IPv4 addresses.
    IPV4_ONLY = 22_373_798

    # New VMs in this subnet will only  be assigned IPv6 addresses.
    IPV6_ONLY = 79_632_100

    UNSPECIFIED_STACK_TYPE = 298_084_569
  end

  # Output only. [Output Only] The state of the subnetwork, which can be one of the
  # following values:READY: Subnetwork is created and ready to useDRAINING: 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 ofREADY
  module State
    # A value indicating that the enum field is not set.
    UNDEFINED_STATE = 0

    # Subnetwork is being drained.
    DRAINING = 480_455_402

    # Subnetwork is ready for use.
    READY = 77_848_963
  end
end

#ipv6_gce_endpoint ⇒ ::String

Returns Output only. [Output Only] Possible endpoints of this subnetwork. It can be one of the following:

- VM_ONLY: The subnetwork can be used for creating instances and
IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6
ranges from a public delegated prefix and cannot be used to create NetLb.
- VM_AND_FR: The subnetwork can be used for creating both VM
instances and Forwarding Rules. It can also be used to reserve IPv6
addresses with both VM and FR endpoint types. Such a subnetwork gets its
IPv6 range from Google IP Pool directly.

Check the Ipv6GceEndpoint enum for the list of possible values.

Returns:

  • (::String) —

    Output only. [Output Only] Possible endpoints of this subnetwork. It can be one of the following:

    - VM_ONLY: The subnetwork can be used for creating instances and
    IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6
    ranges from a public delegated prefix and cannot be used to create NetLb.
    - VM_AND_FR: The subnetwork can be used for creating both VM
    instances and Forwarding Rules. It can also be used to reserve IPv6
    addresses with both VM and FR endpoint types. Such a subnetwork gets its
    IPv6 range from Google IP Pool directly.
    

    Check the Ipv6GceEndpoint enum for the list of possible values.



79907
79908
79909
79910
79911
79912
79913
79914
79915
79916
79917
79918
79919
79920
79921
79922
79923
79924
79925
79926
79927
79928
79929
79930
79931
79932
79933
79934
79935
79936
79937
79938
79939
79940
79941
79942
79943
79944
79945
79946
79947
79948
79949
79950
79951
79952
79953
79954
79955
79956
79957
79958
79959
79960
79961
79962
79963
79964
79965
79966
79967
79968
79969
79970
79971
79972
79973
79974
79975
79976
79977
79978
79979
79980
79981
79982
79983
79984
79985
79986
79987
79988
79989
79990
79991
79992
79993
79994
79995
79996
79997
79998
79999
80000
80001
80002
80003
80004
80005
80006
80007
80008
80009
80010
80011
80012
80013
80014
80015
80016
80017
80018
80019
80020
80021
80022
80023
80024
80025
80026
80027
80028
80029
80030
80031
80032
80033
80034
80035
80036
80037
80038
80039
80040
80041
80042
80043
80044
80045
80046
80047
80048
80049
80050
80051
80052
80053
80054
80055
80056
80057
80058
80059
80060
80061
80062
80063
80064
80065
80066
80067
80068
80069
80070
80071
80072
80073
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 79907

class Subnetwork
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  module Ipv6AccessType
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_ACCESS_TYPE = 0

    # VMs on this subnet will be assigned IPv6 addresses that are accessible
    # via the Internet, as well as the VPC network.
    EXTERNAL = 35_607_499

    # VMs on this subnet will be assigned IPv6 addresses that are only
    # accessible over the VPC network.
    INTERNAL = 279_295_677

    UNSPECIFIED_IPV6_ACCESS_TYPE = 313_080_613
  end

  # Output only. [Output Only] Possible endpoints of this subnetwork. It can be one of the
  # following:
  #
  #    - VM_ONLY: The subnetwork can be used for creating instances and
  #    IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6
  #    ranges from a public delegated prefix and cannot be used to create NetLb.
  #    - VM_AND_FR: The subnetwork can be used for creating both VM
  #    instances and Forwarding Rules. It can also be used to reserve IPv6
  #    addresses with both VM and FR endpoint types. Such a subnetwork gets its
  #    IPv6 range from Google IP Pool directly.
  module Ipv6GceEndpoint
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_GCE_ENDPOINT = 0

    VM_AND_FR = 41_830_108

    VM_ONLY = 236_773_428
  end

  # This field is for internal use.
  #
  # This field can be both set at resource creation time and updated usingpatch.
  module PrivateIpv6GoogleAccess
    # A value indicating that the enum field is not set.
    UNDEFINED_PRIVATE_IPV6_GOOGLE_ACCESS = 0

    # Disable private IPv6 access to/from Google services.
    DISABLE_GOOGLE_ACCESS = 450_958_579

    # Bidirectional private IPv6 access to/from Google services.
    ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE = 427_975_994

    # Outbound private IPv6 access from VMs in this subnet to Google services.
    ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288_210_263
  end

  module Purpose
    # A value indicating that the enum field is not set.
    UNDEFINED_PURPOSE = 0

    # Subnet reserved for Global Envoy-based Load Balancing.
    GLOBAL_MANAGED_PROXY = 236_463_602

    # Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy
    # purpose, please use REGIONAL_MANAGED_PROXY instead.
    INTERNAL_HTTPS_LOAD_BALANCER = 248_748_889

    # Subnetwork will be used for Migration from one peered VPC to another.
    # (a transient state of subnetwork
    # while migrating resources from one project to another).
    PEER_MIGRATION = 491_902_225

    # Regular user created or automatically created subnet.
    PRIVATE = 403_485_027

    # Subnetwork used as source range for Private NAT Gateways.
    PRIVATE_NAT = 367_764_517

    # Regular user created or automatically created subnet.
    PRIVATE_RFC_1918 = 254_902_107

    # Subnetworks created for Private Service Connect in the producer network.
    PRIVATE_SERVICE_CONNECT = 48_134_724

    # Subnetwork used for Regional Envoy-based Load Balancing.
    REGIONAL_MANAGED_PROXY = 153_049_966
  end

  # Configures subnet mask resolution for this subnetwork.
  module ResolveSubnetMask
    # A value indicating that the enum field is not set.
    UNDEFINED_RESOLVE_SUBNET_MASK = 0

    # All ranges assigned to the VM NIC will respond to ARP.
    ARP_ALL_RANGES = 445_655_380

    # VMs will receive an ARP response from a VM instance owning the target IP
    # address within the subnetwork's primary CIDR range, if such a VM instance
    # exists and is running.
    ARP_BROADCAST_PRIMARY_RANGE = 123_887_458

    # Combines ARP_BROADCAST_PRIMARY_RANGE with MAC learning. Enables cache
    # mapping between IP addresses and custom MAC addresses of instances and
    # use of it to set the correct destination MAC address. If this option is
    # chosen, the subnetwork must have /24 or a smaller CIDR range.
    ARP_BROADCAST_PRIMARY_RANGE_WITH_LEARNING = 425_592_922

    # Only the primary range of the VM NIC will respond to ARP.
    ARP_PRIMARY_RANGE = 120_210_048
  end

  # The role of subnetwork. Currently, this field is only used when
  # purpose is set to GLOBAL_MANAGED_PROXY orREGIONAL_MANAGED_PROXY. The value can be set toACTIVE 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.
  module Role
    # A value indicating that the enum field is not set.
    UNDEFINED_ROLE = 0

    # The ACTIVE subnet that is currently used.
    ACTIVE = 314_733_318

    # The BACKUP subnet that could be promoted to ACTIVE.
    BACKUP = 341_010_882
  end

  # The stack type for the subnet. If set to IPV4_ONLY, new VMs
  # in the subnet are assigned IPv4 addresses only. If set toIPV4_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 usingpatch.
  module StackType
    # A value indicating that the enum field is not set.
    UNDEFINED_STACK_TYPE = 0

    # New VMs in this subnet can have both IPv4 and IPv6 addresses.
    IPV4_IPV6 = 22_197_249

    # New VMs in this subnet will only be assigned IPv4 addresses.
    IPV4_ONLY = 22_373_798

    # New VMs in this subnet will only  be assigned IPv6 addresses.
    IPV6_ONLY = 79_632_100

    UNSPECIFIED_STACK_TYPE = 298_084_569
  end

  # Output only. [Output Only] The state of the subnetwork, which can be one of the
  # following values:READY: Subnetwork is created and ready to useDRAINING: 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 ofREADY
  module State
    # A value indicating that the enum field is not set.
    UNDEFINED_STATE = 0

    # Subnetwork is being drained.
    DRAINING = 480_455_402

    # Subnetwork is ready for use.
    READY = 77_848_963
  end
end

#kind ⇒ ::String

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

Returns:

  • (::String) —

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



79907
79908
79909
79910
79911
79912
79913
79914
79915
79916
79917
79918
79919
79920
79921
79922
79923
79924
79925
79926
79927
79928
79929
79930
79931
79932
79933
79934
79935
79936
79937
79938
79939
79940
79941
79942
79943
79944
79945
79946
79947
79948
79949
79950
79951
79952
79953
79954
79955
79956
79957
79958
79959
79960
79961
79962
79963
79964
79965
79966
79967
79968
79969
79970
79971
79972
79973
79974
79975
79976
79977
79978
79979
79980
79981
79982
79983
79984
79985
79986
79987
79988
79989
79990
79991
79992
79993
79994
79995
79996
79997
79998
79999
80000
80001
80002
80003
80004
80005
80006
80007
80008
80009
80010
80011
80012
80013
80014
80015
80016
80017
80018
80019
80020
80021
80022
80023
80024
80025
80026
80027
80028
80029
80030
80031
80032
80033
80034
80035
80036
80037
80038
80039
80040
80041
80042
80043
80044
80045
80046
80047
80048
80049
80050
80051
80052
80053
80054
80055
80056
80057
80058
80059
80060
80061
80062
80063
80064
80065
80066
80067
80068
80069
80070
80071
80072
80073
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 79907

class Subnetwork
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  module Ipv6AccessType
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_ACCESS_TYPE = 0

    # VMs on this subnet will be assigned IPv6 addresses that are accessible
    # via the Internet, as well as the VPC network.
    EXTERNAL = 35_607_499

    # VMs on this subnet will be assigned IPv6 addresses that are only
    # accessible over the VPC network.
    INTERNAL = 279_295_677

    UNSPECIFIED_IPV6_ACCESS_TYPE = 313_080_613
  end

  # Output only. [Output Only] Possible endpoints of this subnetwork. It can be one of the
  # following:
  #
  #    - VM_ONLY: The subnetwork can be used for creating instances and
  #    IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6
  #    ranges from a public delegated prefix and cannot be used to create NetLb.
  #    - VM_AND_FR: The subnetwork can be used for creating both VM
  #    instances and Forwarding Rules. It can also be used to reserve IPv6
  #    addresses with both VM and FR endpoint types. Such a subnetwork gets its
  #    IPv6 range from Google IP Pool directly.
  module Ipv6GceEndpoint
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_GCE_ENDPOINT = 0

    VM_AND_FR = 41_830_108

    VM_ONLY = 236_773_428
  end

  # This field is for internal use.
  #
  # This field can be both set at resource creation time and updated usingpatch.
  module PrivateIpv6GoogleAccess
    # A value indicating that the enum field is not set.
    UNDEFINED_PRIVATE_IPV6_GOOGLE_ACCESS = 0

    # Disable private IPv6 access to/from Google services.
    DISABLE_GOOGLE_ACCESS = 450_958_579

    # Bidirectional private IPv6 access to/from Google services.
    ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE = 427_975_994

    # Outbound private IPv6 access from VMs in this subnet to Google services.
    ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288_210_263
  end

  module Purpose
    # A value indicating that the enum field is not set.
    UNDEFINED_PURPOSE = 0

    # Subnet reserved for Global Envoy-based Load Balancing.
    GLOBAL_MANAGED_PROXY = 236_463_602

    # Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy
    # purpose, please use REGIONAL_MANAGED_PROXY instead.
    INTERNAL_HTTPS_LOAD_BALANCER = 248_748_889

    # Subnetwork will be used for Migration from one peered VPC to another.
    # (a transient state of subnetwork
    # while migrating resources from one project to another).
    PEER_MIGRATION = 491_902_225

    # Regular user created or automatically created subnet.
    PRIVATE = 403_485_027

    # Subnetwork used as source range for Private NAT Gateways.
    PRIVATE_NAT = 367_764_517

    # Regular user created or automatically created subnet.
    PRIVATE_RFC_1918 = 254_902_107

    # Subnetworks created for Private Service Connect in the producer network.
    PRIVATE_SERVICE_CONNECT = 48_134_724

    # Subnetwork used for Regional Envoy-based Load Balancing.
    REGIONAL_MANAGED_PROXY = 153_049_966
  end

  # Configures subnet mask resolution for this subnetwork.
  module ResolveSubnetMask
    # A value indicating that the enum field is not set.
    UNDEFINED_RESOLVE_SUBNET_MASK = 0

    # All ranges assigned to the VM NIC will respond to ARP.
    ARP_ALL_RANGES = 445_655_380

    # VMs will receive an ARP response from a VM instance owning the target IP
    # address within the subnetwork's primary CIDR range, if such a VM instance
    # exists and is running.
    ARP_BROADCAST_PRIMARY_RANGE = 123_887_458

    # Combines ARP_BROADCAST_PRIMARY_RANGE with MAC learning. Enables cache
    # mapping between IP addresses and custom MAC addresses of instances and
    # use of it to set the correct destination MAC address. If this option is
    # chosen, the subnetwork must have /24 or a smaller CIDR range.
    ARP_BROADCAST_PRIMARY_RANGE_WITH_LEARNING = 425_592_922

    # Only the primary range of the VM NIC will respond to ARP.
    ARP_PRIMARY_RANGE = 120_210_048
  end

  # The role of subnetwork. Currently, this field is only used when
  # purpose is set to GLOBAL_MANAGED_PROXY orREGIONAL_MANAGED_PROXY. The value can be set toACTIVE 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.
  module Role
    # A value indicating that the enum field is not set.
    UNDEFINED_ROLE = 0

    # The ACTIVE subnet that is currently used.
    ACTIVE = 314_733_318

    # The BACKUP subnet that could be promoted to ACTIVE.
    BACKUP = 341_010_882
  end

  # The stack type for the subnet. If set to IPV4_ONLY, new VMs
  # in the subnet are assigned IPv4 addresses only. If set toIPV4_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 usingpatch.
  module StackType
    # A value indicating that the enum field is not set.
    UNDEFINED_STACK_TYPE = 0

    # New VMs in this subnet can have both IPv4 and IPv6 addresses.
    IPV4_IPV6 = 22_197_249

    # New VMs in this subnet will only be assigned IPv4 addresses.
    IPV4_ONLY = 22_373_798

    # New VMs in this subnet will only  be assigned IPv6 addresses.
    IPV6_ONLY = 79_632_100

    UNSPECIFIED_STACK_TYPE = 298_084_569
  end

  # Output only. [Output Only] The state of the subnetwork, which can be one of the
  # following values:READY: Subnetwork is created and ready to useDRAINING: 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 ofREADY
  module State
    # A value indicating that the enum field is not set.
    UNDEFINED_STATE = 0

    # Subnetwork is being drained.
    DRAINING = 480_455_402

    # Subnetwork is ready for use.
    READY = 77_848_963
  end
end

#log_config ⇒ ::Google::Cloud::Compute::V1::SubnetworkLogConfig

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

Returns:



79907
79908
79909
79910
79911
79912
79913
79914
79915
79916
79917
79918
79919
79920
79921
79922
79923
79924
79925
79926
79927
79928
79929
79930
79931
79932
79933
79934
79935
79936
79937
79938
79939
79940
79941
79942
79943
79944
79945
79946
79947
79948
79949
79950
79951
79952
79953
79954
79955
79956
79957
79958
79959
79960
79961
79962
79963
79964
79965
79966
79967
79968
79969
79970
79971
79972
79973
79974
79975
79976
79977
79978
79979
79980
79981
79982
79983
79984
79985
79986
79987
79988
79989
79990
79991
79992
79993
79994
79995
79996
79997
79998
79999
80000
80001
80002
80003
80004
80005
80006
80007
80008
80009
80010
80011
80012
80013
80014
80015
80016
80017
80018
80019
80020
80021
80022
80023
80024
80025
80026
80027
80028
80029
80030
80031
80032
80033
80034
80035
80036
80037
80038
80039
80040
80041
80042
80043
80044
80045
80046
80047
80048
80049
80050
80051
80052
80053
80054
80055
80056
80057
80058
80059
80060
80061
80062
80063
80064
80065
80066
80067
80068
80069
80070
80071
80072
80073
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 79907

class Subnetwork
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  module Ipv6AccessType
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_ACCESS_TYPE = 0

    # VMs on this subnet will be assigned IPv6 addresses that are accessible
    # via the Internet, as well as the VPC network.
    EXTERNAL = 35_607_499

    # VMs on this subnet will be assigned IPv6 addresses that are only
    # accessible over the VPC network.
    INTERNAL = 279_295_677

    UNSPECIFIED_IPV6_ACCESS_TYPE = 313_080_613
  end

  # Output only. [Output Only] Possible endpoints of this subnetwork. It can be one of the
  # following:
  #
  #    - VM_ONLY: The subnetwork can be used for creating instances and
  #    IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6
  #    ranges from a public delegated prefix and cannot be used to create NetLb.
  #    - VM_AND_FR: The subnetwork can be used for creating both VM
  #    instances and Forwarding Rules. It can also be used to reserve IPv6
  #    addresses with both VM and FR endpoint types. Such a subnetwork gets its
  #    IPv6 range from Google IP Pool directly.
  module Ipv6GceEndpoint
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_GCE_ENDPOINT = 0

    VM_AND_FR = 41_830_108

    VM_ONLY = 236_773_428
  end

  # This field is for internal use.
  #
  # This field can be both set at resource creation time and updated usingpatch.
  module PrivateIpv6GoogleAccess
    # A value indicating that the enum field is not set.
    UNDEFINED_PRIVATE_IPV6_GOOGLE_ACCESS = 0

    # Disable private IPv6 access to/from Google services.
    DISABLE_GOOGLE_ACCESS = 450_958_579

    # Bidirectional private IPv6 access to/from Google services.
    ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE = 427_975_994

    # Outbound private IPv6 access from VMs in this subnet to Google services.
    ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288_210_263
  end

  module Purpose
    # A value indicating that the enum field is not set.
    UNDEFINED_PURPOSE = 0

    # Subnet reserved for Global Envoy-based Load Balancing.
    GLOBAL_MANAGED_PROXY = 236_463_602

    # Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy
    # purpose, please use REGIONAL_MANAGED_PROXY instead.
    INTERNAL_HTTPS_LOAD_BALANCER = 248_748_889

    # Subnetwork will be used for Migration from one peered VPC to another.
    # (a transient state of subnetwork
    # while migrating resources from one project to another).
    PEER_MIGRATION = 491_902_225

    # Regular user created or automatically created subnet.
    PRIVATE = 403_485_027

    # Subnetwork used as source range for Private NAT Gateways.
    PRIVATE_NAT = 367_764_517

    # Regular user created or automatically created subnet.
    PRIVATE_RFC_1918 = 254_902_107

    # Subnetworks created for Private Service Connect in the producer network.
    PRIVATE_SERVICE_CONNECT = 48_134_724

    # Subnetwork used for Regional Envoy-based Load Balancing.
    REGIONAL_MANAGED_PROXY = 153_049_966
  end

  # Configures subnet mask resolution for this subnetwork.
  module ResolveSubnetMask
    # A value indicating that the enum field is not set.
    UNDEFINED_RESOLVE_SUBNET_MASK = 0

    # All ranges assigned to the VM NIC will respond to ARP.
    ARP_ALL_RANGES = 445_655_380

    # VMs will receive an ARP response from a VM instance owning the target IP
    # address within the subnetwork's primary CIDR range, if such a VM instance
    # exists and is running.
    ARP_BROADCAST_PRIMARY_RANGE = 123_887_458

    # Combines ARP_BROADCAST_PRIMARY_RANGE with MAC learning. Enables cache
    # mapping between IP addresses and custom MAC addresses of instances and
    # use of it to set the correct destination MAC address. If this option is
    # chosen, the subnetwork must have /24 or a smaller CIDR range.
    ARP_BROADCAST_PRIMARY_RANGE_WITH_LEARNING = 425_592_922

    # Only the primary range of the VM NIC will respond to ARP.
    ARP_PRIMARY_RANGE = 120_210_048
  end

  # The role of subnetwork. Currently, this field is only used when
  # purpose is set to GLOBAL_MANAGED_PROXY orREGIONAL_MANAGED_PROXY. The value can be set toACTIVE 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.
  module Role
    # A value indicating that the enum field is not set.
    UNDEFINED_ROLE = 0

    # The ACTIVE subnet that is currently used.
    ACTIVE = 314_733_318

    # The BACKUP subnet that could be promoted to ACTIVE.
    BACKUP = 341_010_882
  end

  # The stack type for the subnet. If set to IPV4_ONLY, new VMs
  # in the subnet are assigned IPv4 addresses only. If set toIPV4_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 usingpatch.
  module StackType
    # A value indicating that the enum field is not set.
    UNDEFINED_STACK_TYPE = 0

    # New VMs in this subnet can have both IPv4 and IPv6 addresses.
    IPV4_IPV6 = 22_197_249

    # New VMs in this subnet will only be assigned IPv4 addresses.
    IPV4_ONLY = 22_373_798

    # New VMs in this subnet will only  be assigned IPv6 addresses.
    IPV6_ONLY = 79_632_100

    UNSPECIFIED_STACK_TYPE = 298_084_569
  end

  # Output only. [Output Only] The state of the subnetwork, which can be one of the
  # following values:READY: Subnetwork is created and ready to useDRAINING: 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 ofREADY
  module State
    # A value indicating that the enum field is not set.
    UNDEFINED_STATE = 0

    # Subnetwork is being drained.
    DRAINING = 480_455_402

    # Subnetwork is ready for use.
    READY = 77_848_963
  end
end

#name ⇒ ::String

Returns The name of the resource, provided by the client when initially creating the resource. The name must be 1-63 characters long, and comply withRFC1035. 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:

  • (::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 withRFC1035. 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.



79907
79908
79909
79910
79911
79912
79913
79914
79915
79916
79917
79918
79919
79920
79921
79922
79923
79924
79925
79926
79927
79928
79929
79930
79931
79932
79933
79934
79935
79936
79937
79938
79939
79940
79941
79942
79943
79944
79945
79946
79947
79948
79949
79950
79951
79952
79953
79954
79955
79956
79957
79958
79959
79960
79961
79962
79963
79964
79965
79966
79967
79968
79969
79970
79971
79972
79973
79974
79975
79976
79977
79978
79979
79980
79981
79982
79983
79984
79985
79986
79987
79988
79989
79990
79991
79992
79993
79994
79995
79996
79997
79998
79999
80000
80001
80002
80003
80004
80005
80006
80007
80008
80009
80010
80011
80012
80013
80014
80015
80016
80017
80018
80019
80020
80021
80022
80023
80024
80025
80026
80027
80028
80029
80030
80031
80032
80033
80034
80035
80036
80037
80038
80039
80040
80041
80042
80043
80044
80045
80046
80047
80048
80049
80050
80051
80052
80053
80054
80055
80056
80057
80058
80059
80060
80061
80062
80063
80064
80065
80066
80067
80068
80069
80070
80071
80072
80073
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 79907

class Subnetwork
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  module Ipv6AccessType
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_ACCESS_TYPE = 0

    # VMs on this subnet will be assigned IPv6 addresses that are accessible
    # via the Internet, as well as the VPC network.
    EXTERNAL = 35_607_499

    # VMs on this subnet will be assigned IPv6 addresses that are only
    # accessible over the VPC network.
    INTERNAL = 279_295_677

    UNSPECIFIED_IPV6_ACCESS_TYPE = 313_080_613
  end

  # Output only. [Output Only] Possible endpoints of this subnetwork. It can be one of the
  # following:
  #
  #    - VM_ONLY: The subnetwork can be used for creating instances and
  #    IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6
  #    ranges from a public delegated prefix and cannot be used to create NetLb.
  #    - VM_AND_FR: The subnetwork can be used for creating both VM
  #    instances and Forwarding Rules. It can also be used to reserve IPv6
  #    addresses with both VM and FR endpoint types. Such a subnetwork gets its
  #    IPv6 range from Google IP Pool directly.
  module Ipv6GceEndpoint
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_GCE_ENDPOINT = 0

    VM_AND_FR = 41_830_108

    VM_ONLY = 236_773_428
  end

  # This field is for internal use.
  #
  # This field can be both set at resource creation time and updated usingpatch.
  module PrivateIpv6GoogleAccess
    # A value indicating that the enum field is not set.
    UNDEFINED_PRIVATE_IPV6_GOOGLE_ACCESS = 0

    # Disable private IPv6 access to/from Google services.
    DISABLE_GOOGLE_ACCESS = 450_958_579

    # Bidirectional private IPv6 access to/from Google services.
    ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE = 427_975_994

    # Outbound private IPv6 access from VMs in this subnet to Google services.
    ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288_210_263
  end

  module Purpose
    # A value indicating that the enum field is not set.
    UNDEFINED_PURPOSE = 0

    # Subnet reserved for Global Envoy-based Load Balancing.
    GLOBAL_MANAGED_PROXY = 236_463_602

    # Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy
    # purpose, please use REGIONAL_MANAGED_PROXY instead.
    INTERNAL_HTTPS_LOAD_BALANCER = 248_748_889

    # Subnetwork will be used for Migration from one peered VPC to another.
    # (a transient state of subnetwork
    # while migrating resources from one project to another).
    PEER_MIGRATION = 491_902_225

    # Regular user created or automatically created subnet.
    PRIVATE = 403_485_027

    # Subnetwork used as source range for Private NAT Gateways.
    PRIVATE_NAT = 367_764_517

    # Regular user created or automatically created subnet.
    PRIVATE_RFC_1918 = 254_902_107

    # Subnetworks created for Private Service Connect in the producer network.
    PRIVATE_SERVICE_CONNECT = 48_134_724

    # Subnetwork used for Regional Envoy-based Load Balancing.
    REGIONAL_MANAGED_PROXY = 153_049_966
  end

  # Configures subnet mask resolution for this subnetwork.
  module ResolveSubnetMask
    # A value indicating that the enum field is not set.
    UNDEFINED_RESOLVE_SUBNET_MASK = 0

    # All ranges assigned to the VM NIC will respond to ARP.
    ARP_ALL_RANGES = 445_655_380

    # VMs will receive an ARP response from a VM instance owning the target IP
    # address within the subnetwork's primary CIDR range, if such a VM instance
    # exists and is running.
    ARP_BROADCAST_PRIMARY_RANGE = 123_887_458

    # Combines ARP_BROADCAST_PRIMARY_RANGE with MAC learning. Enables cache
    # mapping between IP addresses and custom MAC addresses of instances and
    # use of it to set the correct destination MAC address. If this option is
    # chosen, the subnetwork must have /24 or a smaller CIDR range.
    ARP_BROADCAST_PRIMARY_RANGE_WITH_LEARNING = 425_592_922

    # Only the primary range of the VM NIC will respond to ARP.
    ARP_PRIMARY_RANGE = 120_210_048
  end

  # The role of subnetwork. Currently, this field is only used when
  # purpose is set to GLOBAL_MANAGED_PROXY orREGIONAL_MANAGED_PROXY. The value can be set toACTIVE 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.
  module Role
    # A value indicating that the enum field is not set.
    UNDEFINED_ROLE = 0

    # The ACTIVE subnet that is currently used.
    ACTIVE = 314_733_318

    # The BACKUP subnet that could be promoted to ACTIVE.
    BACKUP = 341_010_882
  end

  # The stack type for the subnet. If set to IPV4_ONLY, new VMs
  # in the subnet are assigned IPv4 addresses only. If set toIPV4_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 usingpatch.
  module StackType
    # A value indicating that the enum field is not set.
    UNDEFINED_STACK_TYPE = 0

    # New VMs in this subnet can have both IPv4 and IPv6 addresses.
    IPV4_IPV6 = 22_197_249

    # New VMs in this subnet will only be assigned IPv4 addresses.
    IPV4_ONLY = 22_373_798

    # New VMs in this subnet will only  be assigned IPv6 addresses.
    IPV6_ONLY = 79_632_100

    UNSPECIFIED_STACK_TYPE = 298_084_569
  end

  # Output only. [Output Only] The state of the subnetwork, which can be one of the
  # following values:READY: Subnetwork is created and ready to useDRAINING: 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 ofREADY
  module State
    # A value indicating that the enum field is not set.
    UNDEFINED_STATE = 0

    # Subnetwork is being drained.
    DRAINING = 480_455_402

    # Subnetwork is ready for use.
    READY = 77_848_963
  end
end

#network ⇒ ::String

Returns 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:

  • (::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.



79907
79908
79909
79910
79911
79912
79913
79914
79915
79916
79917
79918
79919
79920
79921
79922
79923
79924
79925
79926
79927
79928
79929
79930
79931
79932
79933
79934
79935
79936
79937
79938
79939
79940
79941
79942
79943
79944
79945
79946
79947
79948
79949
79950
79951
79952
79953
79954
79955
79956
79957
79958
79959
79960
79961
79962
79963
79964
79965
79966
79967
79968
79969
79970
79971
79972
79973
79974
79975
79976
79977
79978
79979
79980
79981
79982
79983
79984
79985
79986
79987
79988
79989
79990
79991
79992
79993
79994
79995
79996
79997
79998
79999
80000
80001
80002
80003
80004
80005
80006
80007
80008
80009
80010
80011
80012
80013
80014
80015
80016
80017
80018
80019
80020
80021
80022
80023
80024
80025
80026
80027
80028
80029
80030
80031
80032
80033
80034
80035
80036
80037
80038
80039
80040
80041
80042
80043
80044
80045
80046
80047
80048
80049
80050
80051
80052
80053
80054
80055
80056
80057
80058
80059
80060
80061
80062
80063
80064
80065
80066
80067
80068
80069
80070
80071
80072
80073
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 79907

class Subnetwork
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  module Ipv6AccessType
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_ACCESS_TYPE = 0

    # VMs on this subnet will be assigned IPv6 addresses that are accessible
    # via the Internet, as well as the VPC network.
    EXTERNAL = 35_607_499

    # VMs on this subnet will be assigned IPv6 addresses that are only
    # accessible over the VPC network.
    INTERNAL = 279_295_677

    UNSPECIFIED_IPV6_ACCESS_TYPE = 313_080_613
  end

  # Output only. [Output Only] Possible endpoints of this subnetwork. It can be one of the
  # following:
  #
  #    - VM_ONLY: The subnetwork can be used for creating instances and
  #    IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6
  #    ranges from a public delegated prefix and cannot be used to create NetLb.
  #    - VM_AND_FR: The subnetwork can be used for creating both VM
  #    instances and Forwarding Rules. It can also be used to reserve IPv6
  #    addresses with both VM and FR endpoint types. Such a subnetwork gets its
  #    IPv6 range from Google IP Pool directly.
  module Ipv6GceEndpoint
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_GCE_ENDPOINT = 0

    VM_AND_FR = 41_830_108

    VM_ONLY = 236_773_428
  end

  # This field is for internal use.
  #
  # This field can be both set at resource creation time and updated usingpatch.
  module PrivateIpv6GoogleAccess
    # A value indicating that the enum field is not set.
    UNDEFINED_PRIVATE_IPV6_GOOGLE_ACCESS = 0

    # Disable private IPv6 access to/from Google services.
    DISABLE_GOOGLE_ACCESS = 450_958_579

    # Bidirectional private IPv6 access to/from Google services.
    ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE = 427_975_994

    # Outbound private IPv6 access from VMs in this subnet to Google services.
    ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288_210_263
  end

  module Purpose
    # A value indicating that the enum field is not set.
    UNDEFINED_PURPOSE = 0

    # Subnet reserved for Global Envoy-based Load Balancing.
    GLOBAL_MANAGED_PROXY = 236_463_602

    # Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy
    # purpose, please use REGIONAL_MANAGED_PROXY instead.
    INTERNAL_HTTPS_LOAD_BALANCER = 248_748_889

    # Subnetwork will be used for Migration from one peered VPC to another.
    # (a transient state of subnetwork
    # while migrating resources from one project to another).
    PEER_MIGRATION = 491_902_225

    # Regular user created or automatically created subnet.
    PRIVATE = 403_485_027

    # Subnetwork used as source range for Private NAT Gateways.
    PRIVATE_NAT = 367_764_517

    # Regular user created or automatically created subnet.
    PRIVATE_RFC_1918 = 254_902_107

    # Subnetworks created for Private Service Connect in the producer network.
    PRIVATE_SERVICE_CONNECT = 48_134_724

    # Subnetwork used for Regional Envoy-based Load Balancing.
    REGIONAL_MANAGED_PROXY = 153_049_966
  end

  # Configures subnet mask resolution for this subnetwork.
  module ResolveSubnetMask
    # A value indicating that the enum field is not set.
    UNDEFINED_RESOLVE_SUBNET_MASK = 0

    # All ranges assigned to the VM NIC will respond to ARP.
    ARP_ALL_RANGES = 445_655_380

    # VMs will receive an ARP response from a VM instance owning the target IP
    # address within the subnetwork's primary CIDR range, if such a VM instance
    # exists and is running.
    ARP_BROADCAST_PRIMARY_RANGE = 123_887_458

    # Combines ARP_BROADCAST_PRIMARY_RANGE with MAC learning. Enables cache
    # mapping between IP addresses and custom MAC addresses of instances and
    # use of it to set the correct destination MAC address. If this option is
    # chosen, the subnetwork must have /24 or a smaller CIDR range.
    ARP_BROADCAST_PRIMARY_RANGE_WITH_LEARNING = 425_592_922

    # Only the primary range of the VM NIC will respond to ARP.
    ARP_PRIMARY_RANGE = 120_210_048
  end

  # The role of subnetwork. Currently, this field is only used when
  # purpose is set to GLOBAL_MANAGED_PROXY orREGIONAL_MANAGED_PROXY. The value can be set toACTIVE 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.
  module Role
    # A value indicating that the enum field is not set.
    UNDEFINED_ROLE = 0

    # The ACTIVE subnet that is currently used.
    ACTIVE = 314_733_318

    # The BACKUP subnet that could be promoted to ACTIVE.
    BACKUP = 341_010_882
  end

  # The stack type for the subnet. If set to IPV4_ONLY, new VMs
  # in the subnet are assigned IPv4 addresses only. If set toIPV4_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 usingpatch.
  module StackType
    # A value indicating that the enum field is not set.
    UNDEFINED_STACK_TYPE = 0

    # New VMs in this subnet can have both IPv4 and IPv6 addresses.
    IPV4_IPV6 = 22_197_249

    # New VMs in this subnet will only be assigned IPv4 addresses.
    IPV4_ONLY = 22_373_798

    # New VMs in this subnet will only  be assigned IPv6 addresses.
    IPV6_ONLY = 79_632_100

    UNSPECIFIED_STACK_TYPE = 298_084_569
  end

  # Output only. [Output Only] The state of the subnetwork, which can be one of the
  # following values:READY: Subnetwork is created and ready to useDRAINING: 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 ofREADY
  module State
    # A value indicating that the enum field is not set.
    UNDEFINED_STATE = 0

    # Subnetwork is being drained.
    DRAINING = 480_455_402

    # Subnetwork is ready for use.
    READY = 77_848_963
  end
end

#params ⇒ ::Google::Cloud::Compute::V1::SubnetworkParams

Returns Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload.

Returns:



79907
79908
79909
79910
79911
79912
79913
79914
79915
79916
79917
79918
79919
79920
79921
79922
79923
79924
79925
79926
79927
79928
79929
79930
79931
79932
79933
79934
79935
79936
79937
79938
79939
79940
79941
79942
79943
79944
79945
79946
79947
79948
79949
79950
79951
79952
79953
79954
79955
79956
79957
79958
79959
79960
79961
79962
79963
79964
79965
79966
79967
79968
79969
79970
79971
79972
79973
79974
79975
79976
79977
79978
79979
79980
79981
79982
79983
79984
79985
79986
79987
79988
79989
79990
79991
79992
79993
79994
79995
79996
79997
79998
79999
80000
80001
80002
80003
80004
80005
80006
80007
80008
80009
80010
80011
80012
80013
80014
80015
80016
80017
80018
80019
80020
80021
80022
80023
80024
80025
80026
80027
80028
80029
80030
80031
80032
80033
80034
80035
80036
80037
80038
80039
80040
80041
80042
80043
80044
80045
80046
80047
80048
80049
80050
80051
80052
80053
80054
80055
80056
80057
80058
80059
80060
80061
80062
80063
80064
80065
80066
80067
80068
80069
80070
80071
80072
80073
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 79907

class Subnetwork
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  module Ipv6AccessType
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_ACCESS_TYPE = 0

    # VMs on this subnet will be assigned IPv6 addresses that are accessible
    # via the Internet, as well as the VPC network.
    EXTERNAL = 35_607_499

    # VMs on this subnet will be assigned IPv6 addresses that are only
    # accessible over the VPC network.
    INTERNAL = 279_295_677

    UNSPECIFIED_IPV6_ACCESS_TYPE = 313_080_613
  end

  # Output only. [Output Only] Possible endpoints of this subnetwork. It can be one of the
  # following:
  #
  #    - VM_ONLY: The subnetwork can be used for creating instances and
  #    IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6
  #    ranges from a public delegated prefix and cannot be used to create NetLb.
  #    - VM_AND_FR: The subnetwork can be used for creating both VM
  #    instances and Forwarding Rules. It can also be used to reserve IPv6
  #    addresses with both VM and FR endpoint types. Such a subnetwork gets its
  #    IPv6 range from Google IP Pool directly.
  module Ipv6GceEndpoint
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_GCE_ENDPOINT = 0

    VM_AND_FR = 41_830_108

    VM_ONLY = 236_773_428
  end

  # This field is for internal use.
  #
  # This field can be both set at resource creation time and updated usingpatch.
  module PrivateIpv6GoogleAccess
    # A value indicating that the enum field is not set.
    UNDEFINED_PRIVATE_IPV6_GOOGLE_ACCESS = 0

    # Disable private IPv6 access to/from Google services.
    DISABLE_GOOGLE_ACCESS = 450_958_579

    # Bidirectional private IPv6 access to/from Google services.
    ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE = 427_975_994

    # Outbound private IPv6 access from VMs in this subnet to Google services.
    ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288_210_263
  end

  module Purpose
    # A value indicating that the enum field is not set.
    UNDEFINED_PURPOSE = 0

    # Subnet reserved for Global Envoy-based Load Balancing.
    GLOBAL_MANAGED_PROXY = 236_463_602

    # Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy
    # purpose, please use REGIONAL_MANAGED_PROXY instead.
    INTERNAL_HTTPS_LOAD_BALANCER = 248_748_889

    # Subnetwork will be used for Migration from one peered VPC to another.
    # (a transient state of subnetwork
    # while migrating resources from one project to another).
    PEER_MIGRATION = 491_902_225

    # Regular user created or automatically created subnet.
    PRIVATE = 403_485_027

    # Subnetwork used as source range for Private NAT Gateways.
    PRIVATE_NAT = 367_764_517

    # Regular user created or automatically created subnet.
    PRIVATE_RFC_1918 = 254_902_107

    # Subnetworks created for Private Service Connect in the producer network.
    PRIVATE_SERVICE_CONNECT = 48_134_724

    # Subnetwork used for Regional Envoy-based Load Balancing.
    REGIONAL_MANAGED_PROXY = 153_049_966
  end

  # Configures subnet mask resolution for this subnetwork.
  module ResolveSubnetMask
    # A value indicating that the enum field is not set.
    UNDEFINED_RESOLVE_SUBNET_MASK = 0

    # All ranges assigned to the VM NIC will respond to ARP.
    ARP_ALL_RANGES = 445_655_380

    # VMs will receive an ARP response from a VM instance owning the target IP
    # address within the subnetwork's primary CIDR range, if such a VM instance
    # exists and is running.
    ARP_BROADCAST_PRIMARY_RANGE = 123_887_458

    # Combines ARP_BROADCAST_PRIMARY_RANGE with MAC learning. Enables cache
    # mapping between IP addresses and custom MAC addresses of instances and
    # use of it to set the correct destination MAC address. If this option is
    # chosen, the subnetwork must have /24 or a smaller CIDR range.
    ARP_BROADCAST_PRIMARY_RANGE_WITH_LEARNING = 425_592_922

    # Only the primary range of the VM NIC will respond to ARP.
    ARP_PRIMARY_RANGE = 120_210_048
  end

  # The role of subnetwork. Currently, this field is only used when
  # purpose is set to GLOBAL_MANAGED_PROXY orREGIONAL_MANAGED_PROXY. The value can be set toACTIVE 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.
  module Role
    # A value indicating that the enum field is not set.
    UNDEFINED_ROLE = 0

    # The ACTIVE subnet that is currently used.
    ACTIVE = 314_733_318

    # The BACKUP subnet that could be promoted to ACTIVE.
    BACKUP = 341_010_882
  end

  # The stack type for the subnet. If set to IPV4_ONLY, new VMs
  # in the subnet are assigned IPv4 addresses only. If set toIPV4_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 usingpatch.
  module StackType
    # A value indicating that the enum field is not set.
    UNDEFINED_STACK_TYPE = 0

    # New VMs in this subnet can have both IPv4 and IPv6 addresses.
    IPV4_IPV6 = 22_197_249

    # New VMs in this subnet will only be assigned IPv4 addresses.
    IPV4_ONLY = 22_373_798

    # New VMs in this subnet will only  be assigned IPv6 addresses.
    IPV6_ONLY = 79_632_100

    UNSPECIFIED_STACK_TYPE = 298_084_569
  end

  # Output only. [Output Only] The state of the subnetwork, which can be one of the
  # following values:READY: Subnetwork is created and ready to useDRAINING: 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 ofREADY
  module State
    # A value indicating that the enum field is not set.
    UNDEFINED_STATE = 0

    # Subnetwork is being drained.
    DRAINING = 480_455_402

    # Subnetwork is ready for use.
    READY = 77_848_963
  end
end

#private_ip_google_access ⇒ ::Boolean

Returns 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:

  • (::Boolean) —

    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.



79907
79908
79909
79910
79911
79912
79913
79914
79915
79916
79917
79918
79919
79920
79921
79922
79923
79924
79925
79926
79927
79928
79929
79930
79931
79932
79933
79934
79935
79936
79937
79938
79939
79940
79941
79942
79943
79944
79945
79946
79947
79948
79949
79950
79951
79952
79953
79954
79955
79956
79957
79958
79959
79960
79961
79962
79963
79964
79965
79966
79967
79968
79969
79970
79971
79972
79973
79974
79975
79976
79977
79978
79979
79980
79981
79982
79983
79984
79985
79986
79987
79988
79989
79990
79991
79992
79993
79994
79995
79996
79997
79998
79999
80000
80001
80002
80003
80004
80005
80006
80007
80008
80009
80010
80011
80012
80013
80014
80015
80016
80017
80018
80019
80020
80021
80022
80023
80024
80025
80026
80027
80028
80029
80030
80031
80032
80033
80034
80035
80036
80037
80038
80039
80040
80041
80042
80043
80044
80045
80046
80047
80048
80049
80050
80051
80052
80053
80054
80055
80056
80057
80058
80059
80060
80061
80062
80063
80064
80065
80066
80067
80068
80069
80070
80071
80072
80073
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 79907

class Subnetwork
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  module Ipv6AccessType
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_ACCESS_TYPE = 0

    # VMs on this subnet will be assigned IPv6 addresses that are accessible
    # via the Internet, as well as the VPC network.
    EXTERNAL = 35_607_499

    # VMs on this subnet will be assigned IPv6 addresses that are only
    # accessible over the VPC network.
    INTERNAL = 279_295_677

    UNSPECIFIED_IPV6_ACCESS_TYPE = 313_080_613
  end

  # Output only. [Output Only] Possible endpoints of this subnetwork. It can be one of the
  # following:
  #
  #    - VM_ONLY: The subnetwork can be used for creating instances and
  #    IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6
  #    ranges from a public delegated prefix and cannot be used to create NetLb.
  #    - VM_AND_FR: The subnetwork can be used for creating both VM
  #    instances and Forwarding Rules. It can also be used to reserve IPv6
  #    addresses with both VM and FR endpoint types. Such a subnetwork gets its
  #    IPv6 range from Google IP Pool directly.
  module Ipv6GceEndpoint
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_GCE_ENDPOINT = 0

    VM_AND_FR = 41_830_108

    VM_ONLY = 236_773_428
  end

  # This field is for internal use.
  #
  # This field can be both set at resource creation time and updated usingpatch.
  module PrivateIpv6GoogleAccess
    # A value indicating that the enum field is not set.
    UNDEFINED_PRIVATE_IPV6_GOOGLE_ACCESS = 0

    # Disable private IPv6 access to/from Google services.
    DISABLE_GOOGLE_ACCESS = 450_958_579

    # Bidirectional private IPv6 access to/from Google services.
    ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE = 427_975_994

    # Outbound private IPv6 access from VMs in this subnet to Google services.
    ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288_210_263
  end

  module Purpose
    # A value indicating that the enum field is not set.
    UNDEFINED_PURPOSE = 0

    # Subnet reserved for Global Envoy-based Load Balancing.
    GLOBAL_MANAGED_PROXY = 236_463_602

    # Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy
    # purpose, please use REGIONAL_MANAGED_PROXY instead.
    INTERNAL_HTTPS_LOAD_BALANCER = 248_748_889

    # Subnetwork will be used for Migration from one peered VPC to another.
    # (a transient state of subnetwork
    # while migrating resources from one project to another).
    PEER_MIGRATION = 491_902_225

    # Regular user created or automatically created subnet.
    PRIVATE = 403_485_027

    # Subnetwork used as source range for Private NAT Gateways.
    PRIVATE_NAT = 367_764_517

    # Regular user created or automatically created subnet.
    PRIVATE_RFC_1918 = 254_902_107

    # Subnetworks created for Private Service Connect in the producer network.
    PRIVATE_SERVICE_CONNECT = 48_134_724

    # Subnetwork used for Regional Envoy-based Load Balancing.
    REGIONAL_MANAGED_PROXY = 153_049_966
  end

  # Configures subnet mask resolution for this subnetwork.
  module ResolveSubnetMask
    # A value indicating that the enum field is not set.
    UNDEFINED_RESOLVE_SUBNET_MASK = 0

    # All ranges assigned to the VM NIC will respond to ARP.
    ARP_ALL_RANGES = 445_655_380

    # VMs will receive an ARP response from a VM instance owning the target IP
    # address within the subnetwork's primary CIDR range, if such a VM instance
    # exists and is running.
    ARP_BROADCAST_PRIMARY_RANGE = 123_887_458

    # Combines ARP_BROADCAST_PRIMARY_RANGE with MAC learning. Enables cache
    # mapping between IP addresses and custom MAC addresses of instances and
    # use of it to set the correct destination MAC address. If this option is
    # chosen, the subnetwork must have /24 or a smaller CIDR range.
    ARP_BROADCAST_PRIMARY_RANGE_WITH_LEARNING = 425_592_922

    # Only the primary range of the VM NIC will respond to ARP.
    ARP_PRIMARY_RANGE = 120_210_048
  end

  # The role of subnetwork. Currently, this field is only used when
  # purpose is set to GLOBAL_MANAGED_PROXY orREGIONAL_MANAGED_PROXY. The value can be set toACTIVE 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.
  module Role
    # A value indicating that the enum field is not set.
    UNDEFINED_ROLE = 0

    # The ACTIVE subnet that is currently used.
    ACTIVE = 314_733_318

    # The BACKUP subnet that could be promoted to ACTIVE.
    BACKUP = 341_010_882
  end

  # The stack type for the subnet. If set to IPV4_ONLY, new VMs
  # in the subnet are assigned IPv4 addresses only. If set toIPV4_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 usingpatch.
  module StackType
    # A value indicating that the enum field is not set.
    UNDEFINED_STACK_TYPE = 0

    # New VMs in this subnet can have both IPv4 and IPv6 addresses.
    IPV4_IPV6 = 22_197_249

    # New VMs in this subnet will only be assigned IPv4 addresses.
    IPV4_ONLY = 22_373_798

    # New VMs in this subnet will only  be assigned IPv6 addresses.
    IPV6_ONLY = 79_632_100

    UNSPECIFIED_STACK_TYPE = 298_084_569
  end

  # Output only. [Output Only] The state of the subnetwork, which can be one of the
  # following values:READY: Subnetwork is created and ready to useDRAINING: 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 ofREADY
  module State
    # A value indicating that the enum field is not set.
    UNDEFINED_STATE = 0

    # Subnetwork is being drained.
    DRAINING = 480_455_402

    # Subnetwork is ready for use.
    READY = 77_848_963
  end
end

#private_ipv6_google_access ⇒ ::String

Returns This field is for internal use.

This field can be both set at resource creation time and updated usingpatch. Check the PrivateIpv6GoogleAccess enum for the list of possible values.

Returns:

  • (::String) —

    This field is for internal use.

    This field can be both set at resource creation time and updated usingpatch. Check the PrivateIpv6GoogleAccess enum for the list of possible values.



79907
79908
79909
79910
79911
79912
79913
79914
79915
79916
79917
79918
79919
79920
79921
79922
79923
79924
79925
79926
79927
79928
79929
79930
79931
79932
79933
79934
79935
79936
79937
79938
79939
79940
79941
79942
79943
79944
79945
79946
79947
79948
79949
79950
79951
79952
79953
79954
79955
79956
79957
79958
79959
79960
79961
79962
79963
79964
79965
79966
79967
79968
79969
79970
79971
79972
79973
79974
79975
79976
79977
79978
79979
79980
79981
79982
79983
79984
79985
79986
79987
79988
79989
79990
79991
79992
79993
79994
79995
79996
79997
79998
79999
80000
80001
80002
80003
80004
80005
80006
80007
80008
80009
80010
80011
80012
80013
80014
80015
80016
80017
80018
80019
80020
80021
80022
80023
80024
80025
80026
80027
80028
80029
80030
80031
80032
80033
80034
80035
80036
80037
80038
80039
80040
80041
80042
80043
80044
80045
80046
80047
80048
80049
80050
80051
80052
80053
80054
80055
80056
80057
80058
80059
80060
80061
80062
80063
80064
80065
80066
80067
80068
80069
80070
80071
80072
80073
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 79907

class Subnetwork
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  module Ipv6AccessType
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_ACCESS_TYPE = 0

    # VMs on this subnet will be assigned IPv6 addresses that are accessible
    # via the Internet, as well as the VPC network.
    EXTERNAL = 35_607_499

    # VMs on this subnet will be assigned IPv6 addresses that are only
    # accessible over the VPC network.
    INTERNAL = 279_295_677

    UNSPECIFIED_IPV6_ACCESS_TYPE = 313_080_613
  end

  # Output only. [Output Only] Possible endpoints of this subnetwork. It can be one of the
  # following:
  #
  #    - VM_ONLY: The subnetwork can be used for creating instances and
  #    IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6
  #    ranges from a public delegated prefix and cannot be used to create NetLb.
  #    - VM_AND_FR: The subnetwork can be used for creating both VM
  #    instances and Forwarding Rules. It can also be used to reserve IPv6
  #    addresses with both VM and FR endpoint types. Such a subnetwork gets its
  #    IPv6 range from Google IP Pool directly.
  module Ipv6GceEndpoint
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_GCE_ENDPOINT = 0

    VM_AND_FR = 41_830_108

    VM_ONLY = 236_773_428
  end

  # This field is for internal use.
  #
  # This field can be both set at resource creation time and updated usingpatch.
  module PrivateIpv6GoogleAccess
    # A value indicating that the enum field is not set.
    UNDEFINED_PRIVATE_IPV6_GOOGLE_ACCESS = 0

    # Disable private IPv6 access to/from Google services.
    DISABLE_GOOGLE_ACCESS = 450_958_579

    # Bidirectional private IPv6 access to/from Google services.
    ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE = 427_975_994

    # Outbound private IPv6 access from VMs in this subnet to Google services.
    ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288_210_263
  end

  module Purpose
    # A value indicating that the enum field is not set.
    UNDEFINED_PURPOSE = 0

    # Subnet reserved for Global Envoy-based Load Balancing.
    GLOBAL_MANAGED_PROXY = 236_463_602

    # Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy
    # purpose, please use REGIONAL_MANAGED_PROXY instead.
    INTERNAL_HTTPS_LOAD_BALANCER = 248_748_889

    # Subnetwork will be used for Migration from one peered VPC to another.
    # (a transient state of subnetwork
    # while migrating resources from one project to another).
    PEER_MIGRATION = 491_902_225

    # Regular user created or automatically created subnet.
    PRIVATE = 403_485_027

    # Subnetwork used as source range for Private NAT Gateways.
    PRIVATE_NAT = 367_764_517

    # Regular user created or automatically created subnet.
    PRIVATE_RFC_1918 = 254_902_107

    # Subnetworks created for Private Service Connect in the producer network.
    PRIVATE_SERVICE_CONNECT = 48_134_724

    # Subnetwork used for Regional Envoy-based Load Balancing.
    REGIONAL_MANAGED_PROXY = 153_049_966
  end

  # Configures subnet mask resolution for this subnetwork.
  module ResolveSubnetMask
    # A value indicating that the enum field is not set.
    UNDEFINED_RESOLVE_SUBNET_MASK = 0

    # All ranges assigned to the VM NIC will respond to ARP.
    ARP_ALL_RANGES = 445_655_380

    # VMs will receive an ARP response from a VM instance owning the target IP
    # address within the subnetwork's primary CIDR range, if such a VM instance
    # exists and is running.
    ARP_BROADCAST_PRIMARY_RANGE = 123_887_458

    # Combines ARP_BROADCAST_PRIMARY_RANGE with MAC learning. Enables cache
    # mapping between IP addresses and custom MAC addresses of instances and
    # use of it to set the correct destination MAC address. If this option is
    # chosen, the subnetwork must have /24 or a smaller CIDR range.
    ARP_BROADCAST_PRIMARY_RANGE_WITH_LEARNING = 425_592_922

    # Only the primary range of the VM NIC will respond to ARP.
    ARP_PRIMARY_RANGE = 120_210_048
  end

  # The role of subnetwork. Currently, this field is only used when
  # purpose is set to GLOBAL_MANAGED_PROXY orREGIONAL_MANAGED_PROXY. The value can be set toACTIVE 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.
  module Role
    # A value indicating that the enum field is not set.
    UNDEFINED_ROLE = 0

    # The ACTIVE subnet that is currently used.
    ACTIVE = 314_733_318

    # The BACKUP subnet that could be promoted to ACTIVE.
    BACKUP = 341_010_882
  end

  # The stack type for the subnet. If set to IPV4_ONLY, new VMs
  # in the subnet are assigned IPv4 addresses only. If set toIPV4_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 usingpatch.
  module StackType
    # A value indicating that the enum field is not set.
    UNDEFINED_STACK_TYPE = 0

    # New VMs in this subnet can have both IPv4 and IPv6 addresses.
    IPV4_IPV6 = 22_197_249

    # New VMs in this subnet will only be assigned IPv4 addresses.
    IPV4_ONLY = 22_373_798

    # New VMs in this subnet will only  be assigned IPv6 addresses.
    IPV6_ONLY = 79_632_100

    UNSPECIFIED_STACK_TYPE = 298_084_569
  end

  # Output only. [Output Only] The state of the subnetwork, which can be one of the
  # following values:READY: Subnetwork is created and ready to useDRAINING: 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 ofREADY
  module State
    # A value indicating that the enum field is not set.
    UNDEFINED_STATE = 0

    # Subnetwork is being drained.
    DRAINING = 480_455_402

    # Subnetwork is ready for use.
    READY = 77_848_963
  end
end

#purpose ⇒ ::String

Returns Check the Purpose enum for the list of possible values.

Returns:

  • (::String) —

    Check the Purpose enum for the list of possible values.



79907
79908
79909
79910
79911
79912
79913
79914
79915
79916
79917
79918
79919
79920
79921
79922
79923
79924
79925
79926
79927
79928
79929
79930
79931
79932
79933
79934
79935
79936
79937
79938
79939
79940
79941
79942
79943
79944
79945
79946
79947
79948
79949
79950
79951
79952
79953
79954
79955
79956
79957
79958
79959
79960
79961
79962
79963
79964
79965
79966
79967
79968
79969
79970
79971
79972
79973
79974
79975
79976
79977
79978
79979
79980
79981
79982
79983
79984
79985
79986
79987
79988
79989
79990
79991
79992
79993
79994
79995
79996
79997
79998
79999
80000
80001
80002
80003
80004
80005
80006
80007
80008
80009
80010
80011
80012
80013
80014
80015
80016
80017
80018
80019
80020
80021
80022
80023
80024
80025
80026
80027
80028
80029
80030
80031
80032
80033
80034
80035
80036
80037
80038
80039
80040
80041
80042
80043
80044
80045
80046
80047
80048
80049
80050
80051
80052
80053
80054
80055
80056
80057
80058
80059
80060
80061
80062
80063
80064
80065
80066
80067
80068
80069
80070
80071
80072
80073
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 79907

class Subnetwork
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  module Ipv6AccessType
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_ACCESS_TYPE = 0

    # VMs on this subnet will be assigned IPv6 addresses that are accessible
    # via the Internet, as well as the VPC network.
    EXTERNAL = 35_607_499

    # VMs on this subnet will be assigned IPv6 addresses that are only
    # accessible over the VPC network.
    INTERNAL = 279_295_677

    UNSPECIFIED_IPV6_ACCESS_TYPE = 313_080_613
  end

  # Output only. [Output Only] Possible endpoints of this subnetwork. It can be one of the
  # following:
  #
  #    - VM_ONLY: The subnetwork can be used for creating instances and
  #    IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6
  #    ranges from a public delegated prefix and cannot be used to create NetLb.
  #    - VM_AND_FR: The subnetwork can be used for creating both VM
  #    instances and Forwarding Rules. It can also be used to reserve IPv6
  #    addresses with both VM and FR endpoint types. Such a subnetwork gets its
  #    IPv6 range from Google IP Pool directly.
  module Ipv6GceEndpoint
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_GCE_ENDPOINT = 0

    VM_AND_FR = 41_830_108

    VM_ONLY = 236_773_428
  end

  # This field is for internal use.
  #
  # This field can be both set at resource creation time and updated usingpatch.
  module PrivateIpv6GoogleAccess
    # A value indicating that the enum field is not set.
    UNDEFINED_PRIVATE_IPV6_GOOGLE_ACCESS = 0

    # Disable private IPv6 access to/from Google services.
    DISABLE_GOOGLE_ACCESS = 450_958_579

    # Bidirectional private IPv6 access to/from Google services.
    ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE = 427_975_994

    # Outbound private IPv6 access from VMs in this subnet to Google services.
    ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288_210_263
  end

  module Purpose
    # A value indicating that the enum field is not set.
    UNDEFINED_PURPOSE = 0

    # Subnet reserved for Global Envoy-based Load Balancing.
    GLOBAL_MANAGED_PROXY = 236_463_602

    # Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy
    # purpose, please use REGIONAL_MANAGED_PROXY instead.
    INTERNAL_HTTPS_LOAD_BALANCER = 248_748_889

    # Subnetwork will be used for Migration from one peered VPC to another.
    # (a transient state of subnetwork
    # while migrating resources from one project to another).
    PEER_MIGRATION = 491_902_225

    # Regular user created or automatically created subnet.
    PRIVATE = 403_485_027

    # Subnetwork used as source range for Private NAT Gateways.
    PRIVATE_NAT = 367_764_517

    # Regular user created or automatically created subnet.
    PRIVATE_RFC_1918 = 254_902_107

    # Subnetworks created for Private Service Connect in the producer network.
    PRIVATE_SERVICE_CONNECT = 48_134_724

    # Subnetwork used for Regional Envoy-based Load Balancing.
    REGIONAL_MANAGED_PROXY = 153_049_966
  end

  # Configures subnet mask resolution for this subnetwork.
  module ResolveSubnetMask
    # A value indicating that the enum field is not set.
    UNDEFINED_RESOLVE_SUBNET_MASK = 0

    # All ranges assigned to the VM NIC will respond to ARP.
    ARP_ALL_RANGES = 445_655_380

    # VMs will receive an ARP response from a VM instance owning the target IP
    # address within the subnetwork's primary CIDR range, if such a VM instance
    # exists and is running.
    ARP_BROADCAST_PRIMARY_RANGE = 123_887_458

    # Combines ARP_BROADCAST_PRIMARY_RANGE with MAC learning. Enables cache
    # mapping between IP addresses and custom MAC addresses of instances and
    # use of it to set the correct destination MAC address. If this option is
    # chosen, the subnetwork must have /24 or a smaller CIDR range.
    ARP_BROADCAST_PRIMARY_RANGE_WITH_LEARNING = 425_592_922

    # Only the primary range of the VM NIC will respond to ARP.
    ARP_PRIMARY_RANGE = 120_210_048
  end

  # The role of subnetwork. Currently, this field is only used when
  # purpose is set to GLOBAL_MANAGED_PROXY orREGIONAL_MANAGED_PROXY. The value can be set toACTIVE 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.
  module Role
    # A value indicating that the enum field is not set.
    UNDEFINED_ROLE = 0

    # The ACTIVE subnet that is currently used.
    ACTIVE = 314_733_318

    # The BACKUP subnet that could be promoted to ACTIVE.
    BACKUP = 341_010_882
  end

  # The stack type for the subnet. If set to IPV4_ONLY, new VMs
  # in the subnet are assigned IPv4 addresses only. If set toIPV4_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 usingpatch.
  module StackType
    # A value indicating that the enum field is not set.
    UNDEFINED_STACK_TYPE = 0

    # New VMs in this subnet can have both IPv4 and IPv6 addresses.
    IPV4_IPV6 = 22_197_249

    # New VMs in this subnet will only be assigned IPv4 addresses.
    IPV4_ONLY = 22_373_798

    # New VMs in this subnet will only  be assigned IPv6 addresses.
    IPV6_ONLY = 79_632_100

    UNSPECIFIED_STACK_TYPE = 298_084_569
  end

  # Output only. [Output Only] The state of the subnetwork, which can be one of the
  # following values:READY: Subnetwork is created and ready to useDRAINING: 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 ofREADY
  module State
    # A value indicating that the enum field is not set.
    UNDEFINED_STATE = 0

    # Subnetwork is being drained.
    DRAINING = 480_455_402

    # Subnetwork is ready for use.
    READY = 77_848_963
  end
end

#region ⇒ ::String

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

Returns:

  • (::String) —

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



79907
79908
79909
79910
79911
79912
79913
79914
79915
79916
79917
79918
79919
79920
79921
79922
79923
79924
79925
79926
79927
79928
79929
79930
79931
79932
79933
79934
79935
79936
79937
79938
79939
79940
79941
79942
79943
79944
79945
79946
79947
79948
79949
79950
79951
79952
79953
79954
79955
79956
79957
79958
79959
79960
79961
79962
79963
79964
79965
79966
79967
79968
79969
79970
79971
79972
79973
79974
79975
79976
79977
79978
79979
79980
79981
79982
79983
79984
79985
79986
79987
79988
79989
79990
79991
79992
79993
79994
79995
79996
79997
79998
79999
80000
80001
80002
80003
80004
80005
80006
80007
80008
80009
80010
80011
80012
80013
80014
80015
80016
80017
80018
80019
80020
80021
80022
80023
80024
80025
80026
80027
80028
80029
80030
80031
80032
80033
80034
80035
80036
80037
80038
80039
80040
80041
80042
80043
80044
80045
80046
80047
80048
80049
80050
80051
80052
80053
80054
80055
80056
80057
80058
80059
80060
80061
80062
80063
80064
80065
80066
80067
80068
80069
80070
80071
80072
80073
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 79907

class Subnetwork
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  module Ipv6AccessType
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_ACCESS_TYPE = 0

    # VMs on this subnet will be assigned IPv6 addresses that are accessible
    # via the Internet, as well as the VPC network.
    EXTERNAL = 35_607_499

    # VMs on this subnet will be assigned IPv6 addresses that are only
    # accessible over the VPC network.
    INTERNAL = 279_295_677

    UNSPECIFIED_IPV6_ACCESS_TYPE = 313_080_613
  end

  # Output only. [Output Only] Possible endpoints of this subnetwork. It can be one of the
  # following:
  #
  #    - VM_ONLY: The subnetwork can be used for creating instances and
  #    IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6
  #    ranges from a public delegated prefix and cannot be used to create NetLb.
  #    - VM_AND_FR: The subnetwork can be used for creating both VM
  #    instances and Forwarding Rules. It can also be used to reserve IPv6
  #    addresses with both VM and FR endpoint types. Such a subnetwork gets its
  #    IPv6 range from Google IP Pool directly.
  module Ipv6GceEndpoint
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_GCE_ENDPOINT = 0

    VM_AND_FR = 41_830_108

    VM_ONLY = 236_773_428
  end

  # This field is for internal use.
  #
  # This field can be both set at resource creation time and updated usingpatch.
  module PrivateIpv6GoogleAccess
    # A value indicating that the enum field is not set.
    UNDEFINED_PRIVATE_IPV6_GOOGLE_ACCESS = 0

    # Disable private IPv6 access to/from Google services.
    DISABLE_GOOGLE_ACCESS = 450_958_579

    # Bidirectional private IPv6 access to/from Google services.
    ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE = 427_975_994

    # Outbound private IPv6 access from VMs in this subnet to Google services.
    ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288_210_263
  end

  module Purpose
    # A value indicating that the enum field is not set.
    UNDEFINED_PURPOSE = 0

    # Subnet reserved for Global Envoy-based Load Balancing.
    GLOBAL_MANAGED_PROXY = 236_463_602

    # Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy
    # purpose, please use REGIONAL_MANAGED_PROXY instead.
    INTERNAL_HTTPS_LOAD_BALANCER = 248_748_889

    # Subnetwork will be used for Migration from one peered VPC to another.
    # (a transient state of subnetwork
    # while migrating resources from one project to another).
    PEER_MIGRATION = 491_902_225

    # Regular user created or automatically created subnet.
    PRIVATE = 403_485_027

    # Subnetwork used as source range for Private NAT Gateways.
    PRIVATE_NAT = 367_764_517

    # Regular user created or automatically created subnet.
    PRIVATE_RFC_1918 = 254_902_107

    # Subnetworks created for Private Service Connect in the producer network.
    PRIVATE_SERVICE_CONNECT = 48_134_724

    # Subnetwork used for Regional Envoy-based Load Balancing.
    REGIONAL_MANAGED_PROXY = 153_049_966
  end

  # Configures subnet mask resolution for this subnetwork.
  module ResolveSubnetMask
    # A value indicating that the enum field is not set.
    UNDEFINED_RESOLVE_SUBNET_MASK = 0

    # All ranges assigned to the VM NIC will respond to ARP.
    ARP_ALL_RANGES = 445_655_380

    # VMs will receive an ARP response from a VM instance owning the target IP
    # address within the subnetwork's primary CIDR range, if such a VM instance
    # exists and is running.
    ARP_BROADCAST_PRIMARY_RANGE = 123_887_458

    # Combines ARP_BROADCAST_PRIMARY_RANGE with MAC learning. Enables cache
    # mapping between IP addresses and custom MAC addresses of instances and
    # use of it to set the correct destination MAC address. If this option is
    # chosen, the subnetwork must have /24 or a smaller CIDR range.
    ARP_BROADCAST_PRIMARY_RANGE_WITH_LEARNING = 425_592_922

    # Only the primary range of the VM NIC will respond to ARP.
    ARP_PRIMARY_RANGE = 120_210_048
  end

  # The role of subnetwork. Currently, this field is only used when
  # purpose is set to GLOBAL_MANAGED_PROXY orREGIONAL_MANAGED_PROXY. The value can be set toACTIVE 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.
  module Role
    # A value indicating that the enum field is not set.
    UNDEFINED_ROLE = 0

    # The ACTIVE subnet that is currently used.
    ACTIVE = 314_733_318

    # The BACKUP subnet that could be promoted to ACTIVE.
    BACKUP = 341_010_882
  end

  # The stack type for the subnet. If set to IPV4_ONLY, new VMs
  # in the subnet are assigned IPv4 addresses only. If set toIPV4_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 usingpatch.
  module StackType
    # A value indicating that the enum field is not set.
    UNDEFINED_STACK_TYPE = 0

    # New VMs in this subnet can have both IPv4 and IPv6 addresses.
    IPV4_IPV6 = 22_197_249

    # New VMs in this subnet will only be assigned IPv4 addresses.
    IPV4_ONLY = 22_373_798

    # New VMs in this subnet will only  be assigned IPv6 addresses.
    IPV6_ONLY = 79_632_100

    UNSPECIFIED_STACK_TYPE = 298_084_569
  end

  # Output only. [Output Only] The state of the subnetwork, which can be one of the
  # following values:READY: Subnetwork is created and ready to useDRAINING: 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 ofREADY
  module State
    # A value indicating that the enum field is not set.
    UNDEFINED_STATE = 0

    # Subnetwork is being drained.
    DRAINING = 480_455_402

    # Subnetwork is ready for use.
    READY = 77_848_963
  end
end

#reserved_internal_range ⇒ ::String

Returns The URL of the reserved internal range.

Returns:

  • (::String) —

    The URL of the reserved internal range.



79907
79908
79909
79910
79911
79912
79913
79914
79915
79916
79917
79918
79919
79920
79921
79922
79923
79924
79925
79926
79927
79928
79929
79930
79931
79932
79933
79934
79935
79936
79937
79938
79939
79940
79941
79942
79943
79944
79945
79946
79947
79948
79949
79950
79951
79952
79953
79954
79955
79956
79957
79958
79959
79960
79961
79962
79963
79964
79965
79966
79967
79968
79969
79970
79971
79972
79973
79974
79975
79976
79977
79978
79979
79980
79981
79982
79983
79984
79985
79986
79987
79988
79989
79990
79991
79992
79993
79994
79995
79996
79997
79998
79999
80000
80001
80002
80003
80004
80005
80006
80007
80008
80009
80010
80011
80012
80013
80014
80015
80016
80017
80018
80019
80020
80021
80022
80023
80024
80025
80026
80027
80028
80029
80030
80031
80032
80033
80034
80035
80036
80037
80038
80039
80040
80041
80042
80043
80044
80045
80046
80047
80048
80049
80050
80051
80052
80053
80054
80055
80056
80057
80058
80059
80060
80061
80062
80063
80064
80065
80066
80067
80068
80069
80070
80071
80072
80073
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 79907

class Subnetwork
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  module Ipv6AccessType
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_ACCESS_TYPE = 0

    # VMs on this subnet will be assigned IPv6 addresses that are accessible
    # via the Internet, as well as the VPC network.
    EXTERNAL = 35_607_499

    # VMs on this subnet will be assigned IPv6 addresses that are only
    # accessible over the VPC network.
    INTERNAL = 279_295_677

    UNSPECIFIED_IPV6_ACCESS_TYPE = 313_080_613
  end

  # Output only. [Output Only] Possible endpoints of this subnetwork. It can be one of the
  # following:
  #
  #    - VM_ONLY: The subnetwork can be used for creating instances and
  #    IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6
  #    ranges from a public delegated prefix and cannot be used to create NetLb.
  #    - VM_AND_FR: The subnetwork can be used for creating both VM
  #    instances and Forwarding Rules. It can also be used to reserve IPv6
  #    addresses with both VM and FR endpoint types. Such a subnetwork gets its
  #    IPv6 range from Google IP Pool directly.
  module Ipv6GceEndpoint
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_GCE_ENDPOINT = 0

    VM_AND_FR = 41_830_108

    VM_ONLY = 236_773_428
  end

  # This field is for internal use.
  #
  # This field can be both set at resource creation time and updated usingpatch.
  module PrivateIpv6GoogleAccess
    # A value indicating that the enum field is not set.
    UNDEFINED_PRIVATE_IPV6_GOOGLE_ACCESS = 0

    # Disable private IPv6 access to/from Google services.
    DISABLE_GOOGLE_ACCESS = 450_958_579

    # Bidirectional private IPv6 access to/from Google services.
    ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE = 427_975_994

    # Outbound private IPv6 access from VMs in this subnet to Google services.
    ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288_210_263
  end

  module Purpose
    # A value indicating that the enum field is not set.
    UNDEFINED_PURPOSE = 0

    # Subnet reserved for Global Envoy-based Load Balancing.
    GLOBAL_MANAGED_PROXY = 236_463_602

    # Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy
    # purpose, please use REGIONAL_MANAGED_PROXY instead.
    INTERNAL_HTTPS_LOAD_BALANCER = 248_748_889

    # Subnetwork will be used for Migration from one peered VPC to another.
    # (a transient state of subnetwork
    # while migrating resources from one project to another).
    PEER_MIGRATION = 491_902_225

    # Regular user created or automatically created subnet.
    PRIVATE = 403_485_027

    # Subnetwork used as source range for Private NAT Gateways.
    PRIVATE_NAT = 367_764_517

    # Regular user created or automatically created subnet.
    PRIVATE_RFC_1918 = 254_902_107

    # Subnetworks created for Private Service Connect in the producer network.
    PRIVATE_SERVICE_CONNECT = 48_134_724

    # Subnetwork used for Regional Envoy-based Load Balancing.
    REGIONAL_MANAGED_PROXY = 153_049_966
  end

  # Configures subnet mask resolution for this subnetwork.
  module ResolveSubnetMask
    # A value indicating that the enum field is not set.
    UNDEFINED_RESOLVE_SUBNET_MASK = 0

    # All ranges assigned to the VM NIC will respond to ARP.
    ARP_ALL_RANGES = 445_655_380

    # VMs will receive an ARP response from a VM instance owning the target IP
    # address within the subnetwork's primary CIDR range, if such a VM instance
    # exists and is running.
    ARP_BROADCAST_PRIMARY_RANGE = 123_887_458

    # Combines ARP_BROADCAST_PRIMARY_RANGE with MAC learning. Enables cache
    # mapping between IP addresses and custom MAC addresses of instances and
    # use of it to set the correct destination MAC address. If this option is
    # chosen, the subnetwork must have /24 or a smaller CIDR range.
    ARP_BROADCAST_PRIMARY_RANGE_WITH_LEARNING = 425_592_922

    # Only the primary range of the VM NIC will respond to ARP.
    ARP_PRIMARY_RANGE = 120_210_048
  end

  # The role of subnetwork. Currently, this field is only used when
  # purpose is set to GLOBAL_MANAGED_PROXY orREGIONAL_MANAGED_PROXY. The value can be set toACTIVE 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.
  module Role
    # A value indicating that the enum field is not set.
    UNDEFINED_ROLE = 0

    # The ACTIVE subnet that is currently used.
    ACTIVE = 314_733_318

    # The BACKUP subnet that could be promoted to ACTIVE.
    BACKUP = 341_010_882
  end

  # The stack type for the subnet. If set to IPV4_ONLY, new VMs
  # in the subnet are assigned IPv4 addresses only. If set toIPV4_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 usingpatch.
  module StackType
    # A value indicating that the enum field is not set.
    UNDEFINED_STACK_TYPE = 0

    # New VMs in this subnet can have both IPv4 and IPv6 addresses.
    IPV4_IPV6 = 22_197_249

    # New VMs in this subnet will only be assigned IPv4 addresses.
    IPV4_ONLY = 22_373_798

    # New VMs in this subnet will only  be assigned IPv6 addresses.
    IPV6_ONLY = 79_632_100

    UNSPECIFIED_STACK_TYPE = 298_084_569
  end

  # Output only. [Output Only] The state of the subnetwork, which can be one of the
  # following values:READY: Subnetwork is created and ready to useDRAINING: 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 ofREADY
  module State
    # A value indicating that the enum field is not set.
    UNDEFINED_STATE = 0

    # Subnetwork is being drained.
    DRAINING = 480_455_402

    # Subnetwork is ready for use.
    READY = 77_848_963
  end
end

#resolve_subnet_mask ⇒ ::String

Returns Configures subnet mask resolution for this subnetwork. Check the ResolveSubnetMask enum for the list of possible values.

Returns:

  • (::String) —

    Configures subnet mask resolution for this subnetwork. Check the ResolveSubnetMask enum for the list of possible values.



79907
79908
79909
79910
79911
79912
79913
79914
79915
79916
79917
79918
79919
79920
79921
79922
79923
79924
79925
79926
79927
79928
79929
79930
79931
79932
79933
79934
79935
79936
79937
79938
79939
79940
79941
79942
79943
79944
79945
79946
79947
79948
79949
79950
79951
79952
79953
79954
79955
79956
79957
79958
79959
79960
79961
79962
79963
79964
79965
79966
79967
79968
79969
79970
79971
79972
79973
79974
79975
79976
79977
79978
79979
79980
79981
79982
79983
79984
79985
79986
79987
79988
79989
79990
79991
79992
79993
79994
79995
79996
79997
79998
79999
80000
80001
80002
80003
80004
80005
80006
80007
80008
80009
80010
80011
80012
80013
80014
80015
80016
80017
80018
80019
80020
80021
80022
80023
80024
80025
80026
80027
80028
80029
80030
80031
80032
80033
80034
80035
80036
80037
80038
80039
80040
80041
80042
80043
80044
80045
80046
80047
80048
80049
80050
80051
80052
80053
80054
80055
80056
80057
80058
80059
80060
80061
80062
80063
80064
80065
80066
80067
80068
80069
80070
80071
80072
80073
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 79907

class Subnetwork
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  module Ipv6AccessType
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_ACCESS_TYPE = 0

    # VMs on this subnet will be assigned IPv6 addresses that are accessible
    # via the Internet, as well as the VPC network.
    EXTERNAL = 35_607_499

    # VMs on this subnet will be assigned IPv6 addresses that are only
    # accessible over the VPC network.
    INTERNAL = 279_295_677

    UNSPECIFIED_IPV6_ACCESS_TYPE = 313_080_613
  end

  # Output only. [Output Only] Possible endpoints of this subnetwork. It can be one of the
  # following:
  #
  #    - VM_ONLY: The subnetwork can be used for creating instances and
  #    IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6
  #    ranges from a public delegated prefix and cannot be used to create NetLb.
  #    - VM_AND_FR: The subnetwork can be used for creating both VM
  #    instances and Forwarding Rules. It can also be used to reserve IPv6
  #    addresses with both VM and FR endpoint types. Such a subnetwork gets its
  #    IPv6 range from Google IP Pool directly.
  module Ipv6GceEndpoint
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_GCE_ENDPOINT = 0

    VM_AND_FR = 41_830_108

    VM_ONLY = 236_773_428
  end

  # This field is for internal use.
  #
  # This field can be both set at resource creation time and updated usingpatch.
  module PrivateIpv6GoogleAccess
    # A value indicating that the enum field is not set.
    UNDEFINED_PRIVATE_IPV6_GOOGLE_ACCESS = 0

    # Disable private IPv6 access to/from Google services.
    DISABLE_GOOGLE_ACCESS = 450_958_579

    # Bidirectional private IPv6 access to/from Google services.
    ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE = 427_975_994

    # Outbound private IPv6 access from VMs in this subnet to Google services.
    ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288_210_263
  end

  module Purpose
    # A value indicating that the enum field is not set.
    UNDEFINED_PURPOSE = 0

    # Subnet reserved for Global Envoy-based Load Balancing.
    GLOBAL_MANAGED_PROXY = 236_463_602

    # Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy
    # purpose, please use REGIONAL_MANAGED_PROXY instead.
    INTERNAL_HTTPS_LOAD_BALANCER = 248_748_889

    # Subnetwork will be used for Migration from one peered VPC to another.
    # (a transient state of subnetwork
    # while migrating resources from one project to another).
    PEER_MIGRATION = 491_902_225

    # Regular user created or automatically created subnet.
    PRIVATE = 403_485_027

    # Subnetwork used as source range for Private NAT Gateways.
    PRIVATE_NAT = 367_764_517

    # Regular user created or automatically created subnet.
    PRIVATE_RFC_1918 = 254_902_107

    # Subnetworks created for Private Service Connect in the producer network.
    PRIVATE_SERVICE_CONNECT = 48_134_724

    # Subnetwork used for Regional Envoy-based Load Balancing.
    REGIONAL_MANAGED_PROXY = 153_049_966
  end

  # Configures subnet mask resolution for this subnetwork.
  module ResolveSubnetMask
    # A value indicating that the enum field is not set.
    UNDEFINED_RESOLVE_SUBNET_MASK = 0

    # All ranges assigned to the VM NIC will respond to ARP.
    ARP_ALL_RANGES = 445_655_380

    # VMs will receive an ARP response from a VM instance owning the target IP
    # address within the subnetwork's primary CIDR range, if such a VM instance
    # exists and is running.
    ARP_BROADCAST_PRIMARY_RANGE = 123_887_458

    # Combines ARP_BROADCAST_PRIMARY_RANGE with MAC learning. Enables cache
    # mapping between IP addresses and custom MAC addresses of instances and
    # use of it to set the correct destination MAC address. If this option is
    # chosen, the subnetwork must have /24 or a smaller CIDR range.
    ARP_BROADCAST_PRIMARY_RANGE_WITH_LEARNING = 425_592_922

    # Only the primary range of the VM NIC will respond to ARP.
    ARP_PRIMARY_RANGE = 120_210_048
  end

  # The role of subnetwork. Currently, this field is only used when
  # purpose is set to GLOBAL_MANAGED_PROXY orREGIONAL_MANAGED_PROXY. The value can be set toACTIVE 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.
  module Role
    # A value indicating that the enum field is not set.
    UNDEFINED_ROLE = 0

    # The ACTIVE subnet that is currently used.
    ACTIVE = 314_733_318

    # The BACKUP subnet that could be promoted to ACTIVE.
    BACKUP = 341_010_882
  end

  # The stack type for the subnet. If set to IPV4_ONLY, new VMs
  # in the subnet are assigned IPv4 addresses only. If set toIPV4_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 usingpatch.
  module StackType
    # A value indicating that the enum field is not set.
    UNDEFINED_STACK_TYPE = 0

    # New VMs in this subnet can have both IPv4 and IPv6 addresses.
    IPV4_IPV6 = 22_197_249

    # New VMs in this subnet will only be assigned IPv4 addresses.
    IPV4_ONLY = 22_373_798

    # New VMs in this subnet will only  be assigned IPv6 addresses.
    IPV6_ONLY = 79_632_100

    UNSPECIFIED_STACK_TYPE = 298_084_569
  end

  # Output only. [Output Only] The state of the subnetwork, which can be one of the
  # following values:READY: Subnetwork is created and ready to useDRAINING: 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 ofREADY
  module State
    # A value indicating that the enum field is not set.
    UNDEFINED_STATE = 0

    # Subnetwork is being drained.
    DRAINING = 480_455_402

    # Subnetwork is ready for use.
    READY = 77_848_963
  end
end

#role ⇒ ::String

Returns The role of subnetwork. Currently, this field is only used when purpose is set to GLOBAL_MANAGED_PROXY orREGIONAL_MANAGED_PROXY. The value can be set toACTIVE 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:

  • (::String) —

    The role of subnetwork. Currently, this field is only used when purpose is set to GLOBAL_MANAGED_PROXY orREGIONAL_MANAGED_PROXY. The value can be set toACTIVE 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.



79907
79908
79909
79910
79911
79912
79913
79914
79915
79916
79917
79918
79919
79920
79921
79922
79923
79924
79925
79926
79927
79928
79929
79930
79931
79932
79933
79934
79935
79936
79937
79938
79939
79940
79941
79942
79943
79944
79945
79946
79947
79948
79949
79950
79951
79952
79953
79954
79955
79956
79957
79958
79959
79960
79961
79962
79963
79964
79965
79966
79967
79968
79969
79970
79971
79972
79973
79974
79975
79976
79977
79978
79979
79980
79981
79982
79983
79984
79985
79986
79987
79988
79989
79990
79991
79992
79993
79994
79995
79996
79997
79998
79999
80000
80001
80002
80003
80004
80005
80006
80007
80008
80009
80010
80011
80012
80013
80014
80015
80016
80017
80018
80019
80020
80021
80022
80023
80024
80025
80026
80027
80028
80029
80030
80031
80032
80033
80034
80035
80036
80037
80038
80039
80040
80041
80042
80043
80044
80045
80046
80047
80048
80049
80050
80051
80052
80053
80054
80055
80056
80057
80058
80059
80060
80061
80062
80063
80064
80065
80066
80067
80068
80069
80070
80071
80072
80073
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 79907

class Subnetwork
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  module Ipv6AccessType
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_ACCESS_TYPE = 0

    # VMs on this subnet will be assigned IPv6 addresses that are accessible
    # via the Internet, as well as the VPC network.
    EXTERNAL = 35_607_499

    # VMs on this subnet will be assigned IPv6 addresses that are only
    # accessible over the VPC network.
    INTERNAL = 279_295_677

    UNSPECIFIED_IPV6_ACCESS_TYPE = 313_080_613
  end

  # Output only. [Output Only] Possible endpoints of this subnetwork. It can be one of the
  # following:
  #
  #    - VM_ONLY: The subnetwork can be used for creating instances and
  #    IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6
  #    ranges from a public delegated prefix and cannot be used to create NetLb.
  #    - VM_AND_FR: The subnetwork can be used for creating both VM
  #    instances and Forwarding Rules. It can also be used to reserve IPv6
  #    addresses with both VM and FR endpoint types. Such a subnetwork gets its
  #    IPv6 range from Google IP Pool directly.
  module Ipv6GceEndpoint
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_GCE_ENDPOINT = 0

    VM_AND_FR = 41_830_108

    VM_ONLY = 236_773_428
  end

  # This field is for internal use.
  #
  # This field can be both set at resource creation time and updated usingpatch.
  module PrivateIpv6GoogleAccess
    # A value indicating that the enum field is not set.
    UNDEFINED_PRIVATE_IPV6_GOOGLE_ACCESS = 0

    # Disable private IPv6 access to/from Google services.
    DISABLE_GOOGLE_ACCESS = 450_958_579

    # Bidirectional private IPv6 access to/from Google services.
    ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE = 427_975_994

    # Outbound private IPv6 access from VMs in this subnet to Google services.
    ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288_210_263
  end

  module Purpose
    # A value indicating that the enum field is not set.
    UNDEFINED_PURPOSE = 0

    # Subnet reserved for Global Envoy-based Load Balancing.
    GLOBAL_MANAGED_PROXY = 236_463_602

    # Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy
    # purpose, please use REGIONAL_MANAGED_PROXY instead.
    INTERNAL_HTTPS_LOAD_BALANCER = 248_748_889

    # Subnetwork will be used for Migration from one peered VPC to another.
    # (a transient state of subnetwork
    # while migrating resources from one project to another).
    PEER_MIGRATION = 491_902_225

    # Regular user created or automatically created subnet.
    PRIVATE = 403_485_027

    # Subnetwork used as source range for Private NAT Gateways.
    PRIVATE_NAT = 367_764_517

    # Regular user created or automatically created subnet.
    PRIVATE_RFC_1918 = 254_902_107

    # Subnetworks created for Private Service Connect in the producer network.
    PRIVATE_SERVICE_CONNECT = 48_134_724

    # Subnetwork used for Regional Envoy-based Load Balancing.
    REGIONAL_MANAGED_PROXY = 153_049_966
  end

  # Configures subnet mask resolution for this subnetwork.
  module ResolveSubnetMask
    # A value indicating that the enum field is not set.
    UNDEFINED_RESOLVE_SUBNET_MASK = 0

    # All ranges assigned to the VM NIC will respond to ARP.
    ARP_ALL_RANGES = 445_655_380

    # VMs will receive an ARP response from a VM instance owning the target IP
    # address within the subnetwork's primary CIDR range, if such a VM instance
    # exists and is running.
    ARP_BROADCAST_PRIMARY_RANGE = 123_887_458

    # Combines ARP_BROADCAST_PRIMARY_RANGE with MAC learning. Enables cache
    # mapping between IP addresses and custom MAC addresses of instances and
    # use of it to set the correct destination MAC address. If this option is
    # chosen, the subnetwork must have /24 or a smaller CIDR range.
    ARP_BROADCAST_PRIMARY_RANGE_WITH_LEARNING = 425_592_922

    # Only the primary range of the VM NIC will respond to ARP.
    ARP_PRIMARY_RANGE = 120_210_048
  end

  # The role of subnetwork. Currently, this field is only used when
  # purpose is set to GLOBAL_MANAGED_PROXY orREGIONAL_MANAGED_PROXY. The value can be set toACTIVE 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.
  module Role
    # A value indicating that the enum field is not set.
    UNDEFINED_ROLE = 0

    # The ACTIVE subnet that is currently used.
    ACTIVE = 314_733_318

    # The BACKUP subnet that could be promoted to ACTIVE.
    BACKUP = 341_010_882
  end

  # The stack type for the subnet. If set to IPV4_ONLY, new VMs
  # in the subnet are assigned IPv4 addresses only. If set toIPV4_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 usingpatch.
  module StackType
    # A value indicating that the enum field is not set.
    UNDEFINED_STACK_TYPE = 0

    # New VMs in this subnet can have both IPv4 and IPv6 addresses.
    IPV4_IPV6 = 22_197_249

    # New VMs in this subnet will only be assigned IPv4 addresses.
    IPV4_ONLY = 22_373_798

    # New VMs in this subnet will only  be assigned IPv6 addresses.
    IPV6_ONLY = 79_632_100

    UNSPECIFIED_STACK_TYPE = 298_084_569
  end

  # Output only. [Output Only] The state of the subnetwork, which can be one of the
  # following values:READY: Subnetwork is created and ready to useDRAINING: 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 ofREADY
  module State
    # A value indicating that the enum field is not set.
    UNDEFINED_STATE = 0

    # Subnetwork is being drained.
    DRAINING = 480_455_402

    # Subnetwork is ready for use.
    READY = 77_848_963
  end
end

#secondary_ip_ranges ⇒ ::Array<::Google::Cloud::Compute::V1::SubnetworkSecondaryRange>

Returns 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 apatch request. Supports both IPv4 and IPv6 ranges.

Returns:

  • (::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 apatch request. Supports both IPv4 and IPv6 ranges.



79907
79908
79909
79910
79911
79912
79913
79914
79915
79916
79917
79918
79919
79920
79921
79922
79923
79924
79925
79926
79927
79928
79929
79930
79931
79932
79933
79934
79935
79936
79937
79938
79939
79940
79941
79942
79943
79944
79945
79946
79947
79948
79949
79950
79951
79952
79953
79954
79955
79956
79957
79958
79959
79960
79961
79962
79963
79964
79965
79966
79967
79968
79969
79970
79971
79972
79973
79974
79975
79976
79977
79978
79979
79980
79981
79982
79983
79984
79985
79986
79987
79988
79989
79990
79991
79992
79993
79994
79995
79996
79997
79998
79999
80000
80001
80002
80003
80004
80005
80006
80007
80008
80009
80010
80011
80012
80013
80014
80015
80016
80017
80018
80019
80020
80021
80022
80023
80024
80025
80026
80027
80028
80029
80030
80031
80032
80033
80034
80035
80036
80037
80038
80039
80040
80041
80042
80043
80044
80045
80046
80047
80048
80049
80050
80051
80052
80053
80054
80055
80056
80057
80058
80059
80060
80061
80062
80063
80064
80065
80066
80067
80068
80069
80070
80071
80072
80073
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 79907

class Subnetwork
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  module Ipv6AccessType
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_ACCESS_TYPE = 0

    # VMs on this subnet will be assigned IPv6 addresses that are accessible
    # via the Internet, as well as the VPC network.
    EXTERNAL = 35_607_499

    # VMs on this subnet will be assigned IPv6 addresses that are only
    # accessible over the VPC network.
    INTERNAL = 279_295_677

    UNSPECIFIED_IPV6_ACCESS_TYPE = 313_080_613
  end

  # Output only. [Output Only] Possible endpoints of this subnetwork. It can be one of the
  # following:
  #
  #    - VM_ONLY: The subnetwork can be used for creating instances and
  #    IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6
  #    ranges from a public delegated prefix and cannot be used to create NetLb.
  #    - VM_AND_FR: The subnetwork can be used for creating both VM
  #    instances and Forwarding Rules. It can also be used to reserve IPv6
  #    addresses with both VM and FR endpoint types. Such a subnetwork gets its
  #    IPv6 range from Google IP Pool directly.
  module Ipv6GceEndpoint
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_GCE_ENDPOINT = 0

    VM_AND_FR = 41_830_108

    VM_ONLY = 236_773_428
  end

  # This field is for internal use.
  #
  # This field can be both set at resource creation time and updated usingpatch.
  module PrivateIpv6GoogleAccess
    # A value indicating that the enum field is not set.
    UNDEFINED_PRIVATE_IPV6_GOOGLE_ACCESS = 0

    # Disable private IPv6 access to/from Google services.
    DISABLE_GOOGLE_ACCESS = 450_958_579

    # Bidirectional private IPv6 access to/from Google services.
    ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE = 427_975_994

    # Outbound private IPv6 access from VMs in this subnet to Google services.
    ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288_210_263
  end

  module Purpose
    # A value indicating that the enum field is not set.
    UNDEFINED_PURPOSE = 0

    # Subnet reserved for Global Envoy-based Load Balancing.
    GLOBAL_MANAGED_PROXY = 236_463_602

    # Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy
    # purpose, please use REGIONAL_MANAGED_PROXY instead.
    INTERNAL_HTTPS_LOAD_BALANCER = 248_748_889

    # Subnetwork will be used for Migration from one peered VPC to another.
    # (a transient state of subnetwork
    # while migrating resources from one project to another).
    PEER_MIGRATION = 491_902_225

    # Regular user created or automatically created subnet.
    PRIVATE = 403_485_027

    # Subnetwork used as source range for Private NAT Gateways.
    PRIVATE_NAT = 367_764_517

    # Regular user created or automatically created subnet.
    PRIVATE_RFC_1918 = 254_902_107

    # Subnetworks created for Private Service Connect in the producer network.
    PRIVATE_SERVICE_CONNECT = 48_134_724

    # Subnetwork used for Regional Envoy-based Load Balancing.
    REGIONAL_MANAGED_PROXY = 153_049_966
  end

  # Configures subnet mask resolution for this subnetwork.
  module ResolveSubnetMask
    # A value indicating that the enum field is not set.
    UNDEFINED_RESOLVE_SUBNET_MASK = 0

    # All ranges assigned to the VM NIC will respond to ARP.
    ARP_ALL_RANGES = 445_655_380

    # VMs will receive an ARP response from a VM instance owning the target IP
    # address within the subnetwork's primary CIDR range, if such a VM instance
    # exists and is running.
    ARP_BROADCAST_PRIMARY_RANGE = 123_887_458

    # Combines ARP_BROADCAST_PRIMARY_RANGE with MAC learning. Enables cache
    # mapping between IP addresses and custom MAC addresses of instances and
    # use of it to set the correct destination MAC address. If this option is
    # chosen, the subnetwork must have /24 or a smaller CIDR range.
    ARP_BROADCAST_PRIMARY_RANGE_WITH_LEARNING = 425_592_922

    # Only the primary range of the VM NIC will respond to ARP.
    ARP_PRIMARY_RANGE = 120_210_048
  end

  # The role of subnetwork. Currently, this field is only used when
  # purpose is set to GLOBAL_MANAGED_PROXY orREGIONAL_MANAGED_PROXY. The value can be set toACTIVE 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.
  module Role
    # A value indicating that the enum field is not set.
    UNDEFINED_ROLE = 0

    # The ACTIVE subnet that is currently used.
    ACTIVE = 314_733_318

    # The BACKUP subnet that could be promoted to ACTIVE.
    BACKUP = 341_010_882
  end

  # The stack type for the subnet. If set to IPV4_ONLY, new VMs
  # in the subnet are assigned IPv4 addresses only. If set toIPV4_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 usingpatch.
  module StackType
    # A value indicating that the enum field is not set.
    UNDEFINED_STACK_TYPE = 0

    # New VMs in this subnet can have both IPv4 and IPv6 addresses.
    IPV4_IPV6 = 22_197_249

    # New VMs in this subnet will only be assigned IPv4 addresses.
    IPV4_ONLY = 22_373_798

    # New VMs in this subnet will only  be assigned IPv6 addresses.
    IPV6_ONLY = 79_632_100

    UNSPECIFIED_STACK_TYPE = 298_084_569
  end

  # Output only. [Output Only] The state of the subnetwork, which can be one of the
  # following values:READY: Subnetwork is created and ready to useDRAINING: 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 ofREADY
  module State
    # A value indicating that the enum field is not set.
    UNDEFINED_STATE = 0

    # Subnetwork is being drained.
    DRAINING = 480_455_402

    # Subnetwork is ready for use.
    READY = 77_848_963
  end
end

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

Returns:

  • (::String) —

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



79907
79908
79909
79910
79911
79912
79913
79914
79915
79916
79917
79918
79919
79920
79921
79922
79923
79924
79925
79926
79927
79928
79929
79930
79931
79932
79933
79934
79935
79936
79937
79938
79939
79940
79941
79942
79943
79944
79945
79946
79947
79948
79949
79950
79951
79952
79953
79954
79955
79956
79957
79958
79959
79960
79961
79962
79963
79964
79965
79966
79967
79968
79969
79970
79971
79972
79973
79974
79975
79976
79977
79978
79979
79980
79981
79982
79983
79984
79985
79986
79987
79988
79989
79990
79991
79992
79993
79994
79995
79996
79997
79998
79999
80000
80001
80002
80003
80004
80005
80006
80007
80008
80009
80010
80011
80012
80013
80014
80015
80016
80017
80018
80019
80020
80021
80022
80023
80024
80025
80026
80027
80028
80029
80030
80031
80032
80033
80034
80035
80036
80037
80038
80039
80040
80041
80042
80043
80044
80045
80046
80047
80048
80049
80050
80051
80052
80053
80054
80055
80056
80057
80058
80059
80060
80061
80062
80063
80064
80065
80066
80067
80068
80069
80070
80071
80072
80073
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 79907

class Subnetwork
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  module Ipv6AccessType
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_ACCESS_TYPE = 0

    # VMs on this subnet will be assigned IPv6 addresses that are accessible
    # via the Internet, as well as the VPC network.
    EXTERNAL = 35_607_499

    # VMs on this subnet will be assigned IPv6 addresses that are only
    # accessible over the VPC network.
    INTERNAL = 279_295_677

    UNSPECIFIED_IPV6_ACCESS_TYPE = 313_080_613
  end

  # Output only. [Output Only] Possible endpoints of this subnetwork. It can be one of the
  # following:
  #
  #    - VM_ONLY: The subnetwork can be used for creating instances and
  #    IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6
  #    ranges from a public delegated prefix and cannot be used to create NetLb.
  #    - VM_AND_FR: The subnetwork can be used for creating both VM
  #    instances and Forwarding Rules. It can also be used to reserve IPv6
  #    addresses with both VM and FR endpoint types. Such a subnetwork gets its
  #    IPv6 range from Google IP Pool directly.
  module Ipv6GceEndpoint
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_GCE_ENDPOINT = 0

    VM_AND_FR = 41_830_108

    VM_ONLY = 236_773_428
  end

  # This field is for internal use.
  #
  # This field can be both set at resource creation time and updated usingpatch.
  module PrivateIpv6GoogleAccess
    # A value indicating that the enum field is not set.
    UNDEFINED_PRIVATE_IPV6_GOOGLE_ACCESS = 0

    # Disable private IPv6 access to/from Google services.
    DISABLE_GOOGLE_ACCESS = 450_958_579

    # Bidirectional private IPv6 access to/from Google services.
    ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE = 427_975_994

    # Outbound private IPv6 access from VMs in this subnet to Google services.
    ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288_210_263
  end

  module Purpose
    # A value indicating that the enum field is not set.
    UNDEFINED_PURPOSE = 0

    # Subnet reserved for Global Envoy-based Load Balancing.
    GLOBAL_MANAGED_PROXY = 236_463_602

    # Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy
    # purpose, please use REGIONAL_MANAGED_PROXY instead.
    INTERNAL_HTTPS_LOAD_BALANCER = 248_748_889

    # Subnetwork will be used for Migration from one peered VPC to another.
    # (a transient state of subnetwork
    # while migrating resources from one project to another).
    PEER_MIGRATION = 491_902_225

    # Regular user created or automatically created subnet.
    PRIVATE = 403_485_027

    # Subnetwork used as source range for Private NAT Gateways.
    PRIVATE_NAT = 367_764_517

    # Regular user created or automatically created subnet.
    PRIVATE_RFC_1918 = 254_902_107

    # Subnetworks created for Private Service Connect in the producer network.
    PRIVATE_SERVICE_CONNECT = 48_134_724

    # Subnetwork used for Regional Envoy-based Load Balancing.
    REGIONAL_MANAGED_PROXY = 153_049_966
  end

  # Configures subnet mask resolution for this subnetwork.
  module ResolveSubnetMask
    # A value indicating that the enum field is not set.
    UNDEFINED_RESOLVE_SUBNET_MASK = 0

    # All ranges assigned to the VM NIC will respond to ARP.
    ARP_ALL_RANGES = 445_655_380

    # VMs will receive an ARP response from a VM instance owning the target IP
    # address within the subnetwork's primary CIDR range, if such a VM instance
    # exists and is running.
    ARP_BROADCAST_PRIMARY_RANGE = 123_887_458

    # Combines ARP_BROADCAST_PRIMARY_RANGE with MAC learning. Enables cache
    # mapping between IP addresses and custom MAC addresses of instances and
    # use of it to set the correct destination MAC address. If this option is
    # chosen, the subnetwork must have /24 or a smaller CIDR range.
    ARP_BROADCAST_PRIMARY_RANGE_WITH_LEARNING = 425_592_922

    # Only the primary range of the VM NIC will respond to ARP.
    ARP_PRIMARY_RANGE = 120_210_048
  end

  # The role of subnetwork. Currently, this field is only used when
  # purpose is set to GLOBAL_MANAGED_PROXY orREGIONAL_MANAGED_PROXY. The value can be set toACTIVE 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.
  module Role
    # A value indicating that the enum field is not set.
    UNDEFINED_ROLE = 0

    # The ACTIVE subnet that is currently used.
    ACTIVE = 314_733_318

    # The BACKUP subnet that could be promoted to ACTIVE.
    BACKUP = 341_010_882
  end

  # The stack type for the subnet. If set to IPV4_ONLY, new VMs
  # in the subnet are assigned IPv4 addresses only. If set toIPV4_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 usingpatch.
  module StackType
    # A value indicating that the enum field is not set.
    UNDEFINED_STACK_TYPE = 0

    # New VMs in this subnet can have both IPv4 and IPv6 addresses.
    IPV4_IPV6 = 22_197_249

    # New VMs in this subnet will only be assigned IPv4 addresses.
    IPV4_ONLY = 22_373_798

    # New VMs in this subnet will only  be assigned IPv6 addresses.
    IPV6_ONLY = 79_632_100

    UNSPECIFIED_STACK_TYPE = 298_084_569
  end

  # Output only. [Output Only] The state of the subnetwork, which can be one of the
  # following values:READY: Subnetwork is created and ready to useDRAINING: 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 ofREADY
  module State
    # A value indicating that the enum field is not set.
    UNDEFINED_STATE = 0

    # Subnetwork is being drained.
    DRAINING = 480_455_402

    # Subnetwork is ready for use.
    READY = 77_848_963
  end
end

#stack_type ⇒ ::String

Returns The stack type for the subnet. If set to IPV4_ONLY, new VMs in the subnet are assigned IPv4 addresses only. If set toIPV4_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 usingpatch. Check the StackType enum for the list of possible values.

Returns:

  • (::String) —

    The stack type for the subnet. If set to IPV4_ONLY, new VMs in the subnet are assigned IPv4 addresses only. If set toIPV4_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 usingpatch. Check the StackType enum for the list of possible values.



79907
79908
79909
79910
79911
79912
79913
79914
79915
79916
79917
79918
79919
79920
79921
79922
79923
79924
79925
79926
79927
79928
79929
79930
79931
79932
79933
79934
79935
79936
79937
79938
79939
79940
79941
79942
79943
79944
79945
79946
79947
79948
79949
79950
79951
79952
79953
79954
79955
79956
79957
79958
79959
79960
79961
79962
79963
79964
79965
79966
79967
79968
79969
79970
79971
79972
79973
79974
79975
79976
79977
79978
79979
79980
79981
79982
79983
79984
79985
79986
79987
79988
79989
79990
79991
79992
79993
79994
79995
79996
79997
79998
79999
80000
80001
80002
80003
80004
80005
80006
80007
80008
80009
80010
80011
80012
80013
80014
80015
80016
80017
80018
80019
80020
80021
80022
80023
80024
80025
80026
80027
80028
80029
80030
80031
80032
80033
80034
80035
80036
80037
80038
80039
80040
80041
80042
80043
80044
80045
80046
80047
80048
80049
80050
80051
80052
80053
80054
80055
80056
80057
80058
80059
80060
80061
80062
80063
80064
80065
80066
80067
80068
80069
80070
80071
80072
80073
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 79907

class Subnetwork
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  module Ipv6AccessType
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_ACCESS_TYPE = 0

    # VMs on this subnet will be assigned IPv6 addresses that are accessible
    # via the Internet, as well as the VPC network.
    EXTERNAL = 35_607_499

    # VMs on this subnet will be assigned IPv6 addresses that are only
    # accessible over the VPC network.
    INTERNAL = 279_295_677

    UNSPECIFIED_IPV6_ACCESS_TYPE = 313_080_613
  end

  # Output only. [Output Only] Possible endpoints of this subnetwork. It can be one of the
  # following:
  #
  #    - VM_ONLY: The subnetwork can be used for creating instances and
  #    IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6
  #    ranges from a public delegated prefix and cannot be used to create NetLb.
  #    - VM_AND_FR: The subnetwork can be used for creating both VM
  #    instances and Forwarding Rules. It can also be used to reserve IPv6
  #    addresses with both VM and FR endpoint types. Such a subnetwork gets its
  #    IPv6 range from Google IP Pool directly.
  module Ipv6GceEndpoint
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_GCE_ENDPOINT = 0

    VM_AND_FR = 41_830_108

    VM_ONLY = 236_773_428
  end

  # This field is for internal use.
  #
  # This field can be both set at resource creation time and updated usingpatch.
  module PrivateIpv6GoogleAccess
    # A value indicating that the enum field is not set.
    UNDEFINED_PRIVATE_IPV6_GOOGLE_ACCESS = 0

    # Disable private IPv6 access to/from Google services.
    DISABLE_GOOGLE_ACCESS = 450_958_579

    # Bidirectional private IPv6 access to/from Google services.
    ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE = 427_975_994

    # Outbound private IPv6 access from VMs in this subnet to Google services.
    ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288_210_263
  end

  module Purpose
    # A value indicating that the enum field is not set.
    UNDEFINED_PURPOSE = 0

    # Subnet reserved for Global Envoy-based Load Balancing.
    GLOBAL_MANAGED_PROXY = 236_463_602

    # Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy
    # purpose, please use REGIONAL_MANAGED_PROXY instead.
    INTERNAL_HTTPS_LOAD_BALANCER = 248_748_889

    # Subnetwork will be used for Migration from one peered VPC to another.
    # (a transient state of subnetwork
    # while migrating resources from one project to another).
    PEER_MIGRATION = 491_902_225

    # Regular user created or automatically created subnet.
    PRIVATE = 403_485_027

    # Subnetwork used as source range for Private NAT Gateways.
    PRIVATE_NAT = 367_764_517

    # Regular user created or automatically created subnet.
    PRIVATE_RFC_1918 = 254_902_107

    # Subnetworks created for Private Service Connect in the producer network.
    PRIVATE_SERVICE_CONNECT = 48_134_724

    # Subnetwork used for Regional Envoy-based Load Balancing.
    REGIONAL_MANAGED_PROXY = 153_049_966
  end

  # Configures subnet mask resolution for this subnetwork.
  module ResolveSubnetMask
    # A value indicating that the enum field is not set.
    UNDEFINED_RESOLVE_SUBNET_MASK = 0

    # All ranges assigned to the VM NIC will respond to ARP.
    ARP_ALL_RANGES = 445_655_380

    # VMs will receive an ARP response from a VM instance owning the target IP
    # address within the subnetwork's primary CIDR range, if such a VM instance
    # exists and is running.
    ARP_BROADCAST_PRIMARY_RANGE = 123_887_458

    # Combines ARP_BROADCAST_PRIMARY_RANGE with MAC learning. Enables cache
    # mapping between IP addresses and custom MAC addresses of instances and
    # use of it to set the correct destination MAC address. If this option is
    # chosen, the subnetwork must have /24 or a smaller CIDR range.
    ARP_BROADCAST_PRIMARY_RANGE_WITH_LEARNING = 425_592_922

    # Only the primary range of the VM NIC will respond to ARP.
    ARP_PRIMARY_RANGE = 120_210_048
  end

  # The role of subnetwork. Currently, this field is only used when
  # purpose is set to GLOBAL_MANAGED_PROXY orREGIONAL_MANAGED_PROXY. The value can be set toACTIVE 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.
  module Role
    # A value indicating that the enum field is not set.
    UNDEFINED_ROLE = 0

    # The ACTIVE subnet that is currently used.
    ACTIVE = 314_733_318

    # The BACKUP subnet that could be promoted to ACTIVE.
    BACKUP = 341_010_882
  end

  # The stack type for the subnet. If set to IPV4_ONLY, new VMs
  # in the subnet are assigned IPv4 addresses only. If set toIPV4_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 usingpatch.
  module StackType
    # A value indicating that the enum field is not set.
    UNDEFINED_STACK_TYPE = 0

    # New VMs in this subnet can have both IPv4 and IPv6 addresses.
    IPV4_IPV6 = 22_197_249

    # New VMs in this subnet will only be assigned IPv4 addresses.
    IPV4_ONLY = 22_373_798

    # New VMs in this subnet will only  be assigned IPv6 addresses.
    IPV6_ONLY = 79_632_100

    UNSPECIFIED_STACK_TYPE = 298_084_569
  end

  # Output only. [Output Only] The state of the subnetwork, which can be one of the
  # following values:READY: Subnetwork is created and ready to useDRAINING: 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 ofREADY
  module State
    # A value indicating that the enum field is not set.
    UNDEFINED_STATE = 0

    # Subnetwork is being drained.
    DRAINING = 480_455_402

    # Subnetwork is ready for use.
    READY = 77_848_963
  end
end

#state ⇒ ::String

Returns Output only. [Output Only] The state of the subnetwork, which can be one of the following values:READY: Subnetwork is created and ready to useDRAINING: 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 ofREADY Check the State enum for the list of possible values.

Returns:

  • (::String) —

    Output only. [Output Only] The state of the subnetwork, which can be one of the following values:READY: Subnetwork is created and ready to useDRAINING: 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 ofREADY Check the State enum for the list of possible values.



79907
79908
79909
79910
79911
79912
79913
79914
79915
79916
79917
79918
79919
79920
79921
79922
79923
79924
79925
79926
79927
79928
79929
79930
79931
79932
79933
79934
79935
79936
79937
79938
79939
79940
79941
79942
79943
79944
79945
79946
79947
79948
79949
79950
79951
79952
79953
79954
79955
79956
79957
79958
79959
79960
79961
79962
79963
79964
79965
79966
79967
79968
79969
79970
79971
79972
79973
79974
79975
79976
79977
79978
79979
79980
79981
79982
79983
79984
79985
79986
79987
79988
79989
79990
79991
79992
79993
79994
79995
79996
79997
79998
79999
80000
80001
80002
80003
80004
80005
80006
80007
80008
80009
80010
80011
80012
80013
80014
80015
80016
80017
80018
80019
80020
80021
80022
80023
80024
80025
80026
80027
80028
80029
80030
80031
80032
80033
80034
80035
80036
80037
80038
80039
80040
80041
80042
80043
80044
80045
80046
80047
80048
80049
80050
80051
80052
80053
80054
80055
80056
80057
80058
80059
80060
80061
80062
80063
80064
80065
80066
80067
80068
80069
80070
80071
80072
80073
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 79907

class Subnetwork
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  module Ipv6AccessType
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_ACCESS_TYPE = 0

    # VMs on this subnet will be assigned IPv6 addresses that are accessible
    # via the Internet, as well as the VPC network.
    EXTERNAL = 35_607_499

    # VMs on this subnet will be assigned IPv6 addresses that are only
    # accessible over the VPC network.
    INTERNAL = 279_295_677

    UNSPECIFIED_IPV6_ACCESS_TYPE = 313_080_613
  end

  # Output only. [Output Only] Possible endpoints of this subnetwork. It can be one of the
  # following:
  #
  #    - VM_ONLY: The subnetwork can be used for creating instances and
  #    IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6
  #    ranges from a public delegated prefix and cannot be used to create NetLb.
  #    - VM_AND_FR: The subnetwork can be used for creating both VM
  #    instances and Forwarding Rules. It can also be used to reserve IPv6
  #    addresses with both VM and FR endpoint types. Such a subnetwork gets its
  #    IPv6 range from Google IP Pool directly.
  module Ipv6GceEndpoint
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_GCE_ENDPOINT = 0

    VM_AND_FR = 41_830_108

    VM_ONLY = 236_773_428
  end

  # This field is for internal use.
  #
  # This field can be both set at resource creation time and updated usingpatch.
  module PrivateIpv6GoogleAccess
    # A value indicating that the enum field is not set.
    UNDEFINED_PRIVATE_IPV6_GOOGLE_ACCESS = 0

    # Disable private IPv6 access to/from Google services.
    DISABLE_GOOGLE_ACCESS = 450_958_579

    # Bidirectional private IPv6 access to/from Google services.
    ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE = 427_975_994

    # Outbound private IPv6 access from VMs in this subnet to Google services.
    ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288_210_263
  end

  module Purpose
    # A value indicating that the enum field is not set.
    UNDEFINED_PURPOSE = 0

    # Subnet reserved for Global Envoy-based Load Balancing.
    GLOBAL_MANAGED_PROXY = 236_463_602

    # Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy
    # purpose, please use REGIONAL_MANAGED_PROXY instead.
    INTERNAL_HTTPS_LOAD_BALANCER = 248_748_889

    # Subnetwork will be used for Migration from one peered VPC to another.
    # (a transient state of subnetwork
    # while migrating resources from one project to another).
    PEER_MIGRATION = 491_902_225

    # Regular user created or automatically created subnet.
    PRIVATE = 403_485_027

    # Subnetwork used as source range for Private NAT Gateways.
    PRIVATE_NAT = 367_764_517

    # Regular user created or automatically created subnet.
    PRIVATE_RFC_1918 = 254_902_107

    # Subnetworks created for Private Service Connect in the producer network.
    PRIVATE_SERVICE_CONNECT = 48_134_724

    # Subnetwork used for Regional Envoy-based Load Balancing.
    REGIONAL_MANAGED_PROXY = 153_049_966
  end

  # Configures subnet mask resolution for this subnetwork.
  module ResolveSubnetMask
    # A value indicating that the enum field is not set.
    UNDEFINED_RESOLVE_SUBNET_MASK = 0

    # All ranges assigned to the VM NIC will respond to ARP.
    ARP_ALL_RANGES = 445_655_380

    # VMs will receive an ARP response from a VM instance owning the target IP
    # address within the subnetwork's primary CIDR range, if such a VM instance
    # exists and is running.
    ARP_BROADCAST_PRIMARY_RANGE = 123_887_458

    # Combines ARP_BROADCAST_PRIMARY_RANGE with MAC learning. Enables cache
    # mapping between IP addresses and custom MAC addresses of instances and
    # use of it to set the correct destination MAC address. If this option is
    # chosen, the subnetwork must have /24 or a smaller CIDR range.
    ARP_BROADCAST_PRIMARY_RANGE_WITH_LEARNING = 425_592_922

    # Only the primary range of the VM NIC will respond to ARP.
    ARP_PRIMARY_RANGE = 120_210_048
  end

  # The role of subnetwork. Currently, this field is only used when
  # purpose is set to GLOBAL_MANAGED_PROXY orREGIONAL_MANAGED_PROXY. The value can be set toACTIVE 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.
  module Role
    # A value indicating that the enum field is not set.
    UNDEFINED_ROLE = 0

    # The ACTIVE subnet that is currently used.
    ACTIVE = 314_733_318

    # The BACKUP subnet that could be promoted to ACTIVE.
    BACKUP = 341_010_882
  end

  # The stack type for the subnet. If set to IPV4_ONLY, new VMs
  # in the subnet are assigned IPv4 addresses only. If set toIPV4_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 usingpatch.
  module StackType
    # A value indicating that the enum field is not set.
    UNDEFINED_STACK_TYPE = 0

    # New VMs in this subnet can have both IPv4 and IPv6 addresses.
    IPV4_IPV6 = 22_197_249

    # New VMs in this subnet will only be assigned IPv4 addresses.
    IPV4_ONLY = 22_373_798

    # New VMs in this subnet will only  be assigned IPv6 addresses.
    IPV6_ONLY = 79_632_100

    UNSPECIFIED_STACK_TYPE = 298_084_569
  end

  # Output only. [Output Only] The state of the subnetwork, which can be one of the
  # following values:READY: Subnetwork is created and ready to useDRAINING: 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 ofREADY
  module State
    # A value indicating that the enum field is not set.
    UNDEFINED_STATE = 0

    # Subnetwork is being drained.
    DRAINING = 480_455_402

    # Subnetwork is ready for use.
    READY = 77_848_963
  end
end

#system_reserved_external_ipv6_ranges ⇒ ::Array<::String>

Returns Output only. [Output Only] The array of external IPv6 network ranges reserved from the subnetwork's external IPv6 range for system use.

Returns:

  • (::Array<::String>) —

    Output only. [Output Only] The array of external IPv6 network ranges reserved from the subnetwork's external IPv6 range for system use.



79907
79908
79909
79910
79911
79912
79913
79914
79915
79916
79917
79918
79919
79920
79921
79922
79923
79924
79925
79926
79927
79928
79929
79930
79931
79932
79933
79934
79935
79936
79937
79938
79939
79940
79941
79942
79943
79944
79945
79946
79947
79948
79949
79950
79951
79952
79953
79954
79955
79956
79957
79958
79959
79960
79961
79962
79963
79964
79965
79966
79967
79968
79969
79970
79971
79972
79973
79974
79975
79976
79977
79978
79979
79980
79981
79982
79983
79984
79985
79986
79987
79988
79989
79990
79991
79992
79993
79994
79995
79996
79997
79998
79999
80000
80001
80002
80003
80004
80005
80006
80007
80008
80009
80010
80011
80012
80013
80014
80015
80016
80017
80018
80019
80020
80021
80022
80023
80024
80025
80026
80027
80028
80029
80030
80031
80032
80033
80034
80035
80036
80037
80038
80039
80040
80041
80042
80043
80044
80045
80046
80047
80048
80049
80050
80051
80052
80053
80054
80055
80056
80057
80058
80059
80060
80061
80062
80063
80064
80065
80066
80067
80068
80069
80070
80071
80072
80073
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 79907

class Subnetwork
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  module Ipv6AccessType
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_ACCESS_TYPE = 0

    # VMs on this subnet will be assigned IPv6 addresses that are accessible
    # via the Internet, as well as the VPC network.
    EXTERNAL = 35_607_499

    # VMs on this subnet will be assigned IPv6 addresses that are only
    # accessible over the VPC network.
    INTERNAL = 279_295_677

    UNSPECIFIED_IPV6_ACCESS_TYPE = 313_080_613
  end

  # Output only. [Output Only] Possible endpoints of this subnetwork. It can be one of the
  # following:
  #
  #    - VM_ONLY: The subnetwork can be used for creating instances and
  #    IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6
  #    ranges from a public delegated prefix and cannot be used to create NetLb.
  #    - VM_AND_FR: The subnetwork can be used for creating both VM
  #    instances and Forwarding Rules. It can also be used to reserve IPv6
  #    addresses with both VM and FR endpoint types. Such a subnetwork gets its
  #    IPv6 range from Google IP Pool directly.
  module Ipv6GceEndpoint
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_GCE_ENDPOINT = 0

    VM_AND_FR = 41_830_108

    VM_ONLY = 236_773_428
  end

  # This field is for internal use.
  #
  # This field can be both set at resource creation time and updated usingpatch.
  module PrivateIpv6GoogleAccess
    # A value indicating that the enum field is not set.
    UNDEFINED_PRIVATE_IPV6_GOOGLE_ACCESS = 0

    # Disable private IPv6 access to/from Google services.
    DISABLE_GOOGLE_ACCESS = 450_958_579

    # Bidirectional private IPv6 access to/from Google services.
    ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE = 427_975_994

    # Outbound private IPv6 access from VMs in this subnet to Google services.
    ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288_210_263
  end

  module Purpose
    # A value indicating that the enum field is not set.
    UNDEFINED_PURPOSE = 0

    # Subnet reserved for Global Envoy-based Load Balancing.
    GLOBAL_MANAGED_PROXY = 236_463_602

    # Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy
    # purpose, please use REGIONAL_MANAGED_PROXY instead.
    INTERNAL_HTTPS_LOAD_BALANCER = 248_748_889

    # Subnetwork will be used for Migration from one peered VPC to another.
    # (a transient state of subnetwork
    # while migrating resources from one project to another).
    PEER_MIGRATION = 491_902_225

    # Regular user created or automatically created subnet.
    PRIVATE = 403_485_027

    # Subnetwork used as source range for Private NAT Gateways.
    PRIVATE_NAT = 367_764_517

    # Regular user created or automatically created subnet.
    PRIVATE_RFC_1918 = 254_902_107

    # Subnetworks created for Private Service Connect in the producer network.
    PRIVATE_SERVICE_CONNECT = 48_134_724

    # Subnetwork used for Regional Envoy-based Load Balancing.
    REGIONAL_MANAGED_PROXY = 153_049_966
  end

  # Configures subnet mask resolution for this subnetwork.
  module ResolveSubnetMask
    # A value indicating that the enum field is not set.
    UNDEFINED_RESOLVE_SUBNET_MASK = 0

    # All ranges assigned to the VM NIC will respond to ARP.
    ARP_ALL_RANGES = 445_655_380

    # VMs will receive an ARP response from a VM instance owning the target IP
    # address within the subnetwork's primary CIDR range, if such a VM instance
    # exists and is running.
    ARP_BROADCAST_PRIMARY_RANGE = 123_887_458

    # Combines ARP_BROADCAST_PRIMARY_RANGE with MAC learning. Enables cache
    # mapping between IP addresses and custom MAC addresses of instances and
    # use of it to set the correct destination MAC address. If this option is
    # chosen, the subnetwork must have /24 or a smaller CIDR range.
    ARP_BROADCAST_PRIMARY_RANGE_WITH_LEARNING = 425_592_922

    # Only the primary range of the VM NIC will respond to ARP.
    ARP_PRIMARY_RANGE = 120_210_048
  end

  # The role of subnetwork. Currently, this field is only used when
  # purpose is set to GLOBAL_MANAGED_PROXY orREGIONAL_MANAGED_PROXY. The value can be set toACTIVE 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.
  module Role
    # A value indicating that the enum field is not set.
    UNDEFINED_ROLE = 0

    # The ACTIVE subnet that is currently used.
    ACTIVE = 314_733_318

    # The BACKUP subnet that could be promoted to ACTIVE.
    BACKUP = 341_010_882
  end

  # The stack type for the subnet. If set to IPV4_ONLY, new VMs
  # in the subnet are assigned IPv4 addresses only. If set toIPV4_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 usingpatch.
  module StackType
    # A value indicating that the enum field is not set.
    UNDEFINED_STACK_TYPE = 0

    # New VMs in this subnet can have both IPv4 and IPv6 addresses.
    IPV4_IPV6 = 22_197_249

    # New VMs in this subnet will only be assigned IPv4 addresses.
    IPV4_ONLY = 22_373_798

    # New VMs in this subnet will only  be assigned IPv6 addresses.
    IPV6_ONLY = 79_632_100

    UNSPECIFIED_STACK_TYPE = 298_084_569
  end

  # Output only. [Output Only] The state of the subnetwork, which can be one of the
  # following values:READY: Subnetwork is created and ready to useDRAINING: 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 ofREADY
  module State
    # A value indicating that the enum field is not set.
    UNDEFINED_STATE = 0

    # Subnetwork is being drained.
    DRAINING = 480_455_402

    # Subnetwork is ready for use.
    READY = 77_848_963
  end
end

#system_reserved_internal_ipv6_ranges ⇒ ::Array<::String>

Returns Output only. [Output Only] The array of internal IPv6 network ranges reserved from the subnetwork's internal IPv6 range for system use.

Returns:

  • (::Array<::String>) —

    Output only. [Output Only] The array of internal IPv6 network ranges reserved from the subnetwork's internal IPv6 range for system use.



79907
79908
79909
79910
79911
79912
79913
79914
79915
79916
79917
79918
79919
79920
79921
79922
79923
79924
79925
79926
79927
79928
79929
79930
79931
79932
79933
79934
79935
79936
79937
79938
79939
79940
79941
79942
79943
79944
79945
79946
79947
79948
79949
79950
79951
79952
79953
79954
79955
79956
79957
79958
79959
79960
79961
79962
79963
79964
79965
79966
79967
79968
79969
79970
79971
79972
79973
79974
79975
79976
79977
79978
79979
79980
79981
79982
79983
79984
79985
79986
79987
79988
79989
79990
79991
79992
79993
79994
79995
79996
79997
79998
79999
80000
80001
80002
80003
80004
80005
80006
80007
80008
80009
80010
80011
80012
80013
80014
80015
80016
80017
80018
80019
80020
80021
80022
80023
80024
80025
80026
80027
80028
80029
80030
80031
80032
80033
80034
80035
80036
80037
80038
80039
80040
80041
80042
80043
80044
80045
80046
80047
80048
80049
80050
80051
80052
80053
80054
80055
80056
80057
80058
80059
80060
80061
80062
80063
80064
80065
80066
80067
80068
80069
80070
80071
80072
80073
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 79907

class Subnetwork
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  module Ipv6AccessType
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_ACCESS_TYPE = 0

    # VMs on this subnet will be assigned IPv6 addresses that are accessible
    # via the Internet, as well as the VPC network.
    EXTERNAL = 35_607_499

    # VMs on this subnet will be assigned IPv6 addresses that are only
    # accessible over the VPC network.
    INTERNAL = 279_295_677

    UNSPECIFIED_IPV6_ACCESS_TYPE = 313_080_613
  end

  # Output only. [Output Only] Possible endpoints of this subnetwork. It can be one of the
  # following:
  #
  #    - VM_ONLY: The subnetwork can be used for creating instances and
  #    IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6
  #    ranges from a public delegated prefix and cannot be used to create NetLb.
  #    - VM_AND_FR: The subnetwork can be used for creating both VM
  #    instances and Forwarding Rules. It can also be used to reserve IPv6
  #    addresses with both VM and FR endpoint types. Such a subnetwork gets its
  #    IPv6 range from Google IP Pool directly.
  module Ipv6GceEndpoint
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_GCE_ENDPOINT = 0

    VM_AND_FR = 41_830_108

    VM_ONLY = 236_773_428
  end

  # This field is for internal use.
  #
  # This field can be both set at resource creation time and updated usingpatch.
  module PrivateIpv6GoogleAccess
    # A value indicating that the enum field is not set.
    UNDEFINED_PRIVATE_IPV6_GOOGLE_ACCESS = 0

    # Disable private IPv6 access to/from Google services.
    DISABLE_GOOGLE_ACCESS = 450_958_579

    # Bidirectional private IPv6 access to/from Google services.
    ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE = 427_975_994

    # Outbound private IPv6 access from VMs in this subnet to Google services.
    ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288_210_263
  end

  module Purpose
    # A value indicating that the enum field is not set.
    UNDEFINED_PURPOSE = 0

    # Subnet reserved for Global Envoy-based Load Balancing.
    GLOBAL_MANAGED_PROXY = 236_463_602

    # Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy
    # purpose, please use REGIONAL_MANAGED_PROXY instead.
    INTERNAL_HTTPS_LOAD_BALANCER = 248_748_889

    # Subnetwork will be used for Migration from one peered VPC to another.
    # (a transient state of subnetwork
    # while migrating resources from one project to another).
    PEER_MIGRATION = 491_902_225

    # Regular user created or automatically created subnet.
    PRIVATE = 403_485_027

    # Subnetwork used as source range for Private NAT Gateways.
    PRIVATE_NAT = 367_764_517

    # Regular user created or automatically created subnet.
    PRIVATE_RFC_1918 = 254_902_107

    # Subnetworks created for Private Service Connect in the producer network.
    PRIVATE_SERVICE_CONNECT = 48_134_724

    # Subnetwork used for Regional Envoy-based Load Balancing.
    REGIONAL_MANAGED_PROXY = 153_049_966
  end

  # Configures subnet mask resolution for this subnetwork.
  module ResolveSubnetMask
    # A value indicating that the enum field is not set.
    UNDEFINED_RESOLVE_SUBNET_MASK = 0

    # All ranges assigned to the VM NIC will respond to ARP.
    ARP_ALL_RANGES = 445_655_380

    # VMs will receive an ARP response from a VM instance owning the target IP
    # address within the subnetwork's primary CIDR range, if such a VM instance
    # exists and is running.
    ARP_BROADCAST_PRIMARY_RANGE = 123_887_458

    # Combines ARP_BROADCAST_PRIMARY_RANGE with MAC learning. Enables cache
    # mapping between IP addresses and custom MAC addresses of instances and
    # use of it to set the correct destination MAC address. If this option is
    # chosen, the subnetwork must have /24 or a smaller CIDR range.
    ARP_BROADCAST_PRIMARY_RANGE_WITH_LEARNING = 425_592_922

    # Only the primary range of the VM NIC will respond to ARP.
    ARP_PRIMARY_RANGE = 120_210_048
  end

  # The role of subnetwork. Currently, this field is only used when
  # purpose is set to GLOBAL_MANAGED_PROXY orREGIONAL_MANAGED_PROXY. The value can be set toACTIVE 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.
  module Role
    # A value indicating that the enum field is not set.
    UNDEFINED_ROLE = 0

    # The ACTIVE subnet that is currently used.
    ACTIVE = 314_733_318

    # The BACKUP subnet that could be promoted to ACTIVE.
    BACKUP = 341_010_882
  end

  # The stack type for the subnet. If set to IPV4_ONLY, new VMs
  # in the subnet are assigned IPv4 addresses only. If set toIPV4_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 usingpatch.
  module StackType
    # A value indicating that the enum field is not set.
    UNDEFINED_STACK_TYPE = 0

    # New VMs in this subnet can have both IPv4 and IPv6 addresses.
    IPV4_IPV6 = 22_197_249

    # New VMs in this subnet will only be assigned IPv4 addresses.
    IPV4_ONLY = 22_373_798

    # New VMs in this subnet will only  be assigned IPv6 addresses.
    IPV6_ONLY = 79_632_100

    UNSPECIFIED_STACK_TYPE = 298_084_569
  end

  # Output only. [Output Only] The state of the subnetwork, which can be one of the
  # following values:READY: Subnetwork is created and ready to useDRAINING: 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 ofREADY
  module State
    # A value indicating that the enum field is not set.
    UNDEFINED_STATE = 0

    # Subnetwork is being drained.
    DRAINING = 480_455_402

    # Subnetwork is ready for use.
    READY = 77_848_963
  end
end

#utilization_details ⇒ ::Google::Cloud::Compute::V1::SubnetworkUtilizationDetails

Returns Output only. [Output Only] The current IP utilization of all subnetwork ranges. Contains the total number of allocated and free IPs in each range.

Returns:



79907
79908
79909
79910
79911
79912
79913
79914
79915
79916
79917
79918
79919
79920
79921
79922
79923
79924
79925
79926
79927
79928
79929
79930
79931
79932
79933
79934
79935
79936
79937
79938
79939
79940
79941
79942
79943
79944
79945
79946
79947
79948
79949
79950
79951
79952
79953
79954
79955
79956
79957
79958
79959
79960
79961
79962
79963
79964
79965
79966
79967
79968
79969
79970
79971
79972
79973
79974
79975
79976
79977
79978
79979
79980
79981
79982
79983
79984
79985
79986
79987
79988
79989
79990
79991
79992
79993
79994
79995
79996
79997
79998
79999
80000
80001
80002
80003
80004
80005
80006
80007
80008
80009
80010
80011
80012
80013
80014
80015
80016
80017
80018
80019
80020
80021
80022
80023
80024
80025
80026
80027
80028
80029
80030
80031
80032
80033
80034
80035
80036
80037
80038
80039
80040
80041
80042
80043
80044
80045
80046
80047
80048
80049
80050
80051
80052
80053
80054
80055
80056
80057
80058
80059
80060
80061
80062
80063
80064
80065
80066
80067
80068
80069
80070
80071
80072
80073
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 79907

class Subnetwork
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  module Ipv6AccessType
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_ACCESS_TYPE = 0

    # VMs on this subnet will be assigned IPv6 addresses that are accessible
    # via the Internet, as well as the VPC network.
    EXTERNAL = 35_607_499

    # VMs on this subnet will be assigned IPv6 addresses that are only
    # accessible over the VPC network.
    INTERNAL = 279_295_677

    UNSPECIFIED_IPV6_ACCESS_TYPE = 313_080_613
  end

  # Output only. [Output Only] Possible endpoints of this subnetwork. It can be one of the
  # following:
  #
  #    - VM_ONLY: The subnetwork can be used for creating instances and
  #    IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6
  #    ranges from a public delegated prefix and cannot be used to create NetLb.
  #    - VM_AND_FR: The subnetwork can be used for creating both VM
  #    instances and Forwarding Rules. It can also be used to reserve IPv6
  #    addresses with both VM and FR endpoint types. Such a subnetwork gets its
  #    IPv6 range from Google IP Pool directly.
  module Ipv6GceEndpoint
    # A value indicating that the enum field is not set.
    UNDEFINED_IPV6_GCE_ENDPOINT = 0

    VM_AND_FR = 41_830_108

    VM_ONLY = 236_773_428
  end

  # This field is for internal use.
  #
  # This field can be both set at resource creation time and updated usingpatch.
  module PrivateIpv6GoogleAccess
    # A value indicating that the enum field is not set.
    UNDEFINED_PRIVATE_IPV6_GOOGLE_ACCESS = 0

    # Disable private IPv6 access to/from Google services.
    DISABLE_GOOGLE_ACCESS = 450_958_579

    # Bidirectional private IPv6 access to/from Google services.
    ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE = 427_975_994

    # Outbound private IPv6 access from VMs in this subnet to Google services.
    ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 288_210_263
  end

  module Purpose
    # A value indicating that the enum field is not set.
    UNDEFINED_PURPOSE = 0

    # Subnet reserved for Global Envoy-based Load Balancing.
    GLOBAL_MANAGED_PROXY = 236_463_602

    # Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy
    # purpose, please use REGIONAL_MANAGED_PROXY instead.
    INTERNAL_HTTPS_LOAD_BALANCER = 248_748_889

    # Subnetwork will be used for Migration from one peered VPC to another.
    # (a transient state of subnetwork
    # while migrating resources from one project to another).
    PEER_MIGRATION = 491_902_225

    # Regular user created or automatically created subnet.
    PRIVATE = 403_485_027

    # Subnetwork used as source range for Private NAT Gateways.
    PRIVATE_NAT = 367_764_517

    # Regular user created or automatically created subnet.
    PRIVATE_RFC_1918 = 254_902_107

    # Subnetworks created for Private Service Connect in the producer network.
    PRIVATE_SERVICE_CONNECT = 48_134_724

    # Subnetwork used for Regional Envoy-based Load Balancing.
    REGIONAL_MANAGED_PROXY = 153_049_966
  end

  # Configures subnet mask resolution for this subnetwork.
  module ResolveSubnetMask
    # A value indicating that the enum field is not set.
    UNDEFINED_RESOLVE_SUBNET_MASK = 0

    # All ranges assigned to the VM NIC will respond to ARP.
    ARP_ALL_RANGES = 445_655_380

    # VMs will receive an ARP response from a VM instance owning the target IP
    # address within the subnetwork's primary CIDR range, if such a VM instance
    # exists and is running.
    ARP_BROADCAST_PRIMARY_RANGE = 123_887_458

    # Combines ARP_BROADCAST_PRIMARY_RANGE with MAC learning. Enables cache
    # mapping between IP addresses and custom MAC addresses of instances and
    # use of it to set the correct destination MAC address. If this option is
    # chosen, the subnetwork must have /24 or a smaller CIDR range.
    ARP_BROADCAST_PRIMARY_RANGE_WITH_LEARNING = 425_592_922

    # Only the primary range of the VM NIC will respond to ARP.
    ARP_PRIMARY_RANGE = 120_210_048
  end

  # The role of subnetwork. Currently, this field is only used when
  # purpose is set to GLOBAL_MANAGED_PROXY orREGIONAL_MANAGED_PROXY. The value can be set toACTIVE 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.
  module Role
    # A value indicating that the enum field is not set.
    UNDEFINED_ROLE = 0

    # The ACTIVE subnet that is currently used.
    ACTIVE = 314_733_318

    # The BACKUP subnet that could be promoted to ACTIVE.
    BACKUP = 341_010_882
  end

  # The stack type for the subnet. If set to IPV4_ONLY, new VMs
  # in the subnet are assigned IPv4 addresses only. If set toIPV4_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 usingpatch.
  module StackType
    # A value indicating that the enum field is not set.
    UNDEFINED_STACK_TYPE = 0

    # New VMs in this subnet can have both IPv4 and IPv6 addresses.
    IPV4_IPV6 = 22_197_249

    # New VMs in this subnet will only be assigned IPv4 addresses.
    IPV4_ONLY = 22_373_798

    # New VMs in this subnet will only  be assigned IPv6 addresses.
    IPV6_ONLY = 79_632_100

    UNSPECIFIED_STACK_TYPE = 298_084_569
  end

  # Output only. [Output Only] The state of the subnetwork, which can be one of the
  # following values:READY: Subnetwork is created and ready to useDRAINING: 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 ofREADY
  module State
    # A value indicating that the enum field is not set.
    UNDEFINED_STATE = 0

    # Subnetwork is being drained.
    DRAINING = 480_455_402

    # Subnetwork is ready for use.
    READY = 77_848_963
  end
end