Class: Google::Apis::ContainerV1::IpAllocationPolicy
- Inherits:
-
Object
- Object
- Google::Apis::ContainerV1::IpAllocationPolicy
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/container_v1/classes.rb,
lib/google/apis/container_v1/representations.rb,
lib/google/apis/container_v1/representations.rb
Overview
Configuration for controlling how IPs are allocated in the cluster.
Instance Attribute Summary collapse
-
#additional_ip_ranges_configs ⇒ Array<Google::Apis::ContainerV1::AdditionalIpRangesConfig>
Output only.
-
#additional_pod_ranges_config ⇒ Google::Apis::ContainerV1::AdditionalPodRangesConfig
AdditionalPodRangesConfig is the configuration for additional pod secondary ranges supporting the ClusterUpdate message.
-
#auto_ipam_config ⇒ Google::Apis::ContainerV1::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::ContainerV1::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::ContainerV1::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
The IP stack type of the cluster 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.
3912 3913 3914 |
# File 'lib/google/apis/container_v1/classes.rb', line 3912 def initialize(**args) update!(**args) end |
Instance Attribute Details
#additional_ip_ranges_configs ⇒ Array<Google::Apis::ContainerV1::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
3752 3753 3754 |
# File 'lib/google/apis/container_v1/classes.rb', line 3752 def additional_ip_ranges_configs @additional_ip_ranges_configs end |
#additional_pod_ranges_config ⇒ Google::Apis::ContainerV1::AdditionalPodRangesConfig
AdditionalPodRangesConfig is the configuration for additional pod secondary
ranges supporting the ClusterUpdate message.
Corresponds to the JSON property additionalPodRangesConfig
3758 3759 3760 |
# File 'lib/google/apis/container_v1/classes.rb', line 3758 def additional_pod_ranges_config @additional_pod_ranges_config end |
#auto_ipam_config ⇒ Google::Apis::ContainerV1::AutoIpamConfig
AutoIpamConfig contains all information related to Auto IPAM
Corresponds to the JSON property autoIpamConfig
3763 3764 3765 |
# File 'lib/google/apis/container_v1/classes.rb', line 3763 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
3768 3769 3770 |
# File 'lib/google/apis/container_v1/classes.rb', line 3768 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
3780 3781 3782 |
# File 'lib/google/apis/container_v1/classes.rb', line 3780 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 is true and create_subnetwork is false.
Corresponds to the JSON property clusterSecondaryRangeName
3788 3789 3790 |
# File 'lib/google/apis/container_v1/classes.rb', line 3788 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
3794 3795 3796 |
# File 'lib/google/apis/container_v1/classes.rb', line 3794 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
3802 3803 3804 |
# File 'lib/google/apis/container_v1/classes.rb', line 3802 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
3807 3808 3809 |
# File 'lib/google/apis/container_v1/classes.rb', line 3807 def ipv6_access_type @ipv6_access_type end |
#network_tier_config ⇒ Google::Apis::ContainerV1::NetworkTierConfig
NetworkTierConfig contains network tier information.
Corresponds to the JSON property networkTierConfig
3812 3813 3814 |
# File 'lib/google/apis/container_v1/classes.rb', line 3812 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
3817 3818 3819 |
# File 'lib/google/apis/container_v1/classes.rb', line 3817 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
3828 3829 3830 |
# File 'lib/google/apis/container_v1/classes.rb', line 3828 def node_ipv4_cidr_block @node_ipv4_cidr_block end |
#pod_cidr_overprovision_config ⇒ Google::Apis::ContainerV1::PodCidrOverprovisionConfig
[PRIVATE FIELD] Config for pod CIDR size overprovisioning.
Corresponds to the JSON property podCidrOverprovisionConfig
3833 3834 3835 |
# File 'lib/google/apis/container_v1/classes.rb', line 3833 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
3838 3839 3840 |
# File 'lib/google/apis/container_v1/classes.rb', line 3838 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
3850 3851 3852 |
# File 'lib/google/apis/container_v1/classes.rb', line 3850 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
3855 3856 3857 |
# File 'lib/google/apis/container_v1/classes.rb', line 3855 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 is true and create_subnetwork is false.
Corresponds to the JSON property servicesSecondaryRangeName
3863 3864 3865 |
# File 'lib/google/apis/container_v1/classes.rb', line 3863 def services_secondary_range_name @services_secondary_range_name end |
#stack_type ⇒ String
The IP stack type of the cluster
Corresponds to the JSON property stackType
3868 3869 3870 |
# File 'lib/google/apis/container_v1/classes.rb', line 3868 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
3873 3874 3875 |
# File 'lib/google/apis/container_v1/classes.rb', line 3873 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
3879 3880 3881 |
# File 'lib/google/apis/container_v1/classes.rb', line 3879 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 due to the deprecation of 2VM
TPU. The end of life date for 2VM TPU is 2025-04-25.
Corresponds to the JSON property tpuIpv4CidrBlock
3892 3893 3894 |
# File 'lib/google/apis/container_v1/classes.rb', line 3892 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
3900 3901 3902 |
# File 'lib/google/apis/container_v1/classes.rb', line 3900 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
3909 3910 3911 |
# File 'lib/google/apis/container_v1/classes.rb', line 3909 def use_routes @use_routes end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 |
# File 'lib/google/apis/container_v1/classes.rb', line 3917 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) @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 |