Class: Google::Cloud::Compute::V1::UsableSubnetwork

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

Overview

Subnetwork which the current user has compute.subnetworks.use permission on.

Defined Under Namespace

Modules: Ipv6AccessType, Purpose, Role, StackType

Instance Attribute Summary collapse

Instance Attribute Details

#external_ipv6_prefix::String

Returns [Output Only] The external IPv6 address range that is assigned to this subnetwork.

Returns:

  • (::String)

    [Output Only] The external IPv6 address range that is assigned to this subnetwork.



36464
36465
36466
36467
36468
36469
36470
36471
36472
36473
36474
36475
36476
36477
36478
36479
36480
36481
36482
36483
36484
36485
36486
36487
36488
36489
36490
36491
36492
36493
36494
36495
36496
36497
36498
36499
36500
36501
36502
36503
36504
36505
36506
36507
36508
36509
36510
36511
36512
36513
36514
36515
36516
36517
36518
36519
36520
36521
36522
36523
36524
36525
36526
36527
36528
36529
36530
36531
36532
36533
36534
36535
36536
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 36464

class UsableSubnetwork
  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
  end

  # The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.
  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

  # The role of subnetwork. Currently, this field is only used when purpose is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Envoy-based load balancers in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request.
  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 to IPV4_IPV6, new VMs in the subnet can be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. This field can be both set at resource creation time and updated using patch.
  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
  end
end

#internal_ipv6_prefix::String

Returns [Output Only] The internal IPv6 address range that is assigned to this subnetwork.

Returns:

  • (::String)

    [Output Only] The internal IPv6 address range that is assigned to this subnetwork.



36464
36465
36466
36467
36468
36469
36470
36471
36472
36473
36474
36475
36476
36477
36478
36479
36480
36481
36482
36483
36484
36485
36486
36487
36488
36489
36490
36491
36492
36493
36494
36495
36496
36497
36498
36499
36500
36501
36502
36503
36504
36505
36506
36507
36508
36509
36510
36511
36512
36513
36514
36515
36516
36517
36518
36519
36520
36521
36522
36523
36524
36525
36526
36527
36528
36529
36530
36531
36532
36533
36534
36535
36536
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 36464

class UsableSubnetwork
  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
  end

  # The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.
  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

  # The role of subnetwork. Currently, this field is only used when purpose is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Envoy-based load balancers in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request.
  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 to IPV4_IPV6, new VMs in the subnet can be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. This field can be both set at resource creation time and updated using patch.
  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
  end
end

#ip_cidr_range::String

Returns The range of internal addresses that are owned by this subnetwork.

Returns:

  • (::String)

    The range of internal addresses that are owned by this subnetwork.



36464
36465
36466
36467
36468
36469
36470
36471
36472
36473
36474
36475
36476
36477
36478
36479
36480
36481
36482
36483
36484
36485
36486
36487
36488
36489
36490
36491
36492
36493
36494
36495
36496
36497
36498
36499
36500
36501
36502
36503
36504
36505
36506
36507
36508
36509
36510
36511
36512
36513
36514
36515
36516
36517
36518
36519
36520
36521
36522
36523
36524
36525
36526
36527
36528
36529
36530
36531
36532
36533
36534
36535
36536
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 36464

class UsableSubnetwork
  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
  end

  # The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.
  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

  # The role of subnetwork. Currently, this field is only used when purpose is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Envoy-based load balancers in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request.
  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 to IPV4_IPV6, new VMs in the subnet can be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. This field can be both set at resource creation time and updated using patch.
  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
  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.



36464
36465
36466
36467
36468
36469
36470
36471
36472
36473
36474
36475
36476
36477
36478
36479
36480
36481
36482
36483
36484
36485
36486
36487
36488
36489
36490
36491
36492
36493
36494
36495
36496
36497
36498
36499
36500
36501
36502
36503
36504
36505
36506
36507
36508
36509
36510
36511
36512
36513
36514
36515
36516
36517
36518
36519
36520
36521
36522
36523
36524
36525
36526
36527
36528
36529
36530
36531
36532
36533
36534
36535
36536
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 36464

class UsableSubnetwork
  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
  end

  # The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.
  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

  # The role of subnetwork. Currently, this field is only used when purpose is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Envoy-based load balancers in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request.
  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 to IPV4_IPV6, new VMs in the subnet can be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. This field can be both set at resource creation time and updated using patch.
  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
  end
end

#network::String

Returns Network URL.

Returns:

  • (::String)

    Network URL.



36464
36465
36466
36467
36468
36469
36470
36471
36472
36473
36474
36475
36476
36477
36478
36479
36480
36481
36482
36483
36484
36485
36486
36487
36488
36489
36490
36491
36492
36493
36494
36495
36496
36497
36498
36499
36500
36501
36502
36503
36504
36505
36506
36507
36508
36509
36510
36511
36512
36513
36514
36515
36516
36517
36518
36519
36520
36521
36522
36523
36524
36525
36526
36527
36528
36529
36530
36531
36532
36533
36534
36535
36536
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 36464

