Class: Google::Apis::ComputeAlpha::UsableSubnetwork

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
lib/google/apis/compute_alpha/classes.rb,
lib/google/apis/compute_alpha/representations.rb,
lib/google/apis/compute_alpha/representations.rb

Overview

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ UsableSubnetwork

Returns a new instance of UsableSubnetwork.



54344
54345
54346
# File 'lib/google/apis/compute_alpha/classes.rb', line 54344

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#external_ipv6_prefixString

[Output Only] The external IPv6 address range that is assigned to this subnetwork. Corresponds to the JSON property externalIpv6Prefix

Returns:

  • (String)


54275
54276
54277
# File 'lib/google/apis/compute_alpha/classes.rb', line 54275

def external_ipv6_prefix
  @external_ipv6_prefix
end

#internal_ipv6_prefixString

[Output Only] The internal IPv6 address range that is assigned to this subnetwork. Corresponds to the JSON property internalIpv6Prefix

Returns:

  • (String)


54281
54282
54283
# File 'lib/google/apis/compute_alpha/classes.rb', line 54281

def internal_ipv6_prefix
  @internal_ipv6_prefix
end

#ip_cidr_rangeString

The range of internal addresses that are owned by this subnetwork. Corresponds to the JSON property ipCidrRange

Returns:

  • (String)


54286
54287
54288
# File 'lib/google/apis/compute_alpha/classes.rb', line 54286

def ip_cidr_range
  @ip_cidr_range
end

#ipv6_access_typeString

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. Corresponds to the JSON property ipv6AccessType

Returns:

  • (String)


54293
54294
54295
# File 'lib/google/apis/compute_alpha/classes.rb', line 54293

def ipv6_access_type
  @ipv6_access_type
end

#networkString

Network URL. Corresponds to the JSON property network

Returns:

  • (String)


54298
54299
54300
# File 'lib/google/apis/compute_alpha/classes.rb', line 54298

def network
  @network
end

#purposeString

The purpose of the resource. This field can be either PRIVATE, REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or INTERNAL_HTTPS_LOAD_BALANCER. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. A subnet with purpose set to REGIONAL_MANAGED_PROXY is a user-created subnetwork that is reserved for regional 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 INTERNAL_HTTPS_LOAD_BALANCER is a proxy-only subnet that can be used only by regional internal HTTP(S) load balancers. Note that REGIONAL_MANAGED_PROXY is the preferred setting for all regional Envoy load balancers. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY. Corresponds to the JSON property purpose

Returns:

  • (String)


54315
54316
54317
# File 'lib/google/apis/compute_alpha/classes.rb', line 54315

def purpose
  @purpose
end

#roleString

The role of subnetwork. Currently, this field is only used when purpose = 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. Corresponds to the JSON property role

Returns:

  • (String)


54324
54325
54326
# File 'lib/google/apis/compute_alpha/classes.rb', line 54324

def role
  @role
end

#secondary_ip_rangesArray<Google::Apis::ComputeAlpha::UsableSubnetworkSecondaryRange>

Secondary IP ranges. Corresponds to the JSON property secondaryIpRanges



54329
54330
54331
# File 'lib/google/apis/compute_alpha/classes.rb', line 54329

def secondary_ip_ranges
  @secondary_ip_ranges
end

#stack_typeString

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. Corresponds to the JSON property stackType

Returns:

  • (String)


54337
54338
54339
# File 'lib/google/apis/compute_alpha/classes.rb', line 54337

def stack_type
  @stack_type
end

#subnetworkString

Subnetwork URL. Corresponds to the JSON property subnetwork

Returns:

  • (String)


54342
54343
54344
# File 'lib/google/apis/compute_alpha/classes.rb', line 54342

def subnetwork
  @subnetwork
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



54349
54350
54351
54352
54353
54354
54355
54356
54357
54358
54359
54360
# File 'lib/google/apis/compute_alpha/classes.rb', line 54349

def update!(**args)
  @external_ipv6_prefix = args[:external_ipv6_prefix] if args.key?(:external_ipv6_prefix)
  @internal_ipv6_prefix = args[:internal_ipv6_prefix] if args.key?(:internal_ipv6_prefix)
  @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
  @ipv6_access_type = args[:ipv6_access_type] if args.key?(:ipv6_access_type)
  @network = args[:network] if args.key?(:network)
  @purpose = args[:purpose] if args.key?(:purpose)
  @role = args[:role] if args.key?(:role)
  @secondary_ip_ranges = args[:secondary_ip_ranges] if args.key?(:secondary_ip_ranges)
  @stack_type = args[:stack_type] if args.key?(:stack_type)
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
end