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.
4116 4117 4118 |
# File 'lib/google/apis/container_v1/classes.rb', line 4116 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
3956 3957 3958 |
# File 'lib/google/apis/container_v1/classes.rb', line 3956 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
3962 3963 3964 |
# File 'lib/google/apis/container_v1/classes.rb', line 3962 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
3967 3968 3969 |
# File 'lib/google/apis/container_v1/classes.rb', line 3967 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
3972 3973 3974 |
# File 'lib/google/apis/container_v1/classes.rb', line 3972 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
3984 3985 3986 |
# File 'lib/google/apis/container_v1/classes.rb', line 3984 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
3992 3993 3994 |
# File 'lib/google/apis/container_v1/classes.rb', line 3992 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
3998 3999 4000 |
# File 'lib/google/apis/container_v1/classes.rb', line 3998 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
4006 4007 4008 |
# File 'lib/google/apis/container_v1/classes.rb', line 4006 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
4011 4012 4013 |
# File 'lib/google/apis/container_v1/classes.rb', line 4011 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
4016 4017 4018 |
# File 'lib/google/apis/container_v1/classes.rb', line 4016 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
4021 4022 4023 |
# File 'lib/google/apis/container_v1/classes.rb', line 4021 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
4032 4033 4034 |
# File 'lib/google/apis/container_v1/classes.rb', line 4032 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
4037 4038 4039 |
# File 'lib/google/apis/container_v1/classes.rb', line 4037 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
4042 4043 4044 |
# File 'lib/google/apis/container_v1/classes.rb', line 4042 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
4054 4055 4056 |
# File 'lib/google/apis/container_v1/classes.rb', line 4054 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
4059 4060 4061 |
# File 'lib/google/apis/container_v1/classes.rb', line 4059 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
4067 4068 4069 |
# File 'lib/google/apis/container_v1/classes.rb', line 4067 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
4072 4073 4074 |
# File 'lib/google/apis/container_v1/classes.rb', line 4072 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
4077 4078 4079 |
# File 'lib/google/apis/container_v1/classes.rb', line 4077 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
4083 4084 4085 |
# File 'lib/google/apis/container_v1/classes.rb', line 4083 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
4096 4097 4098 |
# File 'lib/google/apis/container_v1/classes.rb', line 4096 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
4104 4105 4106 |
# File 'lib/google/apis/container_v1/classes.rb', line 4104 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
4113 4114 4115 |
# File 'lib/google/apis/container_v1/classes.rb', line 4113 def use_routes @use_routes end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 |
# File 'lib/google/apis/container_v1/classes.rb', line 4121 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 |