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_ip_ranges_configs ⇒ Array<Google::Apis::ContainerV1beta1::AdditionalIpRangesConfig>
Output only.
-
#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.
-
#auto_ipam_config ⇒ Google::Apis::ContainerV1beta1::AutoIpamConfig
AutoIpamConfig contains all information related to Auto IPAM Corresponds to the JSON property
autoIpamConfig. -
#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. -
#network_tier_config ⇒ Google::Apis::ContainerV1beta1::NetworkTierConfig
NetworkTierConfig contains network tier information.
-
#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_subnetworkis 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.
4761 4762 4763 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 4761 def initialize(**args) update!(**args) end |
Instance Attribute Details
#additional_ip_ranges_configs ⇒ Array<Google::Apis::ContainerV1beta1::AdditionalIpRangesConfig>
Output only. The additional IP ranges that are added to the cluster. These IP
ranges can be used by new node pools to allocate node and pod IPs
automatically. Each AdditionalIPRangesConfig corresponds to a single
subnetwork. Once a range is removed it will not show up in IPAllocationPolicy.
Corresponds to the JSON property additionalIpRangesConfigs
4587 4588 4589 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 4587 def additional_ip_ranges_configs @additional_ip_ranges_configs end |
#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
4593 4594 4595 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 4593 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
4606 4607 4608 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 4606 def allow_route_overlap @allow_route_overlap end |
#auto_ipam_config ⇒ Google::Apis::ContainerV1beta1::AutoIpamConfig
AutoIpamConfig contains all information related to Auto IPAM
Corresponds to the JSON property autoIpamConfig
4612 4613 4614 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 4612 def auto_ipam_config @auto_ipam_config end |
#cluster_ipv4_cidr ⇒ String
This field is deprecated, use cluster_ipv4_cidr_block.
Corresponds to the JSON property clusterIpv4Cidr
4617 4618 4619 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 4617 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
4629 4630 4631 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 4629 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
4637 4638 4639 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 4637 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
4643 4644 4645 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 4643 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
4651 4652 4653 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 4651 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
4656 4657 4658 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 4656 def ipv6_access_type @ipv6_access_type end |
#network_tier_config ⇒ Google::Apis::ContainerV1beta1::NetworkTierConfig
NetworkTierConfig contains network tier information.
Corresponds to the JSON property networkTierConfig
4661 4662 4663 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 4661 def network_tier_config @network_tier_config end |
#node_ipv4_cidr ⇒ String
This field is deprecated, use node_ipv4_cidr_block.
Corresponds to the JSON property nodeIpv4Cidr
4666 4667 4668 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 4666 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
4677 4678 4679 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 4677 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
4682 4683 4684 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 4682 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
4687 4688 4689 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 4687 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
4699 4700 4701 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 4699 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
4704 4705 4706 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 4704 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
4712 4713 4714 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 4712 def services_secondary_range_name @services_secondary_range_name end |
#stack_type ⇒ String
IP stack type
Corresponds to the JSON property stackType
4717 4718 4719 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 4717 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
4722 4723 4724 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 4722 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
4728 4729 4730 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 4728 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
4741 4742 4743 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 4741 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
4749 4750 4751 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 4749 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
4758 4759 4760 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 4758 def use_routes @use_routes end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 4766 def update!(**args) @additional_ip_ranges_configs = args[:additional_ip_ranges_configs] if args.key?(:additional_ip_ranges_configs) @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) @auto_ipam_config = args[:auto_ipam_config] if args.key?(:auto_ipam_config) @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) @network_tier_config = args[:network_tier_config] if args.key?(:network_tier_config) @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 |