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.



50495
50496
50497
# File 'lib/google/apis/compute_alpha/classes.rb', line 50495

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)


50432
50433
50434
# File 'lib/google/apis/compute_alpha/classes.rb', line 50432

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)


50438
50439
50440
# File 'lib/google/apis/compute_alpha/classes.rb', line 50438

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)


50443
50444
50445
# File 'lib/google/apis/compute_alpha/classes.rb', line 50443

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)


50450
50451
50452
# File 'lib/google/apis/compute_alpha/classes.rb', line 50450

def ipv6_access_type
  @ipv6_access_type
end

#networkString

Network URL. Corresponds to the JSON property network

Returns:

  • (String)


50455
50456
50457
# File 'lib/google/apis/compute_alpha/classes.rb', line 50455

def network
  @network
end

#purposeString

The purpose of the resource. This field can be either PRIVATE_RFC_1918 or INTERNAL_HTTPS_LOAD_BALANCER. A subnetwork with purpose set to INTERNAL_HTTPS_LOAD_BALANCER is a user-created subnetwork that is reserved for Internal HTTP(S) Load Balancing. If unspecified, the purpose defaults to PRIVATE_RFC_1918. The enableFlowLogs field isn't supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER. Corresponds to the JSON property purpose

Returns:

  • (String)


50465
50466
50467
# File 'lib/google/apis/compute_alpha/classes.rb', line 50465

def purpose
  @purpose
end

#roleString

The role of subnetwork. Currently, this field is only used when purpose = INTERNAL_HTTPS_LOAD_BALANCER. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Internal HTTP(S) Load Balancing. 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)


50475
50476
50477
# File 'lib/google/apis/compute_alpha/classes.rb', line 50475

def role
  @role
end

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

Secondary IP ranges. Corresponds to the JSON property secondaryIpRanges



50480
50481
50482
# File 'lib/google/apis/compute_alpha/classes.rb', line 50480

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)


50488
50489
50490
# File 'lib/google/apis/compute_alpha/classes.rb', line 50488

def stack_type
  @stack_type
end

#subnetworkString

Subnetwork URL. Corresponds to the JSON property subnetwork

Returns:

  • (String)


50493
50494
50495
# File 'lib/google/apis/compute_alpha/classes.rb', line 50493

def subnetwork
  @subnetwork
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



50500
50501
50502
50503
50504
50505
50506
50507
50508
50509
50510
50511
# File 'lib/google/apis/compute_alpha/classes.rb', line 50500

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