class UsableSubnetwork
  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
  end

  # The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.
  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

  # The role of subnetwork. Currently, this field is only used when purpose is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Envoy-based load balancers in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request.
  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 to IPV4_IPV6, new VMs in the subnet can be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. This field can be both set at resource creation time and updated using patch.
  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
  end
end

#purpose::String

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

Returns:

  • (::String)

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



36464
36465
36466
36467
36468
36469
36470
36471
36472
36473
36474
36475
36476
36477
36478
36479
36480
36481
36482
36483
36484
36485
36486
36487
36488
36489
36490
36491
36492
36493
36494
36495
36496
36497
36498
36499
36500
36501
36502
36503
36504
36505
36506
36507
36508
36509
36510
36511
36512
36513
36514
36515
36516
36517
36518
36519
36520
36521
36522
36523
36524
36525
36526
36527
36528
36529
36530
36531
36532
36533
36534
36535
36536
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 36464

class UsableSubnetwork
  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
  end

  # The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.
  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

  # The role of subnetwork. Currently, this field is only used when purpose is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Envoy-based load balancers in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request.
  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 to IPV4_IPV6, new VMs in the subnet can be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. This field can be both set at resource creation time and updated using patch.
  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
  end
end

#role::String

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

Returns:

  • (::String)

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



36464
36465
36466
36467
36468
36469
36470
36471
36472
36473
36474
36475
36476
36477
36478
36479
36480
36481
36482
36483
36484
36485
36486
36487
36488
36489
36490
36491
36492
36493
36494
36495
36496
36497
36498
36499
36500
36501
36502
36503
36504
36505
36506
36507
36508
36509
36510
36511
36512
36513
36514
36515
36516
36517
36518
36519
36520
36521
36522
36523
36524
36525
36526
36527
36528
36529
36530
36531
36532
36533
36534
36535
36536
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 36464

class UsableSubnetwork
  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
  end

  # The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.
  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

  # The role of subnetwork. Currently, this field is only used when purpose is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Envoy-based load balancers in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request.
  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 to IPV4_IPV6, new VMs in the subnet can be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. This field can be both set at resource creation time and updated using patch.
  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
  end
end

#secondary_ip_ranges::Array<::Google::Cloud::Compute::V1::UsableSubnetworkSecondaryRange>

Returns Secondary IP ranges.

Returns:



36464
36465
36466
36467
36468
36469
36470
36471
36472
36473
36474
36475
36476
36477
36478
36479
36480
36481
36482
36483
36484
36485
36486
36487
36488
36489
36490
36491
36492
36493
36494
36495
36496
36497
36498
36499
36500
36501
36502
36503
36504
36505
36506
36507
36508
36509
36510
36511
36512
36513
36514
36515
36516
36517
36518
36519
36520
36521
36522
36523
36524
36525
36526
36527
36528
36529
36530
36531
36532
36533
36534
36535
36536
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 36464

class UsableSubnetwork
  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
  end

  # The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.
  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

  # The role of subnetwork. Currently, this field is only used when purpose is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Envoy-based load balancers in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request.
  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 to IPV4_IPV6, new VMs in the subnet can be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. This field can be both set at resource creation time and updated using patch.
  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
  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 to IPV4_IPV6, new VMs in the subnet can be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. This field can be both set at resource creation time and updated using patch. Check the StackType enum for the list of possible values.

Returns:

  • (::String)

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



36464
36465
36466
36467
36468
36469
36470
36471
36472
36473
36474
36475
36476
36477
36478
36479
36480
36481
36482
36483
36484
36485
36486
36487
36488
36489
36490
36491
36492
36493
36494
36495
36496
36497
36498
36499
36500
36501
36502
36503
36504
36505
36506
36507
36508
36509
36510
36511
36512
36513
36514
36515
36516
36517
36518
36519
36520
36521
36522
36523
36524
36525
36526
36527
36528
36529
36530
36531
36532
36533
36534
36535
36536
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 36464

class UsableSubnetwork
  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
  end

  # The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.
  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

  # The role of subnetwork. Currently, this field is only used when purpose is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Envoy-based load balancers in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request.
  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 to IPV4_IPV6, new VMs in the subnet can be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. This field can be both set at resource creation time and updated using patch.
  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
  end
end

#subnetwork::String

Returns Subnetwork URL.

Returns:

  • (::String)

    Subnetwork URL.



36464
36465
36466
36467
36468
36469
36470
36471
36472
36473
36474
36475
36476
36477
36478
36479
36480
36481
36482
36483
36484
36485
36486
36487
36488
36489
36490
36491
36492
36493
36494
36495
36496
36497
36498
36499
36500
36501
36502
36503
36504
36505
36506
36507
36508
36509
36510
36511
36512
36513
36514
36515
36516
36517
36518
36519
36520
36521
36522
36523
36524
36525
36526
36527
36528
36529
36530
36531
36532
36533
36534
36535
36536
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 36464

class UsableSubnetwork
  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
  end

  # The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.
  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

  # The role of subnetwork. Currently, this field is only used when purpose is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Envoy-based load balancers in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request.
  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 to IPV4_IPV6, new VMs in the subnet can be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. This field can be both set at resource creation time and updated using patch.
  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
  end
end