Class: Google::Apis::ContainerV1beta1::IpAllocationPolicy

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

Overview

Configuration for controlling how IPs are allocated in the cluster.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Google::Apis::Core::JsonObjectSupport

#to_json

Methods included from Google::Apis::Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ IpAllocationPolicy

Returns a new instance of IpAllocationPolicy



1542
1543
1544
# File 'generated/google/apis/container_v1beta1/classes.rb', line 1542

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

Instance Attribute Details

#allow_route_overlapBoolean Also known as: allow_route_overlap?

If true, allow allocation of cluster CIDR ranges that overlap with certain kinds of network routes. By default we do not allow cluster CIDR ranges to intersect with any user declared routes. With allow_route_overlap == true, we allow overlapping with CIDR ranges that are larger than the cluster CIDR range. If this field is set to true, then cluster and services CIDRs must be fully-specified (e.g. 10.96.0.0/14, but not /14), which means: 1) When use_ip_aliases is true, cluster_ipv4_cidr_block and services_ipv4_cidr_block must be fully-specified. 2) When use_ip_aliases is false, cluster.cluster_ipv4_cidr muse be fully-specified. Corresponds to the JSON property allowRouteOverlap

Returns:

  • (Boolean)


1425
1426
1427
# File 'generated/google/apis/container_v1beta1/classes.rb', line 1425

def allow_route_overlap
  @allow_route_overlap
end

#cluster_ipv4_cidrString

This field is deprecated, use cluster_ipv4_cidr_block. Corresponds to the JSON property clusterIpv4Cidr

Returns:

  • (String)


1431
1432
1433
# File 'generated/google/apis/container_v1beta1/classes.rb', line 1431

def cluster_ipv4_cidr
  @cluster_ipv4_cidr
end

#cluster_ipv4_cidr_blockString

The IP address range for the cluster pod IPs. If this field is set, then cluster.cluster_ipv4_cidr must be left blank. This field is only applicable when use_ip_aliases is true. Set to blank to have a range chosen with the default size. Set to /netmask (e.g. /14) to have a range chosen with a specific netmask. Set to a CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use. Corresponds to the JSON property clusterIpv4CidrBlock

Returns:

  • (String)


1446
1447
1448
# File 'generated/google/apis/container_v1beta1/classes.rb', line 1446

def cluster_ipv4_cidr_block
  @cluster_ipv4_cidr_block
end

#cluster_secondary_range_nameString

The name of the secondary range to be used for the cluster CIDR block. The secondary range will be used for pod IP addresses. This must be an existing secondary range associated with the cluster subnetwork. This field is only applicable with use_ip_aliases and create_subnetwork is false. Corresponds to the JSON property clusterSecondaryRangeName

Returns:

  • (String)


1456
1457
1458
# File 'generated/google/apis/container_v1beta1/classes.rb', line 1456

def cluster_secondary_range_name
  @cluster_secondary_range_name
end

#create_subnetworkBoolean Also known as: create_subnetwork?

Whether a new subnetwork will be created automatically for the cluster. This field is only applicable when use_ip_aliases is true. Corresponds to the JSON property createSubnetwork

Returns:

  • (Boolean)


1462
1463
1464
# File 'generated/google/apis/container_v1beta1/classes.rb', line 1462

def create_subnetwork
  @create_subnetwork
end

#node_ipv4_cidrString

This field is deprecated, use node_ipv4_cidr_block. Corresponds to the JSON property nodeIpv4Cidr

Returns:

  • (String)


1468
1469
1470
# File 'generated/google/apis/container_v1beta1/classes.rb', line 1468

def node_ipv4_cidr
  @node_ipv4_cidr
end

#node_ipv4_cidr_blockString

The IP address range of the instance IPs in this cluster. This is applicable only if create_subnetwork is true. Set to blank to have a range chosen with the default size. Set to /netmask (e.g. /14) to have a range chosen with a specific netmask. Set to a CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use. Corresponds to the JSON property nodeIpv4CidrBlock

Returns:

  • (String)


1482
1483
1484
# File 'generated/google/apis/container_v1beta1/classes.rb', line 1482

def node_ipv4_cidr_block
  @node_ipv4_cidr_block
end

#services_ipv4_cidrString

This field is deprecated, use services_ipv4_cidr_block. Corresponds to the JSON property servicesIpv4Cidr

