|
46 | 46 | CONST_OS_SKU_CBLMARINER, CONST_OS_SKU_MARINER, |
47 | 47 | CONST_OS_SKU_UBUNTU, CONST_OS_SKU_UBUNTU2204, CONST_OS_SKU_UBUNTU2404, |
48 | 48 | CONST_OS_SKU_WINDOWS2019, CONST_OS_SKU_WINDOWS2022, CONST_OS_SKU_WINDOWS2025, |
| 49 | + CONST_NAT_GATEWAY_SKU_STANDARD, CONST_NAT_GATEWAY_SKU_STANDARD_V2, |
49 | 50 | CONST_OUTBOUND_TYPE_LOAD_BALANCER, CONST_OUTBOUND_TYPE_MANAGED_NAT_GATEWAY, |
50 | 51 | CONST_OUTBOUND_TYPE_USER_ASSIGNED_NAT_GATEWAY, |
51 | 52 | CONST_OUTBOUND_TYPE_USER_DEFINED_ROUTING, CONST_OUTBOUND_TYPE_NONE, |
|
119 | 120 | validate_load_balancer_outbound_ips, validate_load_balancer_outbound_ports, |
120 | 121 | validate_load_balancer_sku, validate_max_surge, validate_max_unavailable, |
121 | 122 | validate_nat_gateway_idle_timeout, |
122 | | - validate_nat_gateway_managed_outbound_ip_count, validate_network_policy, |
| 123 | + validate_nat_gateway_managed_outbound_ip_count, |
| 124 | + validate_nat_gateway_managed_outbound_ipv6_count, |
| 125 | + validate_nat_gateway_v2_params, validate_nat_gateway_v2_params_for_update, |
| 126 | + validate_network_policy, |
| 127 | + validate_outbound_type_sku, validate_outbound_type_sku_for_update, |
123 | 128 | validate_nodepool_id, validate_nodepool_labels, validate_nodepool_name, |
124 | 129 | validate_nodepool_tags, validate_nodes_count, validate_os_sku, |
125 | 130 | validate_pod_subnet_id, validate_ppg, validate_priority, |
|
197 | 202 |
|
198 | 203 | # consts for ManagedCluster |
199 | 204 | load_balancer_skus = [CONST_LOAD_BALANCER_SKU_BASIC, CONST_LOAD_BALANCER_SKU_STANDARD] |
| 205 | +nat_gateway_skus = [CONST_NAT_GATEWAY_SKU_STANDARD, CONST_NAT_GATEWAY_SKU_STANDARD_V2] |
200 | 206 | sku_names = [CONST_MANAGED_CLUSTER_SKU_NAME_BASE, CONST_MANAGED_CLUSTER_SKU_NAME_AUTOMATIC] |
201 | 207 | sku_tiers = [CONST_MANAGED_CLUSTER_SKU_TIER_FREE, CONST_MANAGED_CLUSTER_SKU_TIER_STANDARD, CONST_MANAGED_CLUSTER_SKU_TIER_PREMIUM] |
202 | 208 | network_plugins = [CONST_NETWORK_PLUGIN_KUBENET, CONST_NETWORK_PLUGIN_AZURE, CONST_NETWORK_PLUGIN_NONE] |
@@ -428,8 +434,21 @@ def load_arguments(self, _): |
428 | 434 | c.argument('load_balancer_backend_pool_type', arg_type=get_enum_type(backend_pool_types)) |
429 | 435 | c.argument('nrg_lockdown_restriction_level', arg_type=get_enum_type(nrg_lockdown_restriction_levels)) |
430 | 436 | c.argument('nat_gateway_managed_outbound_ip_count', type=int, validator=validate_nat_gateway_managed_outbound_ip_count) |
| 437 | + c.argument('nat_gateway_managed_outbound_ipv6_count', |
| 438 | + options_list=['--nat-gateway-managed-outbound-ipv6-count', '--nat-gw-ipv6-count'], |
| 439 | + type=int, validator=validate_nat_gateway_managed_outbound_ipv6_count, |
| 440 | + help='NAT gateway managed outbound IPv6 count. Only valid with --outbound-type ' |
| 441 | + 'managedNATGateway and --outbound-type-sku StandardV2.') |
431 | 442 | c.argument('nat_gateway_idle_timeout', type=int, validator=validate_nat_gateway_idle_timeout) |
432 | | - c.argument('outbound_type', arg_type=get_enum_type(outbound_types)) |
| 443 | + c.argument('nat_gateway_sku', options_list=['--outbound-type-sku'], arg_type=get_enum_type(nat_gateway_skus), validator=validate_outbound_type_sku) |
| 444 | + c.argument('nat_gateway_outbound_ip_ids', options_list=['--nat-gateway-outbound-ips', '--nat-gw-ips'], |
| 445 | + help='Comma-separated public IP resource IDs for the cluster NAT gateway. ' |
| 446 | + 'Only valid with --outbound-type-sku StandardV2.') |
| 447 | + c.argument('nat_gateway_outbound_ip_prefix_ids', |
| 448 | + options_list=['--nat-gateway-outbound-ip-prefixes', '--nat-gw-prefixes'], |
| 449 | + help='Comma-separated public IP prefix resource IDs for the cluster NAT gateway. ' |
| 450 | + 'Only valid with --outbound-type-sku StandardV2.') |
| 451 | + c.argument('outbound_type', arg_type=get_enum_type(outbound_types), validator=validate_nat_gateway_v2_params) |
433 | 452 | c.argument('network_plugin', arg_type=get_enum_type(network_plugins)) |
434 | 453 | c.argument('network_plugin_mode', arg_type=get_enum_type(network_plugin_modes)) |
435 | 454 | c.argument('network_policy', validator=validate_network_policy) |
@@ -695,11 +714,24 @@ def load_arguments(self, _): |
695 | 714 | c.argument("load_balancer_sku", arg_type=get_enum_type([CONST_LOAD_BALANCER_SKU_STANDARD]), validator=validate_load_balancer_sku) |
696 | 715 | c.argument('nrg_lockdown_restriction_level', arg_type=get_enum_type(nrg_lockdown_restriction_levels)) |
697 | 716 | c.argument('nat_gateway_managed_outbound_ip_count', type=int, validator=validate_nat_gateway_managed_outbound_ip_count) |
| 717 | + c.argument('nat_gateway_managed_outbound_ipv6_count', |
| 718 | + options_list=['--nat-gateway-managed-outbound-ipv6-count', '--nat-gw-ipv6-count'], |
| 719 | + type=int, validator=validate_nat_gateway_managed_outbound_ipv6_count, |
| 720 | + help='NAT gateway managed outbound IPv6 count. Only valid with --outbound-type ' |
| 721 | + 'managedNATGateway and --outbound-type-sku StandardV2.') |
698 | 722 | c.argument('nat_gateway_idle_timeout', type=int, validator=validate_nat_gateway_idle_timeout) |
| 723 | + c.argument('nat_gateway_sku', options_list=['--outbound-type-sku'], arg_type=get_enum_type(nat_gateway_skus), validator=validate_outbound_type_sku_for_update) |
| 724 | + c.argument('nat_gateway_outbound_ip_ids', options_list=['--nat-gateway-outbound-ips', '--nat-gw-ips'], |
| 725 | + help='Comma-separated public IP resource IDs for the cluster NAT gateway. ' |
| 726 | + 'Only valid with --outbound-type-sku StandardV2.') |
| 727 | + c.argument('nat_gateway_outbound_ip_prefix_ids', |
| 728 | + options_list=['--nat-gateway-outbound-ip-prefixes', '--nat-gw-prefixes'], |
| 729 | + help='Comma-separated public IP prefix resource IDs for the cluster NAT gateway. ' |
| 730 | + 'Only valid with --outbound-type-sku StandardV2.') |
699 | 731 | c.argument('network_dataplane', arg_type=get_enum_type(network_dataplanes)) |
700 | 732 | c.argument('network_plugin', arg_type=get_enum_type(network_plugins)) |
701 | 733 | c.argument('network_policy', arg_type=get_enum_type(network_policies)) |
702 | | - c.argument('outbound_type', arg_type=get_enum_type(outbound_types)) |
| 734 | + c.argument('outbound_type', arg_type=get_enum_type(outbound_types), validator=validate_nat_gateway_v2_params_for_update) |
703 | 735 | c.argument('auto_upgrade_channel', arg_type=get_enum_type(auto_upgrade_channels)) |
704 | 736 | c.argument('cluster_autoscaler_profile', nargs='+', options_list=["--cluster-autoscaler-profile", "--ca-profile"], |
705 | 737 | help="Comma-separated list of key=value pairs for configuring cluster autoscaler. Pass an empty string to clear the profile.") |
|
0 commit comments