def ParseCreateOptionsBase(args): """Parses the flags provided with the cluster creation command.""" if not (args.IsSpecified('enable_basic_auth') or args.IsSpecified('username')): log.warning('Starting in 1.12, new clusters will have basic ' 'authentication disabled by default. Basic authentication ' 'can be enabled (or disabled) manually using the ' '`--[no-]enable-basic-auth` flag.') if not args.IsSpecified('issue_client_certificate'): log.warning( 'Starting in 1.12, new clusters will not have a client ' 'certificate issued. You can manually enable (or disable) the ' 'issuance of the client certificate using the ' '`--[no-]issue-client-certificate` flag.') if args.IsSpecified('addons') and api_adapter.DASHBOARD in args.addons: log.warning( 'The `KubernetesDashboard` addon is deprecated, and will be removed as ' 'an option for new clusters starting in 1.15. It is recommended to use ' 'the Cloud Console to manage and monitor your Kubernetes clusters, ' 'workloads and applications. See: ' 'https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards' ) flags.MungeBasicAuthFlags(args) if args.IsSpecified('issue_client_certificate') and not ( args.IsSpecified('enable_basic_auth') or args.IsSpecified('username')): log.warning( 'If `--issue-client-certificate` is specified but ' '`--enable-basic-auth` or `--username` is not, our API will ' 'treat that as `--no-enable-basic-auth`.') flags.WarnForUnspecifiedIpAllocationPolicy(args) enable_autorepair = cmd_util.GetAutoRepair(args) flags.WarnForNodeModification(args, enable_autorepair) metadata = metadata_utils.ConstructMetadataDict(args.metadata, args.metadata_from_file) return api_adapter.CreateClusterOptions( accelerators=args.accelerator, additional_zones=args.additional_zones, addons=args.addons, cluster_ipv4_cidr=args.cluster_ipv4_cidr, cluster_secondary_range_name=args.cluster_secondary_range_name, cluster_version=args.cluster_version, node_version=args.node_version, create_subnetwork=args.create_subnetwork, disk_type=args.disk_type, enable_autorepair=enable_autorepair, enable_autoscaling=args.enable_autoscaling, enable_autoupgrade=cmd_util.GetAutoUpgrade(args), enable_stackdriver_kubernetes=args.enable_stackdriver_kubernetes if args.IsSpecified('enable_stackdriver_kubernetes') else None, enable_cloud_logging=args.enable_cloud_logging if args.IsSpecified('enable_cloud_logging') else None, enable_cloud_monitoring=args.enable_cloud_monitoring if args.IsSpecified('enable_cloud_monitoring') else None, enable_ip_alias=args.enable_ip_alias, enable_intra_node_visibility=args.enable_intra_node_visibility, enable_kubernetes_alpha=args.enable_kubernetes_alpha, enable_legacy_authorization=args.enable_legacy_authorization, enable_main_authorized_networks=args.enable_main_authorized_networks, enable_network_policy=args.enable_network_policy, enable_private_nodes=args.enable_private_nodes, enable_private_endpoint=args.enable_private_endpoint, image_type=args.image_type, image=args.image, image_project=args.image_project, image_family=args.image_family, issue_client_certificate=args.issue_client_certificate, labels=args.labels, local_ssd_count=args.local_ssd_count, maintenance_window=args.maintenance_window, main_authorized_networks=args.main_authorized_networks, main_ipv4_cidr=args.main_ipv4_cidr, max_nodes=args.max_nodes, max_nodes_per_pool=args.max_nodes_per_pool, min_cpu_platform=args.min_cpu_platform, min_nodes=args.min_nodes, network=args.network, node_disk_size_gb=utils.BytesToGb(args.disk_size), node_labels=args.node_labels, node_locations=args.node_locations, node_machine_type=args.machine_type, node_taints=args.node_taints, num_nodes=args.num_nodes, password=args.password, preemptible=args.preemptible, scopes=args.scopes, service_account=args.service_account, services_ipv4_cidr=args.services_ipv4_cidr, services_secondary_range_name=args.services_secondary_range_name, subnetwork=args.subnetwork, tags=args.tags, user=args.username, metadata=metadata, default_max_pods_per_node=args.default_max_pods_per_node, max_pods_per_node=args.max_pods_per_node, enable_tpu=args.enable_tpu, tpu_ipv4_cidr=args.tpu_ipv4_cidr, resource_usage_bigquery_dataset=args.resource_usage_bigquery_dataset, enable_network_egress_metering=args.enable_network_egress_metering, enable_resource_consumption_metering=\ args.enable_resource_consumption_metering)
def ParseCreateOptionsBase(args): """Parses the flags provided with the cluster creation command.""" if not (args.IsSpecified('enable_basic_auth') or args.IsSpecified('username')): log.warning('Starting in 1.12, new clusters will have basic ' 'authentication disabled by default. Basic authentication ' 'can be enabled (or disabled) manually using the ' '`--[no-]enable-basic-auth` flag.') if not args.IsSpecified('issue_client_certificate'): log.warning( 'Starting in 1.12, new clusters will not have a client ' 'certificate issued. You can manually enable (or disable) the ' 'issuance of the client certificate using the ' '`--[no-]issue-client-certificate` flag.') flags.MungeBasicAuthFlags(args) if args.IsSpecified('issue_client_certificate') and not ( args.IsSpecified('enable_basic_auth') or args.IsSpecified('username')): log.warning( 'If `--issue-client-certificate` is specified but ' '`--enable-basic-auth` or `--username` is not, our API will ' 'treat that as `--no-enable-basic-auth`.') if (args.IsSpecified('enable_cloud_endpoints') and properties.VALUES.container.new_scopes_behavior.GetBool()): raise util.Error( 'Flag --[no-]enable-cloud-endpoints is not allowed if ' 'property container/ new_scopes_behavior is set to true.') if args.IsSpecified('enable_autorepair'): enable_autorepair = args.enable_autorepair else: # Node pools using COS support auto repairs, enable it for them by default. # Other node pools using (Ubuntu, custom images) don't support node auto # repairs, attempting to enable autorepair for them will result in API call # failing so don't do it. enable_autorepair = ((args.image_type or '').lower() in ['', 'cos']) flags.WarnForUnspecifiedIpAllocationPolicy(args) flags.WarnForNodeModification(args, enable_autorepair) metadata = metadata_utils.ConstructMetadataDict(args.metadata, args.metadata_from_file) return api_adapter.CreateClusterOptions( accelerators=args.accelerator, additional_zones=args.additional_zones, addons=args.addons, cluster_ipv4_cidr=args.cluster_ipv4_cidr, cluster_secondary_range_name=args.cluster_secondary_range_name, cluster_version=args.cluster_version, node_version=args.node_version, create_subnetwork=args.create_subnetwork, disk_type=args.disk_type, enable_autorepair=enable_autorepair, enable_autoscaling=args.enable_autoscaling, enable_autoupgrade=args.enable_autoupgrade, enable_cloud_endpoints=args.enable_cloud_endpoints, enable_cloud_logging=args.enable_cloud_logging, enable_cloud_monitoring=args.enable_cloud_monitoring, enable_ip_alias=args.enable_ip_alias, enable_kubernetes_alpha=args.enable_kubernetes_alpha, enable_legacy_authorization=args.enable_legacy_authorization, enable_master_authorized_networks=args. enable_master_authorized_networks, enable_network_policy=args.enable_network_policy, enable_private_nodes=args.enable_private_nodes, enable_private_endpoint=args.enable_private_endpoint, image_type=args.image_type, image=args.image, image_project=args.image_project, image_family=args.image_family, issue_client_certificate=args.issue_client_certificate, labels=args.labels, local_ssd_count=args.local_ssd_count, maintenance_window=args.maintenance_window, master_authorized_networks=args.master_authorized_networks, master_ipv4_cidr=args.master_ipv4_cidr, max_nodes=args.max_nodes, max_nodes_per_pool=args.max_nodes_per_pool, min_cpu_platform=args.min_cpu_platform, min_nodes=args.min_nodes, network=args.network, node_disk_size_gb=utils.BytesToGb(args.disk_size), node_labels=args.node_labels, node_locations=args.node_locations, node_machine_type=args.machine_type, node_taints=args.node_taints, num_nodes=args.num_nodes, password=args.password, preemptible=args.preemptible, scopes=args.scopes, service_account=args.service_account, services_ipv4_cidr=args.services_ipv4_cidr, services_secondary_range_name=args.services_secondary_range_name, subnetwork=args.subnetwork, tags=args.tags, user=args.username, metadata=metadata, default_max_pods_per_node=args.default_max_pods_per_node, max_pods_per_node=args.max_pods_per_node, enable_tpu=args.enable_tpu, tpu_ipv4_cidr=args.tpu_ipv4_cidr)
def ParseCreateOptionsBase(args): """Parses the flags provided with the cluster creation command.""" flags.MungeBasicAuthFlags(args) if (args.IsSpecified('enable_cloud_endpoints') and properties.VALUES.container.new_scopes_behavior.GetBool()): raise util.Error('Flag --[no-]enable-cloud-endpoints is not allowed if ' 'property container/ new_scopes_behavior is set to true.') if args.IsSpecified('enable_autorepair'): enable_autorepair = args.enable_autorepair else: # Node pools using COS support auto repairs, enable it for them by default. # Other node pools using (Ubuntu, custom images) don't support node auto # repairs, attempting to enable autorepair for them will result in API call # failing so don't do it. enable_autorepair = ((args.image_type or '').lower() in ['', 'cos']) flags.WarnForUnspecifiedIpAllocationPolicy(args) cluster_ipv4_cidr = args.cluster_ipv4_cidr enable_master_authorized_networks = args.enable_master_authorized_networks return api_adapter.CreateClusterOptions( accelerators=args.accelerator, additional_zones=args.additional_zones, addons=args.addons, cluster_ipv4_cidr=cluster_ipv4_cidr, cluster_secondary_range_name=args.cluster_secondary_range_name, cluster_version=args.cluster_version, node_version=args.node_version, create_subnetwork=args.create_subnetwork, disk_type=args.disk_type, enable_autorepair=enable_autorepair, enable_autoscaling=args.enable_autoscaling, enable_autoupgrade=args.enable_autoupgrade, enable_cloud_endpoints=args.enable_cloud_endpoints, enable_cloud_logging=args.enable_cloud_logging, enable_cloud_monitoring=args.enable_cloud_monitoring, enable_ip_alias=args.enable_ip_alias, enable_kubernetes_alpha=args.enable_kubernetes_alpha, enable_legacy_authorization=args.enable_legacy_authorization, enable_master_authorized_networks=enable_master_authorized_networks, enable_network_policy=args.enable_network_policy, image_type=args.image_type, image=args.image, image_project=args.image_project, image_family=args.image_family, issue_client_certificate=args.issue_client_certificate, labels=args.labels, local_ssd_count=args.local_ssd_count, maintenance_window=args.maintenance_window, master_authorized_networks=args.master_authorized_networks, max_nodes=args.max_nodes, max_nodes_per_pool=args.max_nodes_per_pool, min_cpu_platform=args.min_cpu_platform, min_nodes=args.min_nodes, network=args.network, node_disk_size_gb=args.disk_size, node_labels=args.node_labels, node_locations=args.node_locations, node_machine_type=args.machine_type, node_taints=args.node_taints, num_nodes=args.num_nodes, password=args.password, preemptible=args.preemptible, scopes=args.scopes, service_account=args.service_account, services_ipv4_cidr=args.services_ipv4_cidr, services_secondary_range_name=args.services_secondary_range_name, subnetwork=args.subnetwork, tags=args.tags, user=args.username)