Returns:

  • (String)


1487
1488
1489
# File 'generated/google/apis/container_v1beta1/classes.rb', line 1487

def services_ipv4_cidr
  @services_ipv4_cidr
end

#services_ipv4_cidr_blockString

The IP address range of the services IPs in this cluster. If blank, a range will be automatically chosen with the default size. This field is only applicable when use_ip_aliases is true. Set to blank to have a range chosen with the default size. Set to /netmask (e.g. /14) to have a range chosen with a specific netmask. Set to a CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use. Corresponds to the JSON property servicesIpv4CidrBlock

Returns:

  • (String)


1502
1503
1504
# File 'generated/google/apis/container_v1beta1/classes.rb', line 1502

def services_ipv4_cidr_block
  @services_ipv4_cidr_block
end

#services_secondary_range_nameString

The name of the secondary range to be used as for the services CIDR block. The secondary range will be used for service ClusterIPs. This must be an existing secondary range associated with the cluster subnetwork. This field is only applicable with use_ip_aliases and create_subnetwork is false. Corresponds to the JSON property servicesSecondaryRangeName

Returns:

  • (String)


1512
1513
1514
# File 'generated/google/apis/container_v1beta1/classes.rb', line 1512

def services_secondary_range_name
  @services_secondary_range_name
end

#subnetwork_nameString

A custom subnetwork name to be used if create_subnetwork is true. If this field is empty, then an automatic name will be chosen for the new subnetwork. Corresponds to the JSON property subnetworkName

Returns:

  • (String)


1519
1520
1521
# File 'generated/google/apis/container_v1beta1/classes.rb', line 1519

def subnetwork_name
  @subnetwork_name
end

#tpu_ipv4_cidr_blockString

The IP address range of the Cloud TPUs in this cluster. If unspecified, a range will be automatically chosen with the default size. This field is only applicable when use_ip_aliases is true. If unspecified, the range will use the default size. Set to /netmask (e.g. /14) to have a range chosen with a specific netmask. Set to a CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use. Corresponds to the JSON property tpuIpv4CidrBlock

Returns:

  • (String)


1534
1535
1536
# File 'generated/google/apis/container_v1beta1/classes.rb', line 1534

def tpu_ipv4_cidr_block
  @tpu_ipv4_cidr_block
end

#use_ip_aliasesBoolean Also known as: use_ip_aliases?

Whether alias IPs will be used for pod IPs in the cluster. Corresponds to the JSON property useIpAliases

Returns:

  • (Boolean)


1539
1540
1541
# File 'generated/google/apis/container_v1beta1/classes.rb', line 1539

def use_ip_aliases
  @use_ip_aliases
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
# File 'generated/google/apis/container_v1beta1/classes.rb', line 1547

def update!(**args)
  @allow_route_overlap = args[:allow_route_overlap] if args.key?(:allow_route_overlap)
  @cluster_ipv4_cidr = args[:cluster_ipv4_cidr] if args.key?(:cluster_ipv4_cidr)
  @cluster_ipv4_cidr_block = args[:cluster_ipv4_cidr_block] if args.key?(:cluster_ipv4_cidr_block)
  @cluster_secondary_range_name = args[:cluster_secondary_range_name] if args.key?(:cluster_secondary_range_name)
  @create_subnetwork = args[:create_subnetwork] if args.key?(:create_subnetwork)
  @node_ipv4_cidr = args[:node_ipv4_cidr] if args.key?(:node_ipv4_cidr)
  @node_ipv4_cidr_block = args[:node_ipv4_cidr_block] if args.key?(:node_ipv4_cidr_block)
  @services_ipv4_cidr = args[:services_ipv4_cidr] if args.key?(:services_ipv4_cidr)
  @services_ipv4_cidr_block = args[:services_ipv4_cidr_block] if args.key?(:services_ipv4_cidr_block)
  @services_secondary_range_name = args[:services_secondary_range_name] if args.key?(:services_secondary_range_name)
  @subnetwork_name = args[:subnetwork_name] if args.key?(:subnetwork_name)
  @tpu_ipv4_cidr_block = args[:tpu_ipv4_cidr_block] if args.key?(:tpu_ipv4_cidr_block)
  @use_ip_aliases = args[:use_ip_aliases] if args.key?(:use_ip_aliases)
end