Class: Google::Apis::ContainerV1beta1::IpAllocationPolicy
- Inherits:
-
Object
- Object
- Google::Apis::ContainerV1beta1::IpAllocationPolicy
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/container_v1beta1/classes.rb,
lib/google/apis/container_v1beta1/representations.rb,
lib/google/apis/container_v1beta1/representations.rb
Overview
Configuration for controlling how IPs are allocated in the cluster.
Instance Attribute Summary collapse
-
#additional_pod_ranges_config ⇒ Google::Apis::ContainerV1beta1::AdditionalPodRangesConfig
AdditionalPodRangesConfig is the configuration for additional pod secondary ranges supporting the ClusterUpdate message.
-
#allow_route_overlap ⇒ Boolean
(also: #allow_route_overlap?)
If true, allow allocation of cluster CIDR ranges that overlap with certain kinds of network routes.
-
#cluster_ipv4_cidr ⇒ String
This field is deprecated, use cluster_ipv4_cidr_block.
-
#cluster_ipv4_cidr_block ⇒ String
The IP address range for the cluster pod IPs.
-
#cluster_secondary_range_name ⇒ String
The name of the secondary range to be used for the cluster CIDR block.
-
#create_subnetwork ⇒ Boolean
(also: #create_subnetwork?)
Whether a new subnetwork will be created automatically for the cluster.
-
#default_pod_ipv4_range_utilization ⇒ Float
Output only.
-
#ipv6_access_type ⇒ String
The ipv6 access type (internal or external) when create_subnetwork is true Corresponds to the JSON property
ipv6AccessType
. -
#node_ipv4_cidr ⇒ String
This field is deprecated, use node_ipv4_cidr_block.
-
#node_ipv4_cidr_block ⇒ String
The IP address range of the instance IPs in this cluster.
-
#pod_cidr_overprovision_config ⇒ Google::Apis::ContainerV1beta1::PodCidrOverprovisionConfig
[PRIVATE FIELD] Config for pod CIDR size overprovisioning.
-
#services_ipv4_cidr ⇒ String
This field is deprecated, use services_ipv4_cidr_block.
-
#services_ipv4_cidr_block ⇒ String
The IP address range of the services IPs in this cluster.
-
#services_ipv6_cidr_block ⇒ String
Output only.
-
#services_secondary_range_name ⇒ String
The name of the secondary range to be used as for the services CIDR block.
-
#stack_type ⇒ String
IP stack type Corresponds to the JSON property
stackType
. -
#subnet_ipv6_cidr_block ⇒ String
Output only.
-
#subnetwork_name ⇒ String
A custom subnetwork name to be used if
create_subnetwork
is true. -
#tpu_ipv4_cidr_block ⇒ String
The IP address range of the Cloud TPUs in this cluster.
-
#use_ip_aliases ⇒ Boolean
(also: #use_ip_aliases?)
Whether alias IPs will be used for pod IPs in the cluster.
-
#use_routes ⇒ Boolean
(also: #use_routes?)
Whether routes will be used for pod IPs in the cluster.
Instance Method Summary collapse
-
#initialize(**args) ⇒ IpAllocationPolicy
constructor
A new instance of IpAllocationPolicy.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ IpAllocationPolicy
Returns a new instance of IpAllocationPolicy.
3438 3439 3440 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 3438 def initialize(**args) update!(**args) end |
Instance Attribute Details
#additional_pod_ranges_config ⇒ Google::Apis::ContainerV1beta1::AdditionalPodRangesConfig
AdditionalPodRangesConfig is the configuration for additional pod secondary
ranges supporting the ClusterUpdate message.
Corresponds to the JSON property additionalPodRangesConfig
3280 3281 3282 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 3280 def additional_pod_ranges_config @additional_pod_ranges_config end |
#allow_route_overlap ⇒ Boolean 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
3293 3294 3295 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 3293 def allow_route_overlap @allow_route_overlap end |
#cluster_ipv4_cidr ⇒ String
This field is deprecated, use cluster_ipv4_cidr_block.
Corresponds to the JSON property clusterIpv4Cidr
3299 3300 3301 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 3299 def cluster_ipv4_cidr @cluster_ipv4_cidr end |
#cluster_ipv4_cidr_block ⇒ String
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
3311 3312 3313 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 3311 def cluster_ipv4_cidr_block @cluster_ipv4_cidr_block end |
#cluster_secondary_range_name ⇒ String
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
3319 3320 3321 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 3319 def cluster_secondary_range_name @cluster_secondary_range_name end |
#create_subnetwork ⇒ Boolean 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
3325 3326 3327 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 3325 def create_subnetwork @create_subnetwork end |
#default_pod_ipv4_range_utilization ⇒ Float
Output only. The utilization of the cluster default IPv4 range for the pod.
The ratio is Usage/[Total number of IPs in the secondary range], Usage=
numNodes*numZones*podIPsPerNode.
Corresponds to the JSON property defaultPodIpv4RangeUtilization
3333 3334 3335 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 3333 def default_pod_ipv4_range_utilization @default_pod_ipv4_range_utilization end |
#ipv6_access_type ⇒ String
The ipv6 access type (internal or external) when create_subnetwork is true
Corresponds to the JSON property ipv6AccessType
3338 3339 3340 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 3338 def ipv6_access_type @ipv6_access_type end |
#node_ipv4_cidr ⇒ String
This field is deprecated, use node_ipv4_cidr_block.
Corresponds to the JSON property nodeIpv4Cidr
3343 3344 3345 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 3343 def node_ipv4_cidr @node_ipv4_cidr end |
#node_ipv4_cidr_block ⇒ String
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
3354 3355 3356 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 3354 def node_ipv4_cidr_block @node_ipv4_cidr_block end |
#pod_cidr_overprovision_config ⇒ Google::Apis::ContainerV1beta1::PodCidrOverprovisionConfig
[PRIVATE FIELD] Config for pod CIDR size overprovisioning.
Corresponds to the JSON property podCidrOverprovisionConfig
3359 3360 3361 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 3359 def pod_cidr_overprovision_config @pod_cidr_overprovision_config end |
#services_ipv4_cidr ⇒ String
This field is deprecated, use services_ipv4_cidr_block.
Corresponds to the JSON property servicesIpv4Cidr
3364 3365 3366 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 3364 def services_ipv4_cidr @services_ipv4_cidr end |
#services_ipv4_cidr_block ⇒ String
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
3376 3377 3378 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 3376 def services_ipv4_cidr_block @services_ipv4_cidr_block end |
#services_ipv6_cidr_block ⇒ String
Output only. The services IPv6 CIDR block for the cluster.
Corresponds to the JSON property servicesIpv6CidrBlock
3381 3382 3383 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 3381 def services_ipv6_cidr_block @services_ipv6_cidr_block end |
#services_secondary_range_name ⇒ String
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
3389 3390 3391 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 3389 def services_secondary_range_name @services_secondary_range_name end |
#stack_type ⇒ String
IP stack type
Corresponds to the JSON property stackType
3394 3395 3396 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 3394 def stack_type @stack_type end |
#subnet_ipv6_cidr_block ⇒ String
Output only. The subnet's IPv6 CIDR block used by nodes and pods.
Corresponds to the JSON property subnetIpv6CidrBlock
3399 3400 3401 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 3399 def subnet_ipv6_cidr_block @subnet_ipv6_cidr_block end |
#subnetwork_name ⇒ String
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
3405 3406 3407 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 3405 def subnetwork_name @subnetwork_name end |
#tpu_ipv4_cidr_block ⇒ String
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. This field is deprecated, use cluster.tpu_config.
ipv4_cidr_block instead.
Corresponds to the JSON property tpuIpv4CidrBlock
3418 3419 3420 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 3418 def tpu_ipv4_cidr_block @tpu_ipv4_cidr_block end |
#use_ip_aliases ⇒ Boolean Also known as: use_ip_aliases?
Whether alias IPs will be used for pod IPs in the cluster. This is used in
conjunction with use_routes. It cannot be true if use_routes is true. If both
use_ip_aliases and use_routes are false, then the server picks the default IP
allocation mode
Corresponds to the JSON property useIpAliases
3426 3427 3428 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 3426 def use_ip_aliases @use_ip_aliases end |
#use_routes ⇒ Boolean Also known as: use_routes?
Whether routes will be used for pod IPs in the cluster. This is used in
conjunction with use_ip_aliases. It cannot be true if use_ip_aliases is true.
If both use_ip_aliases and use_routes are false, then the server picks the
default IP allocation mode
Corresponds to the JSON property useRoutes
3435 3436 3437 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 3435 def use_routes @use_routes end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 3443 def update!(**args) @additional_pod_ranges_config = args[:additional_pod_ranges_config] if args.key?(:additional_pod_ranges_config) @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) @default_pod_ipv4_range_utilization = args[:default_pod_ipv4_range_utilization] if args.key?(:default_pod_ipv4_range_utilization) @ipv6_access_type = args[:ipv6_access_type] if args.key?(:ipv6_access_type) @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) @pod_cidr_overprovision_config = args[:pod_cidr_overprovision_config] if args.key?(:pod_cidr_overprovision_config) @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_ipv6_cidr_block = args[:services_ipv6_cidr_block] if args.key?(:services_ipv6_cidr_block) @services_secondary_range_name = args[:services_secondary_range_name] if args.key?(:services_secondary_range_name) @stack_type = args[:stack_type] if args.key?(:stack_type) @subnet_ipv6_cidr_block = args[:subnet_ipv6_cidr_block] if args.key?(:subnet_ipv6_cidr_block) @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) @use_routes = args[:use_routes] if args.key?(:use_routes) end |