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



1395
1396
1397
# File 'generated/google/apis/container_v1beta1/classes.rb', line 1395

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)


1278
1279
1280
# File 'generated/google/apis/container_v1beta1/classes.rb', line 1278

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)


1284
1285
1286
# File 'generated/google/apis/container_v1beta1/classes.rb', line 1284

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)


1299
1300
1301
# File 'generated/google/apis/container_v1beta1/classes.rb', line 1299

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)


1309
1310
1311
# File 'generated/google/apis/container_v1beta1/classes.rb', line 1309

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)


1315
1316
1317
# File 'generated/google/apis/container_v1beta1/classes.rb', line 1315

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)


1321
1322
1323
# File 'generated/google/apis/container_v1beta1/classes.rb', line 1321

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)


1335
1336
1337
# File 'generated/google/apis/container_v1beta1/classes.rb', line 1335

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)


1340
1341
1342
# File 'generated/google/apis/container_v1beta1/classes.rb', line 1340

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)


1355
1356
1357
# File 'generated/google/apis/container_v1beta1/classes.rb', line 1355

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)


1365
1366
1367
# File 'generated/google/apis/container_v1beta1/classes.rb', line 1365

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)


1372
1373
1374
# File 'generated/google/apis/container_v1beta1/classes.rb', line 1372

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)


1387
1388
1389
# File 'generated/google/apis/container_v1beta1/classes.rb', line 1387

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)


1392
1393
1394
# File 'generated/google/apis/container_v1beta1/classes.rb', line 1392

def use_ip_aliases
  @use_ip_aliases
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
# File 'generated/google/apis/container_v1beta1/classes.rb', line 1400